switch-coreboot/include/device
Carl-Daniel Hailfinger 9342d1be4e The ABI wrapper from r775 made the SHARED definitions obsolete. They're
not that readable anyway, so kill them and use standard definitions
instead.

Introduce EXPORT_SYMBOL for shared symbols. EXPORT_SYMBOL tells the
compiler to use the standard calling conventions for a given symbol and
not to optimize it away.
Benefits:
- We can later use gcc -combine -fwhole-program without problems.
- It's a correctness fix for some optimizations.
- We could check for duplicated exported functions at link time.
- We could check whether exported functions are linked into initram or
stage2 by accident.
- We could generate usage statistics and possibly optimize away unused
shared functions.
- Through the above points, significant side reductions of 10-40%

Build and boot tested on qemu.
Build tested on all targets.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Ronald G. Minnich <rminnich@gmail.com>


git-svn-id: svn://coreboot.org/repository/coreboot-v3@780 f3766cd6-281f-0410-b1cd-43a5c92072e9
2008-08-17 21:51:13 +00:00
..
agp.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
cardbus.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
device.h Make some things (die, mem*, resourcemap code, option code) SHARED. 2008-08-12 03:39:39 +00:00
hypertransport.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
hypertransport_def.h Use the same naming convention and placement for "include guards" in 2007-05-21 06:48:47 +00:00
path.h The named unions in the device tree code are obnoxious and degrade 2008-08-10 00:20:24 +00:00
pci.h Console: 2008-08-09 21:03:57 +00:00
pci_def.h Console: 2008-08-09 21:03:57 +00:00
pci_ids.h Trivial: Add a missing newline in front of PCI_DEVICE_ID_AMD_LXBRIDGE define, lost in r732 2008-08-11 13:23:40 +00:00
pci_ops.h The ABI wrapper from r775 made the SHARED definitions obsolete. They're 2008-08-17 21:51:13 +00:00
pci_rom.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
pcie.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
pcix.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
pnp.h Various coding style and cosmetic fixes (trivial). 2007-10-31 02:40:17 +00:00
resource.h Use the same naming convention and placement for "include guards" in 2007-05-21 06:48:47 +00:00
smbus.h A lot of the v3 header files require other header files to be #included 2008-02-19 00:34:32 +00:00
smbus_def.h Use the same naming convention and placement for "include guards" in 2007-05-21 06:48:47 +00:00