u-boot/arch/x86/cpu/quark
Bin Meng 911d6f6932 x86: quark: Assign a unique I/O APIC ID
After power-on, both LAPIC and I/O APIC appear with the same APIC ID
zero, which creates an ID conflict. When generating MP table, U-Boot
reports zero as the LAPIC ID in the processor entry, and zero as the
I/O APIC ID in the I/O APIC as well as the I/O interrupt assignment
entries. Such MP table confuses Linux kernel and finally a kernel
panic is seen during boot:

  BUG: unable to handle kernel paging request at ffff9000
  IP: [<c101d462>] native_io_apic_write+0x22/0x30
  *pdpt = 00000000014fb001 *pde = 00000000014ff067 *pte = 0000000000000000
  Oops: 0002 [#1]
  Modules linked in:
  Pid: 1, comm: swapper Tainted: G        W    3.8.7 #3 intel galileo/galileo
  EIP: 0060:[<c101d462>] EFLAGS: 00010086 CPU: 0
  EIP is at native_io_apic_write+0x22/0x30
  ...
  Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2016-05-23 15:27:42 +08:00
..
car.S x86: quark: Add Cache-As-RAM initialization 2015-02-06 12:07:41 -07:00
dram.c x86: quark: Implement mrc cache 2015-10-21 07:46:27 -06:00
hte.c x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
hte.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
irq.c dm: x86: quark: Add an interrupt driver 2016-01-24 12:07:18 +08:00
Kconfig x86: tsc: Remove legacy timer codes 2015-12-01 06:26:35 -07:00
Makefile dm: x86: quark: Add an interrupt driver 2016-01-24 12:07:18 +08:00
mrc.c arch/x86/cpu/quark/mrc.c: Switch to U_BOOT_DATE / U_BOOT_TIME 2015-03-24 21:22:37 -06:00
mrc_util.c x86: quark: Use Quark's own PCI config APIs 2016-02-05 12:47:23 +08:00
mrc_util.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
msg_port.c x86: quark: Optimize MRC execution time 2015-09-09 07:48:03 -06:00
quark.c x86: quark: Assign a unique I/O APIC ID 2016-05-23 15:27:42 +08:00
smc.c x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00
smc.h x86: quark: MRC codes clean up 2015-03-24 21:22:37 -06:00