On Thu, Jan 31, 2013 at 3:10 PM, Alexander Graf agraf@suse.de wrote:
On 30.01.2013, at 11:29, Amadeusz Sławiński wrote:
Fix double nvram entry on newworld
There are two nvram entries on newworld (for example qemu -M mac99)
The first one (nvram@fff04000) has initialized .properties while the other one has words.
0 > dev / ls ... fff75e24 pci@f2000000 fff77848 nvram@fff04000 fff778e0 nvram ok 0 > dev /nvram@fff04000 ok 0 > words ok 0 > .properties name "nvram" #bytes 2000 reg fff04000 00004000 device_type "nvram" compatible "nvram,flash" ok 0 > dev /nvram@0 ok 0 > words close open seek write read size ok 0 > .properties name "nvram" ok
This patch fixes initialization, so only one node is created containing both .properties and words.
0 > dev / ls ... fff75e24 pci@f2000000 fff77868 nvram@fff04000 ok 0 > dev /nvram@fff04000 ok 0 > words close open seek write read size ok 0 > .properties name "nvram" #bytes 2000 reg fff04000 00004000 device_type "nvram" compatible "nvram,flash" ok
Signed-off-by: Amadeusz Sławiński amade@asmblr.net
Blue, once this patch is in the tree, do you think you could rebuild OpenBIOS for QEMU, so that it will land in 1.4?
Sorry, it didn't happen before the freeze. I'm not sure if new OpenBIOS images qualifies as a bug fix. Most of the changes since r1063 (now in QEMU) are bug fixes, though: a5af2b3 macio.c: Fix double nvram entry on newworld ff86ced SPARC32: WIM register update delay 8e9793b SPARC32: Clear FP register c23f9f7 esp.c: fix SCSI command code displayed in do_command() debug statement. 39988d6 esp.c: fix TEST_UNIT_READY SCSI command length. 75e29de Revert configuration change from previous commit. d5df782 video.c: Fix compilation when CONFIG_DEBUG_CONSOLE_VIDEO is set to false. 91119ec video.c: Fix incorrect sized type in fill_rect(). 3caf41b mac-parts.c: Update bootpath to reflect the chosen partition if unspecified. ec237bb Switch partition argument parsing to use left-parse-string as per CHRP bindings. e4ada76 PPC: Mimic Apple's OpenFirmware behaviour if a divide by zero occurs. 7e64c09 mac-parts.c: Add Apple_Bootstrap to partition types considered for Mac boot. 5b48904 PPC: Fix filll word used by BootX 1711362 Ignore any attempts to emit a character to stdout when stdout is set to 0. 6294e00 adb_kbd.c: Implement dummy get-key-map word for the ADB keyboard package. 1484d2b PPC: Fix mapping of OpenBIOS ROM in RAM copy within OFMEM 69c27c4 PPC: Fix next slot eviction 1be3a15 video.c: Place framebuffer address in frame-buffer-adr e11cacd mac-parts.c: Fix detection of wrapped HFS+ volumes. 7694794 PPC: Implement filll (fill long) word for QEMU/PPC as required by BootX. 1fbbbd2 Redefine "to" word in device.fs to allow the current package to be set like a standard value. 1da510f Rework mac-parts.c to use CHRP-compliant partition search, followed by Apple OF partition search. b70a1f7 PPC: Rework assignment of keyboard devalias. dd37f6b Add a default "decode-unit" word for devices that don't implement their own. 7a370cc PPC: Add keyboard device alias as a duplicate of stdin. 58106df Fix dir cd:,\ (no partition specified) when reading from Mac partitions. 5f23f2c Improve dir word by reducing complexity and adding some more diagnostics. a78e3b4 The spin word is set by BootX when Mac OS X is booting. 37d2f65 PPC32: Enable local variables for the PPC32 build. 538d404 Implementation of Forth local variables for OpenBIOS. 5bb1484 amd64: Fix compilation from last commit to implement "dir" word for HFS+ filesystem. 0495b71 Add initial implementation of "dir" word for HFS+ filesystems. 21ed61f Fix HFS+ display for non-ASCII characters. 5b22479 Fix bug related to opening backup volumes in libhfsp's volume_open(). f095c85 ppc qemu: Increase PCI hole for heathrow
Thanks,
Alex
diff -uNr a/drivers/macio.c b/drivers/macio.c --- a/drivers/macio.c 2013-01-28 12:16:54.849868216 +0100 +++ b/drivers/macio.c 2013-01-28 12:17:27.595867493 +0100 @@ -57,12 +57,6 @@ } else { nvram_offset = NW_IO_NVRAM_OFFSET; nvram_size = NW_IO_NVRAM_SIZE;
push_str("/");
fword("find-device");
fword("new-device");
push_str("nvram");
fword("device-name");
fword("finish-device"); } nvram = (char*)addr + nvram_offset; snprintf(buf, sizeof(buf), "%s/nvram", path);
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you