Commit Graph

44 Commits

Author SHA1 Message Date
Mark Cave-Ayland
add30adb7d ext2 magic is stored in little-endian format, not big-endian format.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@797 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-23 21:02:12 +00:00
Mark Cave-Ayland
0dddb61de8 Fix up non-grub iso9660 filesystem, plus correct a thinko where the sense of the existing hfs/ext2 probe functions was inverted
by default.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@796 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-23 20:41:34 +00:00
Mark Cave-Ayland
fd32324336 Fix the HFSP probe function, plus also resolve an off-by-one error in the mac-parts partition code. This should fix PPC boot once again.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@794 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-15 16:31:54 +00:00
Blue Swirl
4cac87e606 Fix PPC target build
Fix errors like this:
../fs/hfs/volume.c:612:2: error: no newline at end of file

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@793 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-10 18:35:25 +00:00
Mark Cave-Ayland
372ad163dc Fix up the majority of the non-grubfs filesystems from my last commit, since they require a "probe with offset" function to
allow the partition handler to identify a valid FS before interposition to /packages/misc-files.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@792 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-09 22:30:32 +00:00
cdrom - deblocker - disk-label - (misc-files | sun-parts | pc-parts | mac-parts)
7fc4e304c3 As documented on the mailing lists, change the interposition order of the disk packages from:
cdrom -> deblocker -> disk-label -> (misc-files | sun-parts | pc-parts | mac-parts) 

to:

cdrom -> deblocker -> disk-label -> (sun-parts | pc-parts | mac-parts) -> misc-files 

This makes the overall code much simpler, since instead of passing get-info structures between the different layers to work out 
the current device offset, each package can simply maintain its own offsets and bubble them back up to the parent.

There are also many, many bugfixes present is patch, some of which are given below:

- Add debugging in /packages/misc-files, augment debugging in all other disk packages
- Fix alignment issue in /packages/pc-parts so it works correctly on strictly align archs, e.g. SPARC64
- Fix parsing of [<id>,][filename] arguments to load (in preparation for next patch set)
- Fix byte-swapping issues in /packages/mac-parts (in theory it should now work regardless of endian)




git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@791 f158a5a8-5612-0410-a976-696ce0be7e32
2010-06-08 20:59:08 +00:00
Mark Cave-Ayland
00b2f978f8 Fix RR alignment bug in the grubfs iso9660 driver which prevented CD directory entries from being read correctly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@777 f158a5a8-5612-0410-a976-696ce0be7e32
2010-05-24 20:55:21 +00:00
Blue Swirl
183f3f9b00 Fix dead variable assignment, spotted by clang analyzer
Fix clang warnings:
../kernel/dict.c:289:2: warning: Value stored to 'len' is never read
        len -= sizeof(dictionary_header_t);
../packages/cmdline.c:181:8: warning: Value stored to 'buf' during its
      initialization is never read
        char *buf = ci->buf;
../libopenbios/elf_info.c:126:2: warning: Value stored to 'name' is never read
        name = addr;
../libopenbios/elf_load.c:277:5: warning: Value stored to 'addr' is never read
    addr += pad;
../drivers/ide.c:209:3: warning: Value stored to 'err' is never read
                err = ob_ide_pio_readb(drive, IDEREG_ERROR);
../drivers/ide.c:219:17: warning: Value stored to 'old_cdb' during its initialization is never read
                unsigned char old_cdb = cmd->cdb[0];
../drivers/ide.c:222:4: warning: Value stored to 'old_cdb' is never read
                        old_cdb = cmd->old_cdb;
../drivers/pci.c:103:2: warning: Value stored to 'ss' is never read
        ss = 0;
../drivers/pci.c:100:2: warning: Value stored to 'dev' is never read
        dev = 0;
../drivers/pci.c:212:2: warning: Value stored to 'bus' is never read
        bus = (hi >> 16) & 0xFF;
../drivers/pci.c:953:4: warning: Value stored to 'rev' is never read
                        rev = pci_config_read8(addr, PCI_REVISION_ID);
../packages/video.c:331:2: warning: Value stored to 's' is never read
        s = video.fb.mphys - s;
../packages/video.c:330:2: warning: Value stored to 'size' is never read
        size = ((video.fb.h * video.fb.rb + s) + 0xfff) & ~0xfff;
../fs/hfsplus/btree.c:229:5: warning: Value stored to 'p' is never read
    p = btree_readhead(&bt->head, p);
../fs/hfsplus/volume.c:149:2: warning: Value stored to 'p' is never read
        p = volume_readfork(p, &vh->start_file );

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@751 f158a5a8-5612-0410-a976-696ce0be7e32
2010-04-25 12:53:37 +00:00
Mark Cave-Ayland
1dbe55b8e4 Move the basic OpenBIOS configuration header files from include/openbios to include/.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@695 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 17:19:58 +00:00
Mark Cave-Ayland
4a2c065e4f Move the libopenbios header files into include/libopenbios to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@691 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 15:05:53 +00:00
Mark Cave-Ayland
9a1c40734c Move the fs header file into include/fs to synchronise with the code directory structure.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@690 f158a5a8-5612-0410-a976-696ce0be7e32
2010-03-14 14:33:32 +00:00
Laurent Vivier
6345741116 Implements dir method for HFS filesystem.
0 > dir cd:\ 
    393216 2009-02-15 17:11:17 .disk\
    131072 2009-02-15 17:10:53 css\
       984 2009-02-07 19:35:37 dedication.txt
     65536 2009-02-15 17:11:18 dists\
   1966080 2009-02-15 17:11:18 doc\
     65536 2009-02-15 17:10:54 etc\
    458752 2009-02-15 17:11:18 install\
     45447 2009-02-15 17:11:17 md5sum.txt
    917504 2009-02-15 17:10:53 pics\
     65536 2009-02-15 17:11:18 pool\
    131072 2009-02-15 17:11:18 ppc\
      8921 2009-02-15 17:11:17 README.html
    119979 2009-02-14 20:52:19 README.mirrors.html
     60194 2009-02-14 20:52:19 README.mirrors.txt
       379 2009-02-15 17:10:54 README.source
      5468 2009-02-15 17:11:17 README.txt

Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@633 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-22 10:21:43 +00:00
Laurent Vivier
62e794e351 Implements dir method for ext2 filesystem.
0 > dir hd:3,\ 
      4096 2009-08-05 22:20:53 .\
      4096 2009-08-05 22:20:53 ..\
     16384 2009-02-20 10:56:01 lost+found\
      4096 2009-02-20 10:56:59 boot\
      4096 2009-11-10 21:44:03 etc\
      4096 2009-02-20 10:57:14 media\
        11 2009-02-20 10:57:14 cdrom
      4096 2007-03-07 23:22:28 selinux\
      4096 2009-02-20 11:12:18 var\
      4096 2009-02-20 11:12:19 usr\
      4096 2008-05-21 08:44:38 sys\
     12288 2009-08-05 22:30:50 lib\
      4096 2009-08-05 22:31:05 sbin\
      4096 2009-02-20 13:00:26 bin\
     40960 2009-02-20 14:32:18 dev\
      4096 2009-02-20 14:30:57 home\
      4096 2006-10-28 13:49:35 mnt\
      4096 2006-10-28 13:49:35 proc\
      4096 2009-05-18 12:40:32 root\
      4096 2009-11-10 21:44:15 tmp\
      4096 2009-02-20 12:30:21 lib64\
      4096 2009-02-20 11:12:17 srv\
      4096 2009-02-20 11:12:18 opt\
      4096 2009-02-20 11:12:18 initrd\
   5349268 2009-02-20 11:51:46 initrd.img-2.6.18-6-powerpc
   4405754 2008-12-13 09:58:03 vmlinux-2.6.18-6-powerpc

Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@632 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-22 10:07:23 +00:00
Laurent Vivier
7c3091927c Implements dir method for ISO9660 filesystem.
0 > dir cd:\ 
      2048 2007-02-01 13:50:07 .\
      2048 2007-02-01 13:50:07 ..\
      2048 2007-02-01 13:54:13 ppc\
 ok
0 > dir cd:\ppc 
      2048 2007-02-01 13:54:13 .\
      2048 2007-02-01 13:50:07 ..\
       190 2007-02-01 13:54:13 bootinfo.txt
      2048 2007-02-01 13:51:11 chrp\

Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@631 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-22 10:03:00 +00:00
Laurent Vivier
26c129730b Add cleaner ext2 filesystem implementation
Signed-off-by: Laurent Vivier <Laurent@vivier.eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@627 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-22 09:47:08 +00:00
Laurent Vivier
d2cc5db789 Add a cleaner implementation of ISO9660.
Enable it for powerpc and cross-powerpc

Signed-off-by: Laurent Vivier <Laurent@vivier.Eu>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@626 f158a5a8-5612-0410-a976-696ce0be7e32
2009-11-22 09:26:50 +00:00
Blue Swirl
a3e861a2cf Use -fno-strict-aliasing flag for all filesystems imported from GRUB.
Otherwise, they won't compile with gcc 4.4.  Fixing the code would
require massive changes, which is not practical for the code taken from
another project.

Author: Pavel Roskin <proski@gnu.org>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>

git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@569 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-23 12:40:24 +00:00
Laurent Vivier
6a16562087 This patch allows to boot from bootsector of first bootable partition
using "boot hd:%BOOT"

As explained in:

"PowerPC Microprocessor Common Hardware Reference Platform (CHRP)
System binding to:
IEEE Std 1275-1994 Standard for Boot (Initialization, Configuration)
Firmware
Revision: 1.8"

"Chapter 11.1.2. Open Method Algorith"

Signed-off-by: Laurent Vivier <Laurent@vivier.info>



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@552 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-12 19:55:31 +00:00
Laurent Vivier
95c05fe1ff Author: Pavel Roskin <proski@gnu.org>
Rewrite hfs_get_ushort() and hfs_get_uint() as inline functions so that
their arguments are checked.  Use __be16_to_cpu and __be32_to_cpu to
byte-swap the result as needed.



git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@549 f158a5a8-5612-0410-a976-696ce0be7e32
2009-08-11 20:31:50 +00:00
Blue Swirl
a0c398f24b Delete some unused macros detected with -Wp,-Wunused-macros use
git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@482 f158a5a8-5612-0410-a976-696ce0be7e32
2009-03-28 14:28:16 +00:00
Blue Swirl
a72df592da Fix endianess bug in Rock Ridge extensions
git-svn-id: svn://coreboot.org/openbios/openbios-devel@450 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-08 15:45:15 +00:00
Laurent Vivier
0b01355058 Reset curfs to &dummy_fs on mount (fs_grubfs_open())
git-svn-id: svn://coreboot.org/openbios/openbios-devel@446 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-05 21:21:59 +00:00
Laurent Vivier
ed13847398 ioglue: cleanup traces
git-svn-id: svn://coreboot.org/openbios/openbios-devel@444 f158a5a8-5612-0410-a976-696ce0be7e32
2009-02-05 20:16:28 +00:00
Blue Swirl
bcd092ad4a Add support for configuring for multiple targets
git-svn-id: svn://coreboot.org/openbios/openbios-devel@420 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-23 20:09:26 +00:00
Aurelien Jarno
709c8c466a grubfs: don't try to read a file beyond its end
Yaboot relies on the read function from openbios to stop reading at the
end of a file. This patch makes sure to not read beyond the end of the
file. This fixes the boot of debian-installer using a CD-ROM.
    
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>


git-svn-id: svn://coreboot.org/openbios/openbios-devel@373 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-09 19:43:39 +00:00
Blue Swirl
251d1101ca Fix amd64 build
git-svn-id: svn://coreboot.org/openbios/openbios-devel@358 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-06 18:09:22 +00:00
Blue Swirl
a32f1855be Update FSF addresses
git-svn-id: svn://coreboot.org/openbios/openbios-devel@351 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-05 18:50:53 +00:00
Blue Swirl
51c8f0bf08 Change part_length to a define
git-svn-id: svn://coreboot.org/openbios/openbios-devel@311 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-23 10:14:48 +00:00
Blue Swirl
02c295c00c Fix ISO9660 endian problems, ignore case
git-svn-id: svn://coreboot.org/openbios/openbios-devel@306 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-22 16:01:12 +00:00
Blue Swirl
e7b906fd86 Fix gcc and Sparse warnings generated by r301
git-svn-id: svn://coreboot.org/openbios/openbios-devel@302 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-21 09:15:57 +00:00
Laurent Vivier
cd90eca8ce remove useless printk
This patch removes useless printk()

Signed-off-by: Laurent Vivier <Laurent@lvivier.info>


git-svn-id: svn://coreboot.org/openbios/openbios-devel@300 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-20 20:23:55 +00:00
Blue Swirl
7e21fc929d Fix almost all remaining warnings
git-svn-id: svn://coreboot.org/openbios/openbios-devel@294 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-20 17:15:47 +00:00
Blue Swirl
c5d270009e Warning fixes for Sparc32, Sparc64, PPC
Fix warnings that would be caused by gcc flag -Wwrite-strings and
-Wmissing-prototypes. Also fix most PPC specific warnings.


git-svn-id: svn://coreboot.org/openbios/openbios-devel@288 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-14 12:54:23 +00:00
Blue Swirl
a757800a01 Remove unnecessary trailing newlines
git-svn-id: svn://coreboot.org/openbios/openbios-devel@285 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-13 09:26:41 +00:00
Blue Swirl
58ca864765 Delete extra whitespace at the end of line, which annoys quilt
git-svn-id: svn://coreboot.org/openbios/openbios-devel@284 f158a5a8-5612-0410-a976-696ce0be7e32
2008-12-11 20:30:53 +00:00
Blue Swirl
bf0c6b1c38 Fix most warnings from Sparse
git-svn-id: svn://coreboot.org/openbios/openbios-devel@274 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-30 11:54:01 +00:00
Blue Swirl
c52d26b976 Reduce warnings by 29%
git-svn-id: svn://coreboot.org/openbios/openbios-devel@273 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-29 19:31:28 +00:00
Blue Swirl
e5bc7e8990 Fix system include file use
git-svn-id: svn://coreboot.org/openbios/openbios-devel@250 f158a5a8-5612-0410-a976-696ce0be7e32
2008-11-17 19:42:11 +00:00
Stefan Reinauer
baaa1bb85c From Igor V. Kovalenko:
This openbios-grubfs-ext2fs-block.patch fixes a problem where inode
pointer is truncated to 32bit integer and then sign-extended to 64bit
integer while passing second pointer argument to ext2_rdfsb.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@230 f158a5a8-5612-0410-a976-696ce0be7e32
2008-08-24 12:54:03 +00:00
Stefan Reinauer
dfd35a78c0 Patch from Aurelien Jarno <aurelien@aurel32.net>:
The current SVN version currently fails to work on machines that have
strict alignment requirements, for example the SPARC target. This is due
to the way the struct fat_bpb in fs/grubfs/fat.h is defined and accessed
(through FAT_CVT_U16) to avoid padding. Some 16 bits fields like
bytes_per_sect are thus accessed unaligned.

The patch below takes the same approach as for other structures in
openbios, it declares the structure as packed, and lets GCC do the right
things to access those unaligned field.



git-svn-id: svn://coreboot.org/openbios/openbios-devel@122 f158a5a8-5612-0410-a976-696ce0be7e32
2007-04-15 00:41:40 +00:00
Stefan Reinauer
2e863bf2ce some filesystem fixes (mostly remainder from blueswirl's -15)
git-svn-id: svn://coreboot.org/openbios/openbios-devel@31 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-24 11:10:55 +00:00
Stefan Reinauer
7d4dc57ca1 gcc4 fixes.
git-svn-id: svn://coreboot.org/openbios/openbios-devel@21 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-17 12:29:24 +00:00
Stefan Reinauer
1ab6b463ad latest sparc32 patch from Blueswirl
git-svn-id: svn://coreboot.org/openbios/openbios-devel@13 f158a5a8-5612-0410-a976-696ce0be7e32
2006-05-07 16:40:13 +00:00
Stefan Reinauer
5c9eb9b45b initial import of openbios--main--1.0--patch-26
git-svn-id: svn://coreboot.org/openbios/openbios-devel@1 f158a5a8-5612-0410-a976-696ce0be7e32
2006-04-26 15:08:19 +00:00