2004-03-29 Marco Gerards <metgerards@student.han.nl>

Add support for the newworld apple macintosh (PPC).  This has been
	tested on the powerbook 2000 only.  It only adds support for
	generic ieee1275 functions, console and disk support.  This should
	be easy to port to other architectures with support for Open
	Firmware.

	* configure.ac: Accept the powerpc as host_cpu.  In the case of
	the powerpc cpu set the host_vendor to ieee1275.  Make sure the i386
	specific tests are only executed while building for the i386.
	Inverse test for crosscompile.
	* genmk.rb (Utility): Allow assembler files.
	* normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
	* conf/powerpc-ieee1275.rmk: New file.
	* disk/powerpc/ieee1275/ofdisk.c: Likewise.
	* disk/powerpc/ieee1275/partition.c: Likewise.
	* include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
	* include/pupa/powerpc/ieee1275/console.h: Likewise.
	* include/pupa/powerpc/ieee1275/partition.h: Likewise.
	* include/pupa/powerpc/ieee1275/time.h: Likewise.
	* include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
	* include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
	* include/pupa/powerpc/ieee1275/loader.h
	* include/pupa/powerpc/setjmp.h: Likewise.
	* include/pupa/powerpc/types.h: Likewise.
	* kern/powerpc/ieee1275/init.c: Likewise.
	* kern/powerpc/ieee1275/openfw.c: Likewise.
	* term/powerpc/ieee1275/ofconsole.c: Likewise.

	These files were written by Johan Rydberg
	(jrydberg@night.trouble.net) and I only modified them slightly.

	* boot/powerpc/ieee1275/cmain.c: New file.
	* boot/powerpc/ieee1275/crt0.S: Likewise.
	* boot/powerpc/ieee1275/ieee1275.c: Likewise.
	* include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
This commit is contained in:
marco_g 2004-03-28 21:52:02 +00:00
parent 8c8cc20511
commit e56cdf2111
25 changed files with 2768 additions and 22 deletions

51
conf/powerpc-ieee1275.rmk Normal file
View file

@ -0,0 +1,51 @@
# -*- makefile -*-
COMMON_ASFLAGS = -nostdinc -fno-builtin -D__ASSEMBLY__
COMMON_CFLAGS = -fno-builtin -D__ASSEMBLY__
# Images.
MOSTLYCLEANFILES += symlist.c kernel_syms.lst
DEFSYMFILES += kernel_syms.lst
symlist.c: $(addprefix include/pupa/,$(kernel_img_HEADERS)) gensymlist.sh
sh $(srcdir)/gensymlist.sh $(filter %.h,$^) > $@
kernel_syms.lst: $(addprefix include/pupa/,$(kernel_img_HEADERS)) genkernsyms.sh
sh $(srcdir)/genkernsyms.sh $(filter %h,$^) > $@
# Utilities.
sbin_UTILITIES = pupaof
bin_UTILITIES = pupa-emu
noinst_UTILITIES = genmoddep
# For pupa-emu
pupa_emu_SOURCES = kern/main.c kern/device.c \
kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
kern/misc.c kern/loader.c kern/rescue.c kern/term.c \
disk/powerpc/ieee1275/partition.c \
util/i386/pc/biosdisk.c fs/fat.c fs/ext2.c \
normal/cmdline.c normal/command.c normal/main.c normal/menu.c \
util/console.c util/pupa-emu.c util/misc.c util/i386/pc/getroot.c \
kern/env.c
pupa_emu_LDFLAGS = -lncurses
pupaof_SOURCES = boot/powerpc/ieee1275/cmain.c boot/powerpc/ieee1275/ieee1275.c \
boot/powerpc/ieee1275/crt0.S kern/main.c kern/device.c \
kern/disk.c kern/dl.c kern/file.c kern/fs.c kern/err.c \
kern/misc.c kern/mm.c kern/loader.c kern/rescue.c kern/term.c \
kern/powerpc/ieee1275/init.c term/powerpc/ieee1275/ofconsole.c \
kern/powerpc/ieee1275/openfw.c fs/ext2.c normal/cmdline.c \
normal/command.c normal/main.c normal/menu.c \
disk/powerpc/ieee1275/ofdisk.c disk/powerpc/ieee1275/partition.c \
kern/env.c normal/arg.c
pupaof_HEADERS = pupa/powerpc/ieee1275/ieee1275.h
pupaof_CFLAGS = $(COMMON_CFLAGS)
pupaof_ASFLAGS = $(COMMON_ASFLAGS)
pupaof_LDFLAGS = -Wl,-Ttext,0x200000,-Bstatic
# For genmoddep.
genmoddep_SOURCES = util/genmoddep.c
# Modules.