Subversion Repositories HelenOS

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
1978 6399 d 18 h jermar /trunk/ sparc64 code to support physical memory that starts on non-zero addresses.
Still needs to be tested on systems with such setup.
 
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/boot/arch/sparc64/loader/asm.h
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/ofwarch.h
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/mm/page.h
/trunk/kernel/arch/sparc64/include/trap/mmu.h
/trunk/kernel/arch/sparc64/src/start.S
1899 6452 d 1 h jermar /trunk/ sparc64 work:
- Loader now starts all processors.
- Kernel halts all but the bootstrup processor for now.
- Read clock-frequency from the respective processor node in the device tree
 
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/boot/arch/sparc64/loader/asm.h
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/ofwarch.h
/trunk/boot/genarch/ofw.c
/trunk/boot/genarch/ofw.h
/trunk/kernel/arch/sparc64/include/arch.h
/trunk/kernel/arch/sparc64/include/asm.h
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/register.h
/trunk/kernel/arch/sparc64/src/cpu/cpu.c
/trunk/kernel/arch/sparc64/src/drivers/tick.c
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/genarch/include/ofw/ofw_tree.h
/trunk/kernel/genarch/src/ofw/ofw_tree.c
1897 6455 d 1 h jermar /trunk/ Convert sparc64 framebuffer code to configure from the OpenFirmware device tree memory representation.  
/trunk/kernel/arch/sparc64/include/drivers/scr.h
/trunk/kernel/arch/sparc64/src/drivers/scr.c
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/src/console.c
/trunk/kernel/genarch/include/ofw/ofw_tree.h
/trunk/kernel/genarch/src/ofw/pci.c
1896 6455 d 16 h jermar /trunk/ Convert sparc64 to detect keyboard and determine
its physical address by walking the memory representation
of the OpenFirmware device tree.

Add bus-specific functions that know how to apply the
"ranges" property to one component of the "reg" property.
Buses supported so far include FHC, EBUS and PCI.
 
/trunk/kernel/genarch/src/ofw/ebus.c
/trunk/kernel/genarch/src/ofw/fhc.c
/trunk/kernel/genarch/src/ofw/pci.c
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/genarch/ofw_tree.c
/trunk/boot/generic/string.c
/trunk/boot/generic/string.h
/trunk/kernel/Makefile
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/drivers/kbd.h
/trunk/kernel/arch/sparc64/src/console.c
/trunk/kernel/arch/sparc64/src/drivers/kbd.c
/trunk/kernel/arch/sparc64/src/trap/interrupt.c
/trunk/kernel/genarch/Makefile.inc
/trunk/kernel/genarch/include/kbd/i8042.h
/trunk/kernel/genarch/include/kbd/key.h
/trunk/kernel/genarch/include/kbd/ns16550.h
/trunk/kernel/genarch/include/kbd/z8530.h
/trunk/kernel/genarch/include/ofw/ofw_tree.h
/trunk/kernel/genarch/src/kbd/i8042.c
/trunk/kernel/genarch/src/kbd/key.c
/trunk/kernel/genarch/src/kbd/ns16550.c
/trunk/kernel/genarch/src/kbd/z8530.c
/trunk/kernel/genarch/src/ofw/ofw_tree.c
/trunk/kernel/generic/include/func.h
/trunk/kernel/generic/src/lib/func.c
/trunk/kernel/kernel.config
1894 6458 d 15 h jermar /trunk/ Add balloc() (a.k.a boot allocator):
- balloc() only needs to know how to allocate memory.
- Memory allocated via balloc() is supposed to be passed to kernel and never freed by boot itself.
- make kernel aware of boot allocations

More work on OFW device tree:
- use balloc() to efficiently and safely allocate memory for the canonical copy of the device tree

sparc64 boot:
- pass OFW device tree root node pointer to kernel
 
/trunk/boot/genarch/balloc.c
/trunk/boot/genarch/balloc.h
/trunk/kernel/genarch/include/ofw
/trunk/kernel/genarch/include/ofw/ofw_tree.h
/trunk/kernel/genarch/src/ofw
/trunk/kernel/genarch/src/ofw/ofw_tree.c
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/genarch/ofw_tree.c
/trunk/boot/genarch/ofw_tree.h
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/genarch/Makefile.inc
/trunk/kernel/generic/include/config.h
/trunk/kernel/generic/src/main/main.c
/trunk/kernel/generic/src/mm/frame.c
1881 6466 d 1 h jermar /trunk/ sparc64 work:
- find a CPU node and read its clock_frequency attribute
- implement asm_delay_loop()
- set TICK_COMPARE register according to processor frequency
- small improvements at random places

OpenFirmware work:
- two new functions for walking the device tree

Generic boot loader work:
- added basic string functions

Usual pile of indentation and formatting fixes.
 
/trunk/boot/generic/string.c
/trunk/boot/generic/string.h
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/ofwarch.h
/trunk/boot/genarch/ofw.c
/trunk/boot/genarch/ofw.h
/trunk/boot/generic/gentypes.h
/trunk/kernel/arch/ia64/src/drivers/it.c
/trunk/kernel/arch/mips32/include/asm.h
/trunk/kernel/arch/mips32/src/interrupt.c
/trunk/kernel/arch/sparc64/include/asm.h
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/cpu.h
/trunk/kernel/arch/sparc64/include/drivers/tick.h
/trunk/kernel/arch/sparc64/src/cpu/cpu.c
/trunk/kernel/arch/sparc64/src/drivers/tick.c
/trunk/kernel/arch/sparc64/src/dummy.s
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/generic/include/arch.h
/trunk/kernel/generic/include/cpu.h
/trunk/kernel/generic/include/time/clock.h
/trunk/kernel/generic/include/time/delay.h
/trunk/kernel/generic/include/time/timeout.h
/trunk/kernel/generic/include/typedefs.h
/trunk/kernel/generic/src/cpu/cpu.c
1790 6526 d 20 h jermar /trunk/ Remove OpenFirmware calls from kernel/ entirely.

Switch the sparc64 port to use bootinfo.

Copy memcpy from boot/ to sparc64 kernel/ and
adjust it for memcpy_from/to_uspace.
 
/trunk/kernel/genarch/include/ofw
/trunk/kernel/genarch/src/ofw
/trunk/boot/arch/sparc64/loader/asm.S
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/genarch/ofw.c
/trunk/boot/genarch/ofw.h
/trunk/kernel/arch/ppc32/src/ppc32.c
/trunk/kernel/arch/sparc64/Makefile.inc
/trunk/kernel/arch/sparc64/_link.ld.in
/trunk/kernel/arch/sparc64/include/boot/boot.h
/trunk/kernel/arch/sparc64/include/drivers/fb.h
/trunk/kernel/arch/sparc64/include/drivers/i8042.h
/trunk/kernel/arch/sparc64/include/drivers/tick.h
/trunk/kernel/arch/sparc64/src/asm.S
/trunk/kernel/arch/sparc64/src/console.c
/trunk/kernel/arch/sparc64/src/drivers/i8042.c
/trunk/kernel/arch/sparc64/src/mm/frame.c
/trunk/kernel/arch/sparc64/src/mm/memory_init.c
/trunk/kernel/arch/sparc64/src/sparc64.c
/trunk/kernel/arch/sparc64/src/start.S
/trunk/kernel/genarch/Makefile.inc
/trunk/kernel/genarch/src/fb/fb.c
/trunk/kernel/generic/src/mm/frame.c
1789 6526 d 23 h jermar /trunk/ Fix ofw_memmap() in boot infrastructure.
The cell size is 32-bit and not equal sizeof(ofw_arg_t).
Define architecture dependant #address-cells and #size-cells for cases
the respective properties are missing in the OpenFirmware device tree.
The algorithm now works both for ppc32 and sparc64.

Add memmap_t, screen_t and keyboard_t to sparc64 bootinfo structure.
Be more verbose during sparc64 boot.

Move ALIGN_UP to generic part of boot/.

Change header guards in several places so that they don't contain double underscore.
 
/trunk/boot/arch/ppc32/loader/ofwarch.c
/trunk/boot/arch/ppc32/loader/ofwarch.h
/trunk/boot/arch/ppc64/loader/ofwarch.c
/trunk/boot/arch/ppc64/loader/ofwarch.h
/trunk/boot/arch/sparc64/loader/ofwarch.c
/trunk/boot/arch/sparc64/loader/ofwarch.h
/trunk/boot/generic/align.h
/trunk/kernel/arch/sparc64/include/regdef.h
/trunk/boot/arch/ppc32/loader/ofw.c
/trunk/boot/arch/ppc64/loader/ofw.c
/trunk/boot/arch/sparc64/loader/ofw.c
/trunk/boot/arch/ppc32/loader/Makefile
/trunk/boot/arch/ppc32/loader/asm.h
/trunk/boot/arch/ppc32/loader/boot.S
/trunk/boot/arch/ppc32/loader/main.c
/trunk/boot/arch/ppc32/loader/main.h
/trunk/boot/arch/ppc32/loader/types.h
/trunk/boot/arch/ppc64/loader/Makefile
/trunk/boot/arch/ppc64/loader/boot.S
/trunk/boot/arch/ppc64/loader/main.c
/trunk/boot/arch/ppc64/loader/main.h
/trunk/boot/arch/ppc64/loader/types.h
/trunk/boot/arch/sparc64/loader/Makefile
/trunk/boot/arch/sparc64/loader/asm.h
/trunk/boot/arch/sparc64/loader/boot.S
/trunk/boot/arch/sparc64/loader/main.c
/trunk/boot/arch/sparc64/loader/main.h
/trunk/boot/arch/sparc64/loader/types.h
/trunk/boot/genarch/ofw.c
/trunk/boot/genarch/ofw.h
/trunk/boot/generic/gentypes.h
/trunk/boot/generic/printf.h
/trunk/kernel/arch/sparc64/include/register.h
/trunk/kernel/arch/sparc64/src/asm.S
/trunk/kernel/arch/sparc64/src/start.S
1787 6528 d 20 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
/trunk
/trunk/boot
/trunk/kernel
/trunk/uspace
/boot/trunk
/kernel/trunk
/uspace/trunk
1771 6536 d 18 h jermar /boot/trunk/ Cleanup OpenFirmware driver and prepare it for integration with sparc64 bootloader.
Start sparc64 boot loader (now inactive and unfunctional).
 
/boot/trunk/arch/sparc64/loader
/boot/trunk/arch/sparc64/loader/ofw.c
/boot/trunk/arch/sparc64/loader/msim.c
/boot/trunk/arch/sparc64/loader/msim.h
/boot/trunk/arch/sparc64/loader/regname.h
/boot/trunk/arch/ppc32/loader/ofw.c
/boot/trunk/arch/ppc64/loader/ofw.c
/boot/trunk/arch/sparc64/Makefile.inc
/boot/trunk/arch/sparc64/loader/Makefile
/boot/trunk/arch/sparc64/loader/asm.S
/boot/trunk/arch/sparc64/loader/asm.h
/boot/trunk/arch/sparc64/loader/boot.S
/boot/trunk/arch/sparc64/loader/main.c
/boot/trunk/arch/sparc64/loader/pack
/boot/trunk/arch/sparc64/loader/types.h
/boot/trunk/genarch/ofw.c
/boot/trunk/genarch/ofw.h
1685 6560 d 3 h decky /boot/trunk/arch/mips32/ mips piggybacker  
/boot/trunk/arch/mips32/loader/pack
/boot/trunk/arch/mips32/loader/_link.ld
/boot/trunk/arch/mips32/Makefile.inc
/boot/trunk/arch/mips32/loader/Makefile
/boot/trunk/arch/mips32/loader/asm.S
/boot/trunk/arch/mips32/loader/asm.h
/boot/trunk/arch/mips32/loader/boot.S
/boot/trunk/arch/mips32/loader/main.c
/boot/trunk/arch/mips32/loader/main.h
/boot/trunk/arch/mips32/loader/printf.h
1018 6646 d 23 h decky /boot/trunk/ boot loader for msim  
/boot/trunk/arch/mips32
/boot/trunk/arch/mips32/Makefile.inc
/boot/trunk/arch/mips32/loader
/boot/trunk/arch/mips32/loader/Makefile
/boot/trunk/arch/mips32/loader/_link.ld
/boot/trunk/arch/mips32/loader/asm.S
/boot/trunk/arch/mips32/loader/asm.h
/boot/trunk/arch/mips32/loader/boot.S
/boot/trunk/arch/mips32/loader/main.c
/boot/trunk/arch/mips32/loader/main.h
/boot/trunk/arch/mips32/loader/msim.c
/boot/trunk/arch/mips32/loader/msim.h
/boot/trunk/arch/mips32/loader/printf.c
/boot/trunk/arch/mips32/loader/printf.h
/boot/trunk/arch/mips32/loader/regname.h
/boot/trunk/boot.config