diff options
Diffstat (limited to 'src/northbridge/intel/i945/ram_calc.c')
-rw-r--r-- | src/northbridge/intel/i945/ram_calc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/northbridge/intel/i945/ram_calc.c b/src/northbridge/intel/i945/ram_calc.c index b161431e15..4349d19ea7 100644 --- a/src/northbridge/intel/i945/ram_calc.c +++ b/src/northbridge/intel/i945/ram_calc.c @@ -19,6 +19,7 @@ #include <arch/io.h> #include <cbmem.h> #include "i945.h" +#include <console/console.h> static uintptr_t smm_region_start(void) { @@ -56,3 +57,15 @@ void *cbmem_top(void) { return (void *) smm_region_start(); } + +/** Decodes used Graphics Mode Select (GMS) to kilobytes. */ +u32 decode_igd_memory_size(const u32 gms) +{ + static const u16 ggc2uma[] = { 0, 1, 4, 8, 16, 32, + 48, 64 }; + + if (gms > ARRAY_SIZE(ggc2uma)) + die("Bad Graphics Mode Select (GMS) setting.\n"); + + return ggc2uma[gms] << 10; +} |