Add prom_claim_chunk_top We want temporary allocations to be taken from the top of our address space so the kernel and initrd can be loaded as low as possible. The very early kernel code uses the top of the initrd as the low watermark for memory allocations so the lower this is the better. We currently see a number of fails where a large initrd causes us to run out of space in a 128MB RMO region. Allocating the temporary areas up high and therefore the initrd lower fixes it. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Bump PROM_CLAIM_MAX_ADDR to 256MB A number of machines are failing to boot because firmware takes up a significant amount of the first 128MB. Bump our maximum to 256MB since these boxes almost always have a 256MB RMO region. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
print available ranges under control of linux, yaboot-debug property Debugging yaboot failures is difficult because we often have to retest with a yaboot built with debug enabled. As a first step to fixing this, look for a linux,yaboot-debug property and dump the available ranges when it is non zero. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Add optional ino_size filesystem backend function Our initrd loader is very fragile and the main reason is that it doesn't know the size of the initrd. We end up claiming 1MB at a time and failing completely if the new region isn't contiguous with the previous one. Now that firmware is often at 32MB (real-base), and kernels have grown much bigger (CONFIG_FUNCTION_TRACER and CONFIG_RELOCATABLE are two big reasons), we see this failure a lot. Create a function ino_size (similar to the silo bootloader) and implement it for tftp and ext2 backends. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Handle ipv6 boot parameters for POWER architecture. This is implementation derived. This follows the semantics defined in section 4.3.1 of http://www.power.org/apps/org/workgroup/parch/download.php/2380/latest (It is under the Members area of TSC - Platform Architecture committee). [ Fixed merge conflicts in second/file.c and second/fs_of.c ] Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Fix netboot fucntionality to use the parameters specified. Currently, yaboot works properly when there is a tftp boot server serving the broadcast requests sent in the network. If the user specifies siaddr, ciaddr, and other arguments in the command line, it is not handled appropriately. This patch changes that behavior and make yaboot work properly in both cases. The semantics specified in section 4.1 of http://playground.sun.com/1275/practice/obp-tftp/tftp1_0.pdf is followed. ([bootp,]siaddr,filename,ciaddr,giaddr,bootp-retries,tftp-retries) Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com> ---
The CAS (Client-Architecture Support) call tells firmware what capabilities the OS has. These capabilities result in different modes which the device-tree is configured in, as well as what processor capabilities are presented. So, if the capabilities are different from what was previously booted, firmware has to reboot to reconfigure the device-tree. The second boot will have the updated device-tree and we can boot as normal. When this firmware initiated reboot occurs yaboot will now boot the same kernel as the previous boot attempt with no action by the user needed. I have successfully booted on POWER5 and POWER6 machines using various levels of the kernel. Patch from: Mike Wolf <mjw@linux.vnet.ibm.com>