--- 915resolution/915resolution.c +++ 915resolution/915resolution.c @@ -66,12 +66,12 @@ typedef enum { CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, CT_945GME, - CT_946GZ, CT_G965, CT_Q965 + CT_946GZ, CT_G965, CT_Q965, CT_500GMA } chipset_type; char * chipset_type_names[] = { "UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", "945GME", - "946GZ", "G965", "Q965" + "946GZ", "G965", "Q965", "500GMA" }; typedef enum { @@ -226,6 +226,10 @@ type = CT_Q965; break; + case 0x81008086: + type = CT_500GMA; + break; + default: type = CT_UNKWN; break; @@ -446,6 +450,7 @@ case CT_946GZ: case CT_G965: case CT_Q965: + case CT_500GMA: grub_outl(0x80000090, 0xcf8); map->b1 = grub_inb(0xcfd); map->b2 = grub_inb(0xcfe); @@ -485,6 +490,7 @@ case CT_946GZ: case CT_G965: case CT_Q965: + case CT_500GMA: grub_outl(0x80000090, 0xcf8); grub_outb(map->b1, 0xcfd); grub_outb(map->b2, 0xcfe); @@ -756,6 +762,9 @@ else if (!grub_strcmp(argv[index], "Q965")) { *forced_chipset = CT_Q965; } + else if (!grub_strcmp(argv[index], "500GMA")) { + *forced_chipset = CT_500GMA; + } else { *forced_chipset = CT_UNKWN; }