diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-07-02 19:53:54 -0700 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-07-07 17:15:17 +0200 |
commit | 85d80276281e179b4e6a896e731090e9580ce8b9 (patch) | |
tree | ad9c9ae69882d18088c692f0bd7ab086335a01ca /src/arch/x86 | |
parent | 3727776a8b423c55d40cf7627e27b8b03175d74d (diff) | |
download | coreboot-85d80276281e179b4e6a896e731090e9580ce8b9.tar.xz |
acpigen_write_package: Return pointer to package element counter
Have acpigen_write_package() return a pointer to the package element
counter so it can be used for dynamic package generation where needed.
Change-Id: Id7f6dd03511069211ba3ee3eb29a6ca1742de847
Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Reviewed-on: https://review.coreboot.org/15536
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/acpigen.c | 5 | ||||
-rw-r--r-- | src/arch/x86/include/arch/acpigen.h | 2 |
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); |