diff options
author | Dan Williams <dan.j.williams@intel.com> | 2011-03-08 10:36:19 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2011-03-15 15:34:15 -0700 |
commit | 5d94e81f69d4b1d1102d3ab557ce0a817c11fbbb (patch) | |
tree | 9cd387df3bd7660708b153a745c9b45a7bc16139 /arch/x86/include | |
parent | 45bb1674b976ef81429c1e42de05844b49d45dea (diff) | |
download | op-kernel-dev-5d94e81f69d4b1d1102d3ab557ce0a817c11fbbb.zip op-kernel-dev-5d94e81f69d4b1d1102d3ab557ce0a817c11fbbb.tar.gz |
x86: Introduce pci_map_biosrom()
The isci driver needs to retrieve its preboot OROM image which contains
necessary runtime parameters like platform specific sas addresses and
phy configuration. There is no ROM BAR associated with this area,
instead we will need to scan legacy expansion ROM space.
1/ Promote the probe_roms_32 implementation to x86-64
2/ Add a facility to find and map an adapter rom by pci device (according to
PCI Firmware Specification Revision 3.0)
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
LKML-Reference: <20110308183226.6246.90354.stgit@localhost6.localdomain6>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/probe_roms.h | 8 | ||||
-rw-r--r-- | arch/x86/include/asm/setup.h | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/arch/x86/include/asm/probe_roms.h b/arch/x86/include/asm/probe_roms.h new file mode 100644 index 0000000..4950a0b --- /dev/null +++ b/arch/x86/include/asm/probe_roms.h @@ -0,0 +1,8 @@ +#ifndef _PROBE_ROMS_H_ +#define _PROBE_ROMS_H_ +struct pci_dev; + +extern void __iomem *pci_map_biosrom(struct pci_dev *pdev); +extern void pci_unmap_biosrom(void __iomem *rom); +extern size_t pci_biosrom_size(struct pci_dev *pdev); +#endif diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index db8aa19..03d3a32 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h @@ -104,10 +104,10 @@ void *extend_brk(size_t size, size_t align); type *name; \ RESERVE_BRK(name, sizeof(type) * entries) +extern void probe_roms(void); #ifdef __i386__ void __init i386_start_kernel(void); -extern void probe_roms(void); #else void __init x86_64_start_kernel(char *real_mode); |