mirror of
https://github.com/fail0verflow/switch-coreboot.git
synced 2025-05-04 01:39:18 -04:00
gcc -fwhole-program needs to mark any function which is used outside the
current compilation unit to be marked as externally_visible. We have EXPORT_SYMBOL exactly for that purpose. This applies to the following symbols used by x86emu and/or vm86: - pci_read_config8 - pci_read_config16 - pci_read_config32 - pci_write_config8 - pci_write_config16 - pci_write_config32 - dev_find_pci_device - dev_find_slot It also applies to the main entry point of stage2: - stage2 With this patch, I can use -fwhole-program for stage2 without any problems. For standard compilation, this is a noop. 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@827 f3766cd6-281f-0410-b1cd-43a5c92072e9
This commit is contained in:
parent
62f8ea8e9b
commit
e5fcf247f2
3 changed files with 10 additions and 0 deletions
|
@ -24,6 +24,7 @@
|
||||||
#include <types.h>
|
#include <types.h>
|
||||||
#include <device/resource.h>
|
#include <device/resource.h>
|
||||||
#include <device/path.h>
|
#include <device/path.h>
|
||||||
|
#include <shared.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a 32-bit value from four characters. This is better
|
* Create a 32-bit value from four characters. This is better
|
||||||
|
@ -268,8 +269,10 @@ struct device * find_dev_path(struct bus *parent, struct device_path *path);
|
||||||
struct device * alloc_find_dev(struct bus *parent, struct device_path *path, struct device_id *id);
|
struct device * alloc_find_dev(struct bus *parent, struct device_path *path, struct device_id *id);
|
||||||
struct device * dev_find_device (struct device_id *devid, struct device * from);
|
struct device * dev_find_device (struct device_id *devid, struct device * from);
|
||||||
struct device *dev_find_pci_device(u16 vendor, u16 device, struct device *from);
|
struct device *dev_find_pci_device(u16 vendor, u16 device, struct device *from);
|
||||||
|
EXPORT_SYMBOL(dev_find_pci_device);
|
||||||
struct device * dev_find_class (unsigned int class, struct device * from);
|
struct device * dev_find_class (unsigned int class, struct device * from);
|
||||||
struct device * dev_find_slot (unsigned int bus, unsigned int devfn);
|
struct device * dev_find_slot (unsigned int bus, unsigned int devfn);
|
||||||
|
EXPORT_SYMBOL(dev_find_slot);
|
||||||
struct device * dev_find_slot_on_smbus (unsigned int bus, unsigned int addr);
|
struct device * dev_find_slot_on_smbus (unsigned int bus, unsigned int addr);
|
||||||
void default_device_constructor(struct device *dev, struct device_operations *constructor);
|
void default_device_constructor(struct device *dev, struct device_operations *constructor);
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,17 @@
|
||||||
#include <shared.h>
|
#include <shared.h>
|
||||||
|
|
||||||
u8 pci_read_config8(struct device * dev, unsigned where);
|
u8 pci_read_config8(struct device * dev, unsigned where);
|
||||||
|
EXPORT_SYMBOL(pci_read_config8);
|
||||||
u16 pci_read_config16(struct device * dev, unsigned where);
|
u16 pci_read_config16(struct device * dev, unsigned where);
|
||||||
|
EXPORT_SYMBOL(pci_read_config16);
|
||||||
u32 pci_read_config32(struct device * dev, unsigned where);
|
u32 pci_read_config32(struct device * dev, unsigned where);
|
||||||
|
EXPORT_SYMBOL(pci_read_config32);
|
||||||
void pci_write_config8(struct device * dev, unsigned where, u8 val);
|
void pci_write_config8(struct device * dev, unsigned where, u8 val);
|
||||||
|
EXPORT_SYMBOL(pci_write_config8);
|
||||||
void pci_write_config16(struct device * dev, unsigned where, u16 val);
|
void pci_write_config16(struct device * dev, unsigned where, u16 val);
|
||||||
|
EXPORT_SYMBOL(pci_write_config16);
|
||||||
void pci_write_config32(struct device * dev, unsigned where, u32 val);
|
void pci_write_config32(struct device * dev, unsigned where, u32 val);
|
||||||
|
EXPORT_SYMBOL(pci_write_config32);
|
||||||
|
|
||||||
u8 pci_conf1_read_config8(u32 bdf, int where);
|
u8 pci_conf1_read_config8(u32 bdf, int where);
|
||||||
EXPORT_SYMBOL(pci_conf1_read_config8);
|
EXPORT_SYMBOL(pci_conf1_read_config8);
|
||||||
|
|
|
@ -93,3 +93,4 @@ int stage2(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL(stage2);
|
||||||
|
|
Loading…
Add table
Reference in a new issue