3 #define __SIMPLE_DEVICE__
21 static const u16 ggc2uma[] = {0, 1, 4, 8, 16, 32, 48, 64, 128, 256, 96, 160, 224, 352};
24 die(
"Bad Graphics Mode Select (GMS) setting.\n");
26 return ggc2uma[gms] << 10;
32 static const u8 ggc2gtt[] = {0, 1, 0, 2, 0, 0, 0, 0, 0, 2, 3, 4};
35 die(
"Bad GTT Graphics Memory Size (GGMS) setting.\n");
37 return ggc2gtt[gsm] << 10;
46 switch ((esmramc >> 1) & 3) {
55 die(
"Bad TSEG setting.\n");
77 return (
void *) top_of_ram;
void postcar_frame_add_mtrr(struct postcar_frame *pcf, uintptr_t addr, size_t size, int type)
void __noreturn die(const char *fmt,...)
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)
void * cbmem_top_chipset(void)
void fill_postcar_frame(struct postcar_frame *pcf)
void smm_region(uintptr_t *start, size_t *size)
u32 decode_igd_memory_size(const u32 gms)
u32 decode_tseg_size(u8 esmramc)
u32 decode_igd_gtt_size(const u32 gsm)
Decodes used Graphics Stolen Memory (GSM) to kilobytes.
static size_t northbridge_get_tseg_size(void)
static uintptr_t northbridge_get_tseg_base(void)