summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/acpigen.c5
-rw-r--r--src/arch/x86/include/arch/acpigen.h2
2 files changed, 5 insertions, 2 deletions
diff --git a/src/arch/x86/acpigen.c b/src/arch/x86/acpigen.c
index c370321835..d37568c92f 100644
--- a/src/arch/x86/acpigen.c
+++ b/src/arch/x86/acpigen.c
@@ -87,12 +87,15 @@ void acpigen_emit_dword(unsigned int data)
acpigen_emit_byte((data >> 24) & 0xff);
}
-void acpigen_write_package(int nr_el)
+char *acpigen_write_package(int nr_el)
{
+ char *p;
/* package op */
acpigen_emit_byte(0x12);
acpigen_write_len_f();
+ p = acpigen_get_current();
acpigen_emit_byte(nr_el);
+ return p;
}
void acpigen_write_byte(unsigned int data)
diff --git a/src/arch/x86/include/arch/acpigen.h b/src/arch/x86/include/arch/acpigen.h
index 9e6ef2958f..9035f27b86 100644
--- a/src/arch/x86/include/arch/acpigen.h
+++ b/src/arch/x86/include/arch/acpigen.h
@@ -38,7 +38,7 @@ void acpigen_write_len_f(void);
void acpigen_pop_len(void);
void acpigen_set_current(char *curr);
char *acpigen_get_current(void);
-void acpigen_write_package(int nr_el);
+char *acpigen_write_package(int nr_el);
void acpigen_write_zero(void);
void acpigen_write_one(void);
void acpigen_write_ones(void);