I have just tested the patch and it does fix the problem. Thank you.
On Mar 16, 2013, at 9:24 AM, Mark Cave-Ayland wrote:
Commit r1100 fixed the quik bootloader but broke automatic partition selection for the dir word.
Differentiate between the package having no arguments (argstr == NULL) and the package having empty arguments (argstr == ""), and alter the dir word to use the latter version to invoke the automatic partition selection code when required.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk CC: Alexander Graf agraf@suse.de
openbios-devel/forth/debugging/client.fs | 2 +- openbios-devel/packages/mac-parts.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/openbios-devel/forth/debugging/client.fs b/openbios-devel/forth/debugging/client.fs index d454d22..24b1ec7 100644 --- a/openbios-devel/forth/debugging/client.fs +++ b/openbios-devel/forth/debugging/client.fs @@ -126,7 +126,7 @@ variable file-size
: dir ( "{paths}<cr>" -- ) linefeed parse
- ascii , left-split
- ascii , split-after 2dup open-dev dup 0= if drop cr ." Unable to locate device " type
diff --git a/openbios-devel/packages/mac-parts.c b/openbios-devel/packages/mac-parts.c index 12c94e5..85d53f8 100644 --- a/openbios-devel/packages/mac-parts.c +++ b/openbios-devel/packages/mac-parts.c @@ -79,6 +79,10 @@ macparts_open( macparts_info_t *di ) } else { argstr = str; }
/* Make sure argstr is not null */
if (argstr == NULL)
/* Convert the id to a partition number */ if (parstr && strlen(parstr))argstr = strdup("");
@@ -89,10 +93,6 @@ macparts_open( macparts_info_t *di ) want_bootcode = 1; }
/* Make sure argstr is not null */
if (argstr == NULL)
argstr = strdup("");
DPRINTF("parstr: %s argstr: %s parnum: %d\n", parstr, argstr, parnum);
DPRINTF("want_bootcode %d\n", want_bootcode);
@@ -126,7 +126,7 @@ macparts_open( macparts_info_t *di ) * Implement partition selection as per the PowerPC Microprocessor CHRP bindings */
- if (str == NULL || parnum == 0) {
- if (argstr == NULL || parnum == 0) { /* According to the spec, partition 0 as well as no arguments means the whole disk */ offs = (long long)0; size = (long long)__be32_to_cpu(dmap.sbBlkCount) * bs;
-- 1.7.10.4
-- OpenBIOS http://openbios.org/ Mailinglist: http://lists.openbios.org/mailman/listinfo Free your System - May the Forth be with you