on the full disk. We accept partition number 0 (which identifies the full
disk) and partition number 1 (we can see the disk as only one partition).
This is needed to boot openSUSE install CD which uses
"&device;:1,\suseboot\yaboot.ibm" as its boot path.
There is a Mac partition map on the CD, but
partition 1 is the partition map itself, and thus is not usable by a filesystem.
So we can guess, openFirmware must use ISO9660 instead of HFS and thus
to not use the Mac partition map, but the whole CD for the partition #1.
Disk openSUSE-ppc.iso: 135 MB, 135593984 bytes
4 heads, 32 sectors/track, 2069 cylinders
Units = cylinders of 128 * 512 = 65536 bytes
Device Boot Start End Blocks Id System
openSUSE-ppc.iso1 1 1 48 Apple_partition_map
openSUSE-ppc.iso2 1 2066 132160 Apple_HFS
git-svn-id: svn://coreboot.org/openbios/openbios-devel@443 f158a5a8-5612-0410-a976-696ce0be7e32
To keep compatibility with yaboot (tested with debian install CD),
put in bootpath a fully qualified path (<device>:<partition>,<filename>)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@442 f158a5a8-5612-0410-a976-696ce0be7e32
and pciids.sourceforge.net.
Also fix a confusion between Sabre and Simba device IDs.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@437 f158a5a8-5612-0410-a976-696ce0be7e32
This patch checks wether fs->vol_name exists and handles the
case where it doesn't exist. That fixes the lockup that occurs
when trying to run qemu-system-ppc -cdrom <iso> -boot d
Signed-off-by: Stefan Assmann <sassmann@suse.de>
git-svn-id: svn://coreboot.org/openbios/openbios-devel@430 f158a5a8-5612-0410-a976-696ce0be7e32
<boot-script>boot &device;:1,\suseboot\yaboot.ibm</boot-script>.
This would evaluate to boot cd:0,1\suseboot\yaboot.ibm which results
in a file not found error (seen on many openSUSE ppc media).
With this patch the above will evaluate to boot cd:0,\suseboot\yaboot.ibm
and yaboot will load.
Signed-off-by: Stefan Assmann <sassmann@suse.de>
git-svn-id: svn://coreboot.org/openbios/openbios-devel@429 f158a5a8-5612-0410-a976-696ce0be7e32
The current implementation of the milliseconds prom call on PowerPC is
totally buggy:
- The timer frequency returned by get_timer_freq() does not correspond
to the timer which is read.
- The dividend and the divisor of the division are swapped
- If called very often, this function is not precise
- Depending on the timer frequency and of the frequency of the calls,
the variable overflow after a few dozen of seconds.
Please find in this patch a totally new implementation. This fixes the
problem observed with the quik when a timeout is defined.
The timer frequency is defined using #define, I wonder if there is a
better place to put it.
It reads both low and high part of the timer to make sure there is no
overflow. It also removes the function that returns 0 on the first call
as this is not needed according to IEEE 1275-1994. Finally it computes
the real value of the timer each time, instead of adding a small value
to a variable at each function calls, in order to get a correct
precision if this method is call very often.
(Aurelien Jarno)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@407 f158a5a8-5612-0410-a976-696ce0be7e32