ia64/linux-2.6.18-xen.hg

view include/xen/pcifront.h @ 452:c7ed6fe5dca0

kexec: dont initialise regions in reserve_memory()

There is no need to initialise efi_memmap_res and boot_param_res in
reserve_memory() for the initial xen domain as it is done in
machine_kexec_setup_resources() using values from the kexec hypercall.

Signed-off-by: Simon Horman <horms@verge.net.au>
author Keir Fraser <keir.fraser@citrix.com>
date Thu Feb 28 10:55:18 2008 +0000 (2008-02-28)
parents 93a955c2bebb
children
line source
1 /*
2 * PCI Frontend - arch-dependendent declarations
3 *
4 * Author: Ryan Wilson <hap9@epoch.ncsc.mil>
5 */
6 #ifndef __XEN_ASM_PCIFRONT_H__
7 #define __XEN_ASM_PCIFRONT_H__
9 #include <linux/spinlock.h>
11 #ifdef __KERNEL__
13 #ifndef __ia64__
15 struct pcifront_device;
16 struct pci_bus;
18 struct pcifront_sd {
19 int domain;
20 struct pcifront_device *pdev;
21 };
23 static inline struct pcifront_device *
24 pcifront_get_pdev(struct pcifront_sd *sd)
25 {
26 return sd->pdev;
27 }
29 static inline void pcifront_init_sd(struct pcifront_sd *sd,
30 unsigned int domain, unsigned int bus,
31 struct pcifront_device *pdev)
32 {
33 sd->domain = domain;
34 sd->pdev = pdev;
35 }
37 #if defined(CONFIG_PCI_DOMAINS)
38 static inline int pci_domain_nr(struct pci_bus *bus)
39 {
40 struct pcifront_sd *sd = bus->sysdata;
41 return sd->domain;
42 }
43 static inline int pci_proc_domain(struct pci_bus *bus)
44 {
45 return pci_domain_nr(bus);
46 }
47 #endif /* CONFIG_PCI_DOMAINS */
49 static inline void pcifront_setup_root_resources(struct pci_bus *bus,
50 struct pcifront_sd *sd)
51 {
52 }
54 #else /* __ia64__ */
56 #include <linux/acpi.h>
57 #include <asm/pci.h>
58 #define pcifront_sd pci_controller
60 extern void xen_add_resource(struct pci_controller *, unsigned int,
61 unsigned int, struct acpi_resource *);
62 extern void xen_pcibios_setup_root_windows(struct pci_bus *,
63 struct pci_controller *);
65 static inline struct pcifront_device *
66 pcifront_get_pdev(struct pcifront_sd *sd)
67 {
68 return (struct pcifront_device *)sd->platform_data;
69 }
71 static inline void pcifront_setup_root_resources(struct pci_bus *bus,
72 struct pcifront_sd *sd)
73 {
74 xen_pcibios_setup_root_windows(bus, sd);
75 }
77 #endif /* __ia64__ */
79 extern struct rw_semaphore pci_bus_sem;
81 #endif /* __KERNEL__ */
83 #endif /* __XEN_ASM_PCIFRONT_H__ */