22 u32 tomk, tolud, delta_cbmem;
44 printk(
BIOS_DEBUG,
"TOUUD 0x%llx TOLUD 0x%08x TOM 0x%llx\n", touud, tolud, tom);
57 uma_sizek += gms_sizek;
63 uma_sizek += gsm_sizek;
68 uma_sizek += tseg_sizek;
77 uma_sizek += delta_cbmem;
79 printk(
BIOS_DEBUG,
"Unused RAM between cbmem_top and TOM: 0x%xK\n", delta_cbmem);
88 (0x100000 - 0xc0000) >> 10);
89 ram_resource(dev, index++, 0x100000 >> 10, (tomk - (0x100000 >> 10)));
96 if (touud > top32memk) {
97 ram_resource(dev, index++, top32memk, touud - top32memk);
99 (touud - top32memk) >> 10);
103 tomk << 10, uma_sizek << 10);
151 die(
"could not find pci 00:00.0!\n");
190 static void hide_pci_dev(
const int dev,
int functions,
const int dev_bit_base)
192 for (; functions >= 0; functions--)
207 if (!(deven & (0xf << 6)))
#define printk(level,...)
void __noreturn die(const char *fmt,...)
void generate_cpu_entries(const struct device *device)
void assign_resources(struct bus *bus)
Assign the computed resources to the devices on the bus.
DEVTREE_CONST struct device * pcidev_on_root(uint8_t dev, uint8_t fn)
void fixed_mem_resource(struct device *dev, unsigned long index, unsigned long basek, unsigned long sizek, unsigned long type)
void mmconf_resource(struct device *dev, unsigned long index)
void report_resource_stored(struct device *dev, const struct resource *resource, const char *comment)
Print the resource that was just stored.
u32 decode_igd_memory_size(u32 gms)
Decodes used Graphics Mode Select (GMS) to kilobytes.
u32 decode_tseg_size(u8 esmramc)
u32 decode_igd_gtt_size(u32 gsm)
Decodes used Graphics Stolen Memory (GSM) to kilobytes.
#define uma_resource(dev, idx, basek, sizek)
static void noop_read_resources(struct device *dev)
Standard device operations function pointers shims.
static void noop_set_resources(struct device *dev)
static void mp_cpu_bus_init(struct device *dev)
#define ram_resource(dev, idx, basek, sizek)
#define mmio_resource(dev, idx, basek, sizek)
#define reserved_ram_resource(dev, idx, basek, sizek)
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline void pci_update_config32(const struct device *dev, u16 reg, u32 mask, u32 or)
static __always_inline void pci_or_config16(const struct device *dev, u16 reg, u16 ormask)
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline u8 pci_read_config8(const struct device *dev, u16 reg)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
#define BIOS_INFO
BIOS_INFO - Expected events.
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
unsigned long northbridge_write_acpi_tables(struct device *device, unsigned long start)
void northbridge_write_smram(u8 smram)
static struct device_operations cpu_bus_ops
static struct device_operations pci_domain_ops
static void enable_dev(struct device *dev)
static void hide_pci_fn(const int dev_bit_base, const struct device *dev)
static void mch_domain_set_resources(struct device *dev)
static const int legacy_hole_base_k
static void hide_pci_dev(const int dev, int functions, const int dev_bit_base)
static void x4x_init(void *const chip_info)
struct chip_operations northbridge_intel_x4x_ops
static void mch_domain_read_resources(struct device *dev)
static void mch_domain_init(struct device *dev)
static const char * northbridge_acpi_name(const struct device *dev)
@ DEVICE_PATH_CPU_CLUSTER
#define PCI_DEVFN(slot, func)
void pci_domain_read_resources(struct device *dev)
void pci_domain_scan_bus(struct device *dev)
Scan a PCI domain.
#define IORESOURCE_RESERVE
void(* read_resources)(struct device *dev)
enum device_path_type type
struct device_operations * ops
DEVTREE_CONST struct bus * bus
DEVTREE_CONST struct bus * link_list
DEVTREE_CONST struct resource * resource_list
DEVTREE_CONST void * chip_info
DEVTREE_CONST struct resource * next