diff options
author | Thomas Huth <thuth@linux.vnet.ibm.com> | 2011-11-21 10:45:44 +0100 |
---|---|---|
committer | Thomas Huth <thuth@linux.vnet.ibm.com> | 2011-11-24 10:21:56 +0100 |
commit | 7c33e2235178850b0be6237d0bcc9c36c89c9578 (patch) | |
tree | b2d7ad2d06467eff26c20435ce353d5964b9a0d7 | |
parent | 2d3eabca483fcab04c00efa456aa77f48f6efc0e (diff) | |
download | SLOF-7c33e2235178850b0be6237d0bcc9c36c89c9578.zip SLOF-7c33e2235178850b0be6237d0bcc9c36c89c9578.tar.gz SLOF-7c33e2235178850b0be6237d0bcc9c36c89c9578.tar.bz2 |
Fix stack problem during setup-alias functions
The code for setting some of the device alias had a bug. When it was called
multiple times, for example because two or more hard disk images had been
configured, it left an item on the Forth stack, causing a crash or other
ugly side effects later.
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
-rw-r--r-- | board-qemu/slof/vio-hvterm.fs | 4 | ||||
-rw-r--r-- | board-qemu/slof/vio-veth.fs | 4 | ||||
-rw-r--r-- | board-qemu/slof/vio-vscsi-device.fs | 2 | ||||
-rw-r--r-- | board-qemu/slof/vio-vscsi.fs | 4 |
4 files changed, 10 insertions, 4 deletions
diff --git a/board-qemu/slof/vio-hvterm.fs b/board-qemu/slof/vio-hvterm.fs index 32b2a59..38f725a 100644 --- a/board-qemu/slof/vio-hvterm.fs +++ b/board-qemu/slof/vio-hvterm.fs @@ -26,7 +26,9 @@ : setup-alias " hvterm" find-alias 0= IF " hvterm" get-node node>path set-alias - ELSE THEN + ELSE + drop + THEN ; setup-alias diff --git a/board-qemu/slof/vio-veth.fs b/board-qemu/slof/vio-veth.fs index 0da0c61..a23ba1c 100644 --- a/board-qemu/slof/vio-veth.fs +++ b/board-qemu/slof/vio-veth.fs @@ -36,6 +36,8 @@ INSTANCE VARIABLE obp-tftp-package : setup-alias " net" find-alias 0= IF " net" get-node node>path set-alias - ELSE THEN + ELSE + drop + THEN ; setup-alias diff --git a/board-qemu/slof/vio-vscsi-device.fs b/board-qemu/slof/vio-vscsi-device.fs index 842d7b5..fcebe8e 100644 --- a/board-qemu/slof/vio-vscsi-device.fs +++ b/board-qemu/slof/vio-vscsi-device.fs @@ -28,7 +28,7 @@ VALUE is_cdrom 2dup find-alias 0= IF get-node node>path set-alias -ELSE 2drop THEN +ELSE 3drop THEN s" block" device-type diff --git a/board-qemu/slof/vio-vscsi.fs b/board-qemu/slof/vio-vscsi.fs index 4ea8598..77e358e 100644 --- a/board-qemu/slof/vio-vscsi.fs +++ b/board-qemu/slof/vio-vscsi.fs @@ -613,7 +613,9 @@ scsi-close : setup-alias " scsi" find-alias 0= IF " scsi" get-node node>path set-alias - ELSE THEN + ELSE + drop + THEN ; : vscsi-init-and-scan ( -- ) |