From 03a886252f6555d6b0af76b654e76459642b89da Mon Sep 17 00:00:00 2001
From: Yunguo Wei <yunguo.wei@windriver.com>
Date: Tue, 3 Dec 2013 18:12:50 +0800
Subject: [PATCH] pmtools: switch to dynamic buffer for huge ACPI tables

For servers like Canoe Pass or Thunder Ridge, there are much more
entries in ACPI table, so original 1K buffer is insufficient.

We switch to dynamic buffer on this situation.

Signed-off-by: Yunguo Wei <yunguo.wei@windriver.com>


Upstream-Status: Pending

Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
 madt/madt.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/madt/madt.c b/madt/madt.c
index aed965c..8770cd5 100644
--- a/madt/madt.c
+++ b/madt/madt.c
@@ -51,7 +51,9 @@ get_next_entry(acpi_table_entry_header * entry_header)
 	return retval;
 }
 
-u8	buffer[1024];
+
+u8	buf[1024];
+u8	*buffer = buf;
 
 main()
 {
@@ -75,6 +77,17 @@ main()
 
 	if (verbose) printf("header.length %d\n", madt_header->header.length);
 
+	/* if 1K buffer is insufficient for acpi table, switch to a larger memory buffer */
+	if(expected_length > sizeof(buf)) {
+		buffer = malloc(expected_length);
+		if (!buffer) {
+			perror("malloc");
+			exit(1);
+		}
+		memset(buffer, 0, expected_length);
+		memcpy(buffer, buf, sizeof(struct acpi_table_madt));
+	}
+
 	acpi_table_print((void*)&(buffer[bytes_read]), 0);
 
 	bytes_read = sizeof(struct acpi_table_madt);
@@ -118,6 +131,9 @@ done:
 		printf("Checksum 0x%x != 0; 0x%x in header ERROR\n", csum,
 			 madt_header->header.checksum);
 
+	if(buffer != buf)
+		free(buffer);
+
 	return 0;
 }
 
-- 
1.8.1.2

