diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-12-26 23:05:23 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-12-26 23:05:23 +0000 |
commit | bd89f43f3254f672648ef292dff05736b339ab96 (patch) | |
tree | b378638163d5254bdb6ac831df06dbab0cf86197 | |
parent | 3f7cbbbdd4d45f30f1dfcb3905cee5e085f99011 (diff) |
target-ppc: workaround OpenBIOS limitation
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6133 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | hw/mac_nvram.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/mac_nvram.c b/hw/mac_nvram.c index 6bf666fd57..b4e9deb564 100644 --- a/hw/mac_nvram.c +++ b/hw/mac_nvram.c @@ -43,6 +43,8 @@ struct MacIONVRAMState { uint8_t *data; }; +#define DEF_SYSTEM_SIZE 0xc10 + /* Direct access to NVRAM */ uint32_t macio_nvram_read (void *opaque, uint32_t addr) { @@ -151,6 +153,10 @@ void pmac_format_nvram_partition (MacIONVRAMState *nvr, int len) nvr->data[end++] = '\0'; end = start + ((end - start + 15) & ~15); + /* XXX: OpenBIOS is not able to grow up a partition. Leave some space for + new variables. */ + if (end < DEF_SYSTEM_SIZE) + end = DEF_SYSTEM_SIZE; OpenBIOS_finish_partition(part_header, end - start); // free partition |