[OpenBIOS] Fix double nvram entry on newworld

Blue Swirl blauwirbel at gmail.com
Sat Feb 2 14:05:19 CET 2013


On Thu, Jan 31, 2013 at 3:10 PM, Alexander Graf <agraf at 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 at fff04000) has initialized .properties while the
>> other one has words.
>>
>> 0 > dev / ls
>> ...
>> fff75e24 pci at f2000000
>> fff77848 nvram at fff04000
>> fff778e0 nvram
>> ok
>> 0 > dev /nvram at fff04000  ok
>> 0 > words
>> ok
>> 0 > .properties
>> name                      "nvram"
>> #bytes                    2000
>> reg                       fff04000   00004000
>> device_type               "nvram"
>> compatible                "nvram,flash"
>> ok
>> 0 > dev /nvram at 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 at f2000000
>> fff77868 nvram at fff04000
>> ok
>> 0 > dev /nvram at 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 at 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
>



More information about the OpenBIOS mailing list