Author: oxygene
Date: 2009-04-21 22:34:36 +0200 (Tue, 21 Apr 2009)
New Revision: 4154

Modified:
   trunk/coreboot-v2/src/arch/i386/boot/acpigen.c
   trunk/coreboot-v2/src/arch/i386/include/arch/acpigen.h
Log:
Add a helper function to acpigen to create _PSD tables.

Signed-off-by: Patrick Georgi <[email protected]>
Acked-by: Stefan Reinauer <[email protected]>


Modified: trunk/coreboot-v2/src/arch/i386/boot/acpigen.c
===================================================================
--- trunk/coreboot-v2/src/arch/i386/boot/acpigen.c      2009-04-21 20:31:18 UTC 
(rev 4153)
+++ trunk/coreboot-v2/src/arch/i386/boot/acpigen.c      2009-04-21 20:34:36 UTC 
(rev 4154)
@@ -260,3 +260,21 @@
        acpigen_patch_len(len - 1);
        return len;
 }
+
+int acpigen_write_PSD_package(u32 domain, u32 numprocs, PSD_coord coordtype)
+{
+       int len, lenh, lenp;
+       lenh = acpigen_write_name("_PSD");
+       lenp = acpigen_write_package(1);
+       len = acpigen_write_package(5);
+       len += acpigen_write_byte(5); // 5 values
+       len += acpigen_write_byte(0); // revision 0
+       len += acpigen_write_dword(domain);
+       len += acpigen_write_dword(coordtype);
+       len += acpigen_write_dword(numprocs);
+       acpigen_patch_len(len-1);
+       len += lenp;
+       acpigen_patch_len(len-1);
+       return len + lenh;
+}
+

Modified: trunk/coreboot-v2/src/arch/i386/include/arch/acpigen.h
===================================================================
--- trunk/coreboot-v2/src/arch/i386/include/arch/acpigen.h      2009-04-21 
20:31:18 UTC (rev 4153)
+++ trunk/coreboot-v2/src/arch/i386/include/arch/acpigen.h      2009-04-21 
20:34:36 UTC (rev 4154)
@@ -40,5 +40,7 @@
 int acpigen_write_empty_PCT(void);
 int acpigen_write_PSS_package(u32 coreFreq, u32 power, u32 transLat, u32 
busmLat,
                        u32 control, u32 status);
+typedef enum { SW_ALL=0xfc, SW_ANY=0xfd, HW_ALL=0xfe } PSD_coord;
+int acpigen_write_PSD_package(u32 domain, u32 numprocs, PSD_coord coordtype);
 int acpigen_write_processor(u8 cpuindex, u32 pblock_addr, u8 pblock_len);
 #endif


-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to