Messages in this thread | | | Date | Sat, 12 Jul 2008 00:49:53 -0700 | From | "Yinghai Lu" <> | Subject | Re: [patch 00/26] x64, x2apic/intr-remap: Interrupt-remapping and x2apic support |
| |
On Sat, Jul 12, 2008 at 12:02 AM, Eric W. Biederman <ebiederm@xmission.com> wrote: > "Yinghai Lu" <yhlu.kernel@gmail.com> writes: > >> On Fri, Jul 11, 2008 at 8:52 PM, Eric W. Biederman >> <ebiederm@xmission.com> wrote: >>> "Yinghai Lu" <yhlu.kernel@gmail.com> writes: >>> >>>> 1. wonder if x2apic can be use with uniprocessor. >>>> >>>> in APIC_init_uniprocessor, it will try to enable x2apic, but later >>>> >>>> apic_write(APIC_ID, SET_APIC_ID(boot_cpu_physical_apicid)); >>>> >>>> but SET_APIC_ID is still for xapic version. so need to GET_APIC_ID, >>>> SET_APIC_ID for different >>>> genapic like 32bit. >>>> >>>> 2 check_x2apic is called in setup_arch, but it only set apic_ops, >>>> and genapic still not changed, aka apic_flat... >>>> wonder if you need to call setup_apic_routing to set genapic. >>>> >>>> otherwise read_apic_id could have use the one from apic_flat....need >>>> to shift...... >>>> >>>> 3.or move read_apic_id to apic_ops intead...together with GET_APIC_ID too. >>>> but 32bit version seems like to put GET_APIC_ID with genapic... >>>> >>>> which one is better? 2 or 3 >>> >>> Z finish untangle SMP support from apic initialization and move the apic >>> initialization up into init_IRQ. >>> >>> That is better but is likely the wrong short term approach. >> >> plan to add get_apic_id(x) into 64bit genapic, and will use >> #define GET_APIC_ID(x) genapic->get_apic_id(x) >> #define read_apic_id() GET_APIC_ID(apic_read(APIC_ID)) >> >> so it is identical to 32bit, and we smooth the merging of 32/64 apic code >> >> also read the x2APIC spec pdf, it doesn't say anything about interrupt >> remapping...need to be used with x2apic... > > Clustered logical mode won't work as it requires > 16 bits of apicid. > So only flat physical mode will work.
current read_apic_id in genx2apic_cluster and genx2apic_phys is the same...
YH
| |