ACPI: Add function for writing _CST tables
[coreboot.git] / src / arch / x86 / include / arch / acpigen.h
index 6f13a7ae1f212dbcfc8ddf38b5d91be08b94588a..7feaa8e1309550baf497acdfb96c22244d8bac9b 100644 (file)
 #include <stdlib.h>
 #include <stdint.h>
 
+struct cst_entry {
+       int type;
+       int width;
+       int offset;
+       int addrsize;
+       u64 address;
+       int ctype;
+       int latency;
+       int power;
+};
+
 void acpigen_patch_len(int len);
 void acpigen_set_current(char *curr);
 char *acpigen_get_current(void);
@@ -45,9 +56,11 @@ 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_CST_package(struct cst_entry *entry, int nentries);
 int acpigen_write_processor(u8 cpuindex, u32 pblock_addr, u8 pblock_len);
 int acpigen_write_mem32fixed(int readwrite, u32 base, u32 size);
 int acpigen_write_io16(u16 min, u16 max, u8 align, u8 len, u8 decode16);
+int acpigen_write_register(int type, int width, int offset, int addrsize, u64 address);
 int acpigen_write_resourcetemplate_header(void);
 int acpigen_write_resourcetemplate_footer(int len);
 int acpigen_write_mainboard_resource_template(void);