12 #include <soc/iomap.h>
14 #include <soc/pci_devs.h>
15 #include <soc/ramstage.h>
54 #define RES_IN_KiB(r) ((r) >> 10)
71 unsigned long bmbound_k;
72 unsigned long bmbound_hi;
75 unsigned long tseg_base_k;
76 unsigned long tseg_top_k;
77 unsigned long fsp_res_base_k;
78 unsigned long base_k, size_k;
79 const unsigned long four_gig_kib = (4 << (30 - 10));
80 void *fsp_reserved_memory_area;
89 tseg_top_k = tseg_base_k +
RES_IN_KiB(smm_size);
93 if (fsp_reserved_memory_area) {
94 fsp_res_base_k =
RES_IN_KiB((
unsigned int)fsp_reserved_memory_area);
97 fsp_res_base_k = tseg_base_k;
111 size_k = fsp_res_base_k - base_k;
115 base_k = fsp_res_base_k;
116 size_k = tseg_top_k - base_k;
121 mmio_resource(dev, index++, tseg_top_k, bmbound_k - tseg_top_k);
129 if (bmbound_hi > four_gig_kib)
130 ram_resource(dev, index++, four_gig_kib, bmbound_hi - four_gig_kib);
138 mmio_resource(dev, index++, (0xa0000 >> 10), (0xc0000 - 0xa0000) >> 10);
164 static const struct pci_driver nc_driver
__pci_driver = {
void acpigen_pop_len(void)
void acpigen_write_scope(const char *name)
void acpigen_write_name_dword(const char *name, uint32_t val)
uint32_t iosf_bunit_read(int reg)
uint32_t nc_read_top_of_low_memory(void)
static const struct pci_driver nc_driver __pci_driver
static struct device_operations nc_ops
static void nc_read_resources(struct device *dev)
static void nc_generate_ssdt(const struct device *dev)
void * cbmem_find(u32 id)
#define CBMEM_ID_FSP_RESERVED_MEMORY
void generate_cpu_entries(const struct device *device)
void smm_region(uintptr_t *start, size_t *size)
#define ram_resource(dev, idx, basek, sizek)
#define mmio_resource(dev, idx, basek, sizek)
#define reserved_ram_resource(dev, idx, basek, sizek)
#define LAPIC_DEFAULT_BASE
void pci_dev_read_resources(struct device *dev)
struct pci_operations soc_pci_ops
void(* read_resources)(struct device *dev)