coreboot-kgpe-d16/src/southbridge/intel/lynxpoint
Aaron Durbin 9ef9d85976 bootstate: use structure pointers for scheduling callbacks
The GCC 4.9.2 update showed that the boot_state_init_entry
structures were being padded and assumed to be aligned in to an
increased size. The bootstate scheduler for static entries,
boot_state_schedule_static_entries(), was then calculating the
wrong values within the array. To fix this just use a pointer to
the boot_state_init_entry structure that needs to be scheduled.

In addition to the previous issue noted above, the .bs_init
section was sitting in the read only portion of the image while
the fields within it need to be writable. Also, the
boot_state_schedule_static_entries() was using symbol comparison
to terminate a loop which in C can lead the compiler to always
evaluate the loop at least once since the language spec indicates
no 2 symbols can be the same value.

Change-Id: I6dc5331c2979d508dde3cd5c3332903d40d8048b
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/8699
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2015-03-18 16:41:43 +01:00
..
acpi intel: Remove IRQ1 from possible PIRQ assignemnt. 2014-11-25 23:47:20 +01:00
acpi.c lynxpoint: Change OEM table ID for serialio. 2014-10-10 08:55:48 +02:00
azalia.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
bootblock.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
chip.h intel/lynxpoint: Allow to always route USB3 ports to XHCI 2014-07-11 18:08:04 +02:00
early_me.c Replace hlt() loops with halt() 2014-11-30 12:20:07 +01:00
early_pch.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
early_smbus.c southbridge: Drop print_ implementation from non-romcc boards 2015-01-06 20:15:20 +01:00
early_spi.c
early_usb.c
elog.c intel boards: Use acpi_is_wakeup_s3() 2014-06-21 08:04:52 +02:00
finalize.c
gpio.c
gpio.h
hda_verb.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
hda_verb.h x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
Kconfig intel/lynxpoint/Kconfig: Remove duplicate option IFD_BIN_PATH 2014-07-17 10:16:42 +02:00
lp_gpio.c
lp_gpio.h
lpc.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
Makefile.inc azalia: Shrink boilerplate 2014-09-13 00:42:14 +02:00
me.h
me_9.x.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
me_status.c
nvs.h haswell: Move to per-device ACPI 2014-09-22 20:06:13 +02:00
pch.c
pch.h x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
pci.c
pcie.c
pmutil.c
rcba.c southbridge: Trivial - drop trailing blank lines at EOF 2014-07-08 13:53:21 +02:00
reset.c
sata.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
serialio.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
smbus.c
smbus.h southbridge: Trivial - drop trailing blank lines at EOF 2014-07-08 13:53:21 +02:00
smi.c bootstate: use structure pointers for scheduling callbacks 2015-03-18 16:41:43 +01:00
smihandler.c smihandler.c: Fix doxygen errors in southbridge_smi_handler 2015-01-04 20:06:57 +01:00
usb_ehci.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
usb_xhci.c x86: Change MMIO addr in readN(addr)/writeN(addr, val) to pointer 2015-02-15 08:50:22 +01:00
watchdog.c