[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v3 01/11] x86/boot: enumerate documentation for the x86 hardware_subarch



David, please note below the highlighted code.

On Wed, Feb 24, 2016 at 09:32:59AM +0100, Ingo Molnar wrote:
> 
> * Luis R. Rodriguez <mcgrof@xxxxxxxxxx> wrote:
> For hard coded platform quirks I'd suggest we add x86_platform.quirks flags. 
> For 
> example the F00F hack for Xen could be done via:
> 
>       x86_platform.quirks.idt_remap = 0;
> 
> and would be set like this during early init:
> 
> void early_init_platform_quirks(void)
> {
>       x86_platform.legacy.ebda_search = 0;
>       x86_platform.quirks.idt_remap = 1;
> 
>       switch (boot_params.hdr.hardware_subarch) {
>               case X86_SUBARCH_PC:
>                       x86_platform.legacy.ebda_search = 1;
>                       break;
>               case X86_SUBARCH_XEN:
>                       x86_platform.quirks.idt_remap = 0;
>                       break;
>               case X86_SUBARCH_LGUEST:
>                       x86_platform.quirks.idt_remap = 0;
>                       break;
>       }
> }
> 
> And if also add the legacy RTC flag, it becomes:
> 
> void early_init_hardcoded_platform_quirks(void)
> {
>       x86_platform.legacy.ebda_search = 0;
>       x86_platform.quirks.idt_remap = 1;
>       x86_platform.legacy.rtc = 1;
> 
>       switch (boot_params.hdr.hardware_subarch) {
>               case X86_SUBARCH_PC:
>                       x86_platform.legacy.ebda_search = 1;
>                       break;
>               case X86_SUBARCH_XEN:
>                       x86_platform.quirks.idt_remap = 0;
>                       x86_platform.legacy.rtc = 0;
>                       break;
>               case X86_SUBARCH_LGUEST:
>                       x86_platform.quirks.idt_remap = 0;
>                       x86_platform.legacy.rtc = 0;
>                       break;
>       }
> }
> 
> Note that both opt-in and opt-out quirks/legacies are possible this way, and 
> note 
> how cleanly and consistently it's all organized: setup of all hard coded 
> legacies/quirks is concentrated in a single function, and the actual usage 
> sites 
> don't know anything about subarchitectures.

<-- snip -- > 

So.. I went with Ingo's template.

> Furthermore we should probably move a few other existing legacies to this 
> flag 
> space as well, to make all this more consistent.

And this suggestion should explain a bit of the effort I put into making
room for other legacy things, which I'll elaborate in the other thread.

  Luis

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.