On 22 June 2015 at 22:18, Bin Meng <[email protected]> wrote: > Implement write_mp_table() to create a minimal working MP table. > This includes an MP floating table, a configuration table header > and all of the 5 base configuration table entries. The I/O interrupt > assignment table entry is created based on the same information used > in the creation of PIRQ routing table from device tree. A check > duplicated entry logic is applied to prevent writing multiple I/O > interrupt entries with the same information. > > Use a Kconfig option GENERATE_MP_TABLE to tell U-Boot whether we > need actually write the MP table at the F seg, just like we did for > PIRQ routing and SFI tables. With MP table existence, linux kernel > will switch to I/O APIC and local APIC to process all the peripheral > interrupts instead of 8259 PICs. This takes full advantage of the > multicore hardware and the SMP kernel. > > Signed-off-by: Bin Meng <[email protected]> > > --- > > Changes in v2: > - Avoid using u16 and u8 in parameters > - Add a comment block for check_dup_entry() > - Return and check error codes of mptable_add_intsrc() > - Remove __weak for write_mp_table() > > arch/x86/Kconfig | 9 +++ > arch/x86/include/asm/mpspec.h | 10 +++ > arch/x86/lib/mpspec.c | 157 > ++++++++++++++++++++++++++++++++++++++++++ > arch/x86/lib/tables.c | 5 ++ > 4 files changed, 181 insertions(+)
Acked-by: Simon Glass <[email protected]> _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

