Refactoring of the OpenBIOS source code, as discussed on the mailing list. The primary aim of this process is to try and arrange

the source files into a structure whereby it is easier to find the relationship between a forth package word and its C 
implementation, while also creating a libopenbios library into which more common code from the arch/ tree can eventually be 
moved.

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


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@685 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Mark Cave-Ayland
2010-03-13 10:58:19 +00:00
committed by Mark Cave-Ayland
parent 0d5f749065
commit dbf16392cc
46 changed files with 60 additions and 185 deletions

View File

@ -44,5 +44,5 @@ endmenu
source "kernel/Kconfig"
source "forth/Kconfig"
source "modules/Kconfig"
source "libopenbios/Kconfig"
source "drivers/Kconfig"

View File

@ -18,5 +18,5 @@ endmenu
source "kernel/Kconfig"
source "forth/Kconfig"
source "modules/Kconfig"
source "libopenbios/Kconfig"
source "drivers/Kconfig"

View File

@ -44,5 +44,5 @@ endmenu
source "kernel/Kconfig"
source "forth/Kconfig"
source "modules/Kconfig"
source "libopenbios/Kconfig"
source "drivers/Kconfig"

View File

@ -153,7 +153,8 @@
<object source="timebase.S"/>
<external-object source="libbriq.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>
@ -168,7 +169,8 @@
<object source="timebase.S"/>
<external-object source="libpearpc.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>
@ -183,7 +185,8 @@
<object source="timebase.S"/>
<external-object source="libqemu.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>
@ -198,7 +201,8 @@
<object source="start.S"/>
<external-object source="libmol.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>

View File

@ -26,5 +26,5 @@
#define openbios_GetFBInfo(x) OSI_GetFBInfo(x)
#include "../../../modules/video.c"
#include "../../../modules/console.c"
#include "../../../packages/video.c"
#include "../../../libopenbios/console_common.c"

View File

@ -39,6 +39,5 @@ int PearPC_GetFBInfo( osi_fb_info_t *fb )
#define openbios_GetFBInfo(x) PearPC_GetFBInfo(x)
#include "../../../modules/video.c"
#include "../../../modules/console.c"
#include "../../../packages/video.c"
#include "../../../libopenbios/console_common.c"

View File

@ -32,7 +32,8 @@
<object source="plainboot.c"/>
<external-object source="libsparc32.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>
@ -66,7 +67,8 @@
<external-object source="target/arch/sparc32/builtin.o"/>
<external-object source="libsparc32.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>

View File

@ -33,7 +33,8 @@
<object source="plainboot.c"/>
<external-object source="libsparc64.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>
@ -68,7 +69,8 @@
<external-object source="target/arch/sparc64/builtin.o"/>
<external-object source="libsparc64.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>

View File

@ -13,7 +13,8 @@
<object source="blk.c" flags="-DBOOTSTRAP"/>
<object source="plugins.c" flags="-DBOOTSTRAP" condition="PLUGINS"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="libfs.a"/>
<external-object source="liblibc.a"/>

View File

@ -43,5 +43,5 @@ endmenu
source "kernel/Kconfig"
source "forth/Kconfig"
source "modules/Kconfig"
source "libopenbios/Kconfig"
source "drivers/Kconfig"

View File

@ -30,7 +30,8 @@
<object source="multiboot.c"/>
<external-object source="libx86.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="liblibc.a"/>
<external-object source="libfs.a"/>
@ -45,7 +46,8 @@
<object source="plainboot.c"/>
<external-object source="libx86.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="liblibc.a"/>
<external-object source="libfs.a"/>
@ -79,7 +81,8 @@
<external-object source="target/arch/x86/builtin.o"/>
<external-object source="libx86.a"/>
<external-object source="libbootstrap.a"/>
<external-object source="libmodules.a"/>
<external-object source="libopenbios.a"/>
<external-object source="libpackages.a"/>
<external-object source="libdrivers.a"/>
<external-object source="liblibc.a"/>
<external-object source="libfs.a"/>

View File

@ -19,5 +19,5 @@ typedef struct osi_fb_info {
int rb, w, h, depth;
} osi_fb_info_t;
#include "../../../modules/video.c"
#include "../../../modules/console.c"
#include "../../../packages/video.c"
#include "../../../libopenbios/console_common.c"

View File

@ -5,7 +5,8 @@
<include href="forth/build.xml"/>
<include href="libc/build.xml"/>
<include href="libgcc/build.xml"/>
<include href="modules/build.xml"/>
<include href="libopenbios/build.xml"/>
<include href="packages/build.xml"/>
<include href="drivers/build.xml"/>
<include href="fs/build.xml"/>
<include href="arch/build.xml"/>

View File

@ -177,7 +177,8 @@ for RULES_ARCH in $*; do
mkdir -p $OBJDIR/target/arch/x86/xbox
mkdir -p $OBJDIR/target/libgcc
mkdir -p $OBJDIR/target/kernel
mkdir -p $OBJDIR/target/modules
mkdir -p $OBJDIR/target/libopenbios
mkdir -p $OBJDIR/target/packages
mkdir -p $OBJDIR/target/fs
mkdir -p $OBJDIR/target/fs/grubfs
mkdir -p $OBJDIR/target/fs/hfs

View File

@ -15,14 +15,14 @@ void vga_vbe_set_mode(int width, int height, int depth);
void vga_vbe_init(const char *path, unsigned long fb, uint32_t fb_size,
unsigned long rom, uint32_t rom_size);
/* modules/video.c */
/* packages/video.c */
int video_get_res(int *w, int *h);
void draw_pixel(int x, int y, int colind);
void set_color(int ind, unsigned long color);
void video_scroll(int height);
void init_video(unsigned long fb, int width, int height, int depth, int rb);
/* modules/console_common.c */
/* libopenbios/console_common.c */
int console_draw_str(const char *str);
int console_init(void);
void console_close(void);

View File

@ -1,38 +1,24 @@
<build>
<library name="modules" type="static" target="target">
<object source="nvram.c"/>
<object source="init.c"/>
<library name="openbios" type="static" target="target">
<object source="bindings.c"/>
<object source="bootinfo-loader.c" condition="PPC"/>
<object source="client.c"/>
<object source="ipchecksum.c"/>
<object source="video.c"/>
<object source="console_common.c"/>
<object source="elfnote.c" condition="X86"/>
<object source="elfnote.c" condition="AMD64"/>
<object source="elfnote.c" condition="SPARC32"/>
<object source="elfnote.c" condition="SPARC64"/>
<object source="elfload.c" condition="PPC"/>
<object source="linuxbios.c" condition="LINUXBIOS"/>
<object source="cmdline.c" condition="CMDLINE"/>
<object source="deblocker.c" condition="DEBLOCKER"/>
<object source="disk-label.c" condition="DISK_LABEL"/>
<object source="filesystems.c" condition="FS"/>
<object source="mac-parts.c" condition="MAC_PARTS"/>
<object source="pc-parts.c" condition="PC_PARTS"/>
<object source="sun-parts.c" condition="SUN_PARTS"/>
<object source="font_8x8.c" condition="FONT_8X8"/>
<object source="font_8x16.c" condition="FONT_8X16"/>
<object source="ipchecksum.c"/>
<object source="linuxbios.c" condition="LINUXBIOS"/>
<object source="ofmem_common.c" condition="OFMEM"/>
<object source="elf-loader.c" condition="PPC"/>
<object source="elf-loader.c" condition="SPARC64"/>
<object source="xcoff-loader.c" condition="PPC"/>
<object source="bootinfo-loader.c" condition="PPC"/>
</library>
<dictionary name="openbios" target="forth">
<object source="clib.fs"/>
<object source="support.fs"/>
<object source="helpers.fs"/>
</dictionary>

View File

@ -1,124 +0,0 @@
\ tag: Utility functions
\
\ deblocker / filesystem support
\
\ Copyright (C) 2003, 2004 Samuel Rydh
\
\ See the file "COPYING" for further information about
\ the copyright and warranty status of this work.
\
dev /packages
\ -------------------------------------------------------------
\ /packages/disk-label (partition handling)
\ -------------------------------------------------------------
[IFDEF] CONFIG_DISK_LABEL
new-device
" disk-label" device-name
external
variable part-handlers \ list with (probe-xt, phandle) elements
variable fs-handlers \ list with (fs-probe-xt, phandle) elements
: find-part-handler ( block0 -- phandle | 0 )
>r part-handlers
begin list-get while
( nextlist dictptr )
r@ over @ execute if
( nextlist dictptr )
na1+ @ r> rot 2drop exit
then
drop
repeat
r> drop 0
;
: find-filesystem ( ih -- ph | 0 )
>r fs-handlers
begin list-get while
( nextlist dictptr )
r@ over @ execute if
( nextlist dictptr )
na1+ @ r> rot 2drop exit
then
drop
repeat
r> drop 0
;
: register-part-handler ( handler-ph -- )
dup " probe" rot find-method
0= abort" Missing probe method!"
( phandle probe-xt )
part-handlers list-add , ,
;
: register-fs-handler ( handler-ph -- )
dup " probe" rot find-method
0= abort" Missing probe method!"
( phandle probe-xt )
fs-handlers list-add , ,
;
finish-device
\ ---------------------------------------------------------------------------
\ methods to register partion and filesystem packages used by disk-label
\ ---------------------------------------------------------------------------
device-end
: register-partition-package ( -- )
" register-part-handler" " disk-label" $find-package-method ?dup if
active-package swap execute
else
." [disk-label] internal error" cr
then
;
: register-fs-package ( -- )
" register-fs-handler" " disk-label" $find-package-method ?dup if
active-package swap execute
else
." [misc-files] internal error" cr
then
;
[THEN]
device-end
\ -------------------------------------------------------------
\ command line editor (/packages/cmdline)
\ -------------------------------------------------------------
[IFDEF] CONFIG_CMDLINE
dev /packages
new-device
" cmdline" device-name
:noname
" " [active-package], open-package
?dup if
" cmdline" rot $call-method
else
." cmdline is missing!" cr
then
\ cmdline must close itself upon return
;
:noname
[ ['] (lit) , swap , ] to outer-interpreter
; SYSTEM-initializer
external
: prepare 0 to my-self ;
finish-device
[THEN]
device-end

View File

@ -16,7 +16,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "modules.h"
#include "packages.h"
#include "ofmem.h"
#include "libc/vsprintf.h"

View File

@ -16,7 +16,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "modules.h"
#include "packages.h"
#include "libc/vsprintf.h"
typedef struct {

View File

@ -17,7 +17,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "libc/diskio.h"
#include "modules.h"
#include "packages.h"
typedef struct {
ucell mark_hi, mark_lo;

View File

@ -17,7 +17,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "libc/diskio.h"
#include "modules.h"
#include "packages.h"
//#define DEBUG_DISK_LABEL

View File

@ -16,7 +16,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "modules.h"
#include "packages.h"
#include "ofmem.h"
#include "openbios/elf.h"

View File

@ -16,7 +16,7 @@
#include "openbios/config.h"
#include "openbios/kernel.h"
#include "modules.h"
#include "packages.h"
void
modules_init( void )
@ -31,7 +31,7 @@ modules_init( void )
disklabel_init();
#endif
#ifdef CONFIG_FS
filesystem_init();
files_init();
#endif
#ifdef CONFIG_MAC_PARTS
macparts_init();

View File

@ -17,7 +17,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "mac-parts.h"
#include "modules.h"
#include "packages.h"
#ifdef CONFIG_DEBUG_MAC_PARTS
#define DPRINTF(fmt, args...) \

View File

@ -19,7 +19,7 @@
#include "openbios/bindings.h"
#include "openbios/fs.h"
#include "libc/diskio.h"
#include "modules.h"
#include "packages.h"
#define PATHBUF_SIZE 256
#define VOLNAME_SIZE 64
@ -331,7 +331,7 @@ NODE_METHODS( files ) = {
void
filesystem_init( void )
files_init( void )
{
REGISTER_NODE( files );
}

View File

@ -2,9 +2,9 @@
* Creation Date: <2003/12/23 00:32:12 samuel>
* Time-stamp: <2003/12/28 14:47:02 samuel>
*
* <modules.h>
* <packages.h>
*
* Module initialization
* Package initialization
*
* Copyright (C) 2003 Samuel Rydh (samuel@ibrium.se)
*
@ -19,7 +19,7 @@
extern void deblocker_init( void );
extern void disklabel_init( void );
extern void filesystem_init( void );
extern void files_init( void );
extern void macparts_init( void );
extern void pcparts_init( void );
extern void sunparts_init( void );

View File

@ -15,7 +15,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "libc/byteorder.h"
#include "modules.h"
#include "packages.h"
typedef struct {
ullong offs;

View File

@ -15,7 +15,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "libc/byteorder.h"
#include "modules.h"
#include "packages.h"
#ifdef CONFIG_DEBUG_SUN_PARTS
#define DPRINTF(fmt, args...) \

View File

@ -16,7 +16,7 @@
#include "openbios/config.h"
#include "openbios/bindings.h"
#include "modules.h"
#include "packages.h"
#include "ofmem.h"
#include "openbios/xcoff.h"