Changeset 63cda71 in mainline for boot/arch/sparc64
- Timestamp:
- 2006-07-13T14:58:57Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 94d614e
- Parents:
- eda7bf81
- Location:
- boot/arch/sparc64/loader
- Files:
-
- 2 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/arch/sparc64/loader/Makefile
reda7bf81 r63cda71 53 53 ../../../generic/printf.c \ 54 54 ../../../genarch/ofw.c \ 55 ofw .c \55 ofwarch.c \ 56 56 asm.S \ 57 57 boot.S … … 65 65 .PHONY: all clean depend 66 66 67 all: image.boot 67 all: image.boot disasm 68 68 69 69 -include Makefile.depend … … 86 86 %.o: %.c 87 87 $(CC) $(DEFS) $(CFLAGS) -c $< -o $@ 88 89 disasm: image.boot 90 $(OBJDUMP) -d image.boot > boot.disasm -
boot/arch/sparc64/loader/asm.h
reda7bf81 r63cda71 27 27 */ 28 28 29 #ifndef __ASM_H__30 #define __ASM_H__29 #ifndef BOOT_sparc64_ASM_H_ 30 #define BOOT_sparc64_ASM_H_ 31 31 32 32 #define PAGE_SIZE 8192 -
boot/arch/sparc64/loader/boot.S
reda7bf81 r63cda71 30 30 31 31 #define PSTATE_IE_BIT 2 32 #define PSTATE_AM_BIT 8 32 33 33 34 .register %g2, #scratch … … 56 57 57 58 /* 58 * Disable interrupts .59 * Disable interrupts and disable address masking. 59 60 */ 60 61 rdpr %pstate, %g2 61 and %g2, ~ PSTATE_IE_BIT, %g2 ! mask the Interrupt Enable bit62 and %g2, ~(PSTATE_IE_BIT|PSTATE_AM_BIT), %g2 62 63 wrpr %g2, 0, %pstate 63 64 … … 66 67 set ofw_cif, %l0 67 68 68 call init ! initialize OpenFirmware69 call ofw_init ! initialize OpenFirmware 69 70 stx %o4, [%l0] 70 71 -
boot/arch/sparc64/loader/main.c
reda7bf81 r63cda71 32 32 #include "_components.h" 33 33 #include <ofw.h> 34 #include <align.h> 34 35 35 36 #define KERNEL_VIRTUAL_ADDRESS 0x400000 … … 44 45 init_components(components); 45 46 47 if (!ofw_memmap(&bootinfo.memmap)) { 48 printf("Error: unable to get memory map, halting.\n"); 49 halt(); 50 } 51 52 if (bootinfo.memmap.total == 0) { 53 printf("Error: no memory detected, halting.\n"); 54 halt(); 55 } 56 57 if (!ofw_screen(&bootinfo.screen)) { 58 printf("Error: unable to get screen properties, halting.\n"); 59 halt(); 60 } 61 bootinfo.screen.addr = ofw_translate(bootinfo.screen.addr); 62 63 if (!ofw_keyboard(&bootinfo.keyboard)) { 64 printf("Error: unable to get keyboard properties, halting.\n"); 65 halt(); 66 } 67 68 printf("\nDevice statistics\n"); 69 printf(" memory: %dM\n", bootinfo.memmap.total>>20); 70 printf(" screen at %P, resolution %dx%d, %d bpp (scanline %d bytes)\n", (uintptr_t) bootinfo.screen.addr, bootinfo.screen.width, bootinfo.screen.height, bootinfo.screen.bpp, bootinfo.screen.scanline); 71 printf(" keyboard at %P (size %d bytes)\n", (uintptr_t) bootinfo.keyboard.addr, bootinfo.keyboard.size); 72 46 73 printf("\nMemory statistics\n"); 47 printf(" kernel entry point at % L\n", KERNEL_VIRTUAL_ADDRESS);48 printf(" % L: boot info structure\n", &bootinfo);74 printf(" kernel entry point at %P\n", KERNEL_VIRTUAL_ADDRESS); 75 printf(" %P: boot info structure\n", &bootinfo); 49 76 50 77 unsigned int i; 51 78 for (i = 0; i < COMPONENTS; i++) 52 printf(" % L: %s image (size %d bytes)\n", components[i].start, components[i].name, components[i].size);79 printf(" %P: %s image (size %d bytes)\n", components[i].start, components[i].name, components[i].size); 53 80 54 81 printf("\nCopying components\n"); -
boot/arch/sparc64/loader/main.h
reda7bf81 r63cda71 27 27 */ 28 28 29 #ifndef __MAIN_H__30 #define __MAIN_H__29 #ifndef BOOT_sparc64_MAIN_H_ 30 #define BOOT_sparc64_MAIN_H_ 31 31 32 /** Align to the nearest higher address. 33 * 34 * @param addr Address or size to be aligned. 35 * @param align Size of alignment, must be power of 2. 36 */ 37 #define ALIGN_UP(addr, align) (((addr) + ((align) - 1)) & ~((align) - 1)) 32 #include <ofw.h> 38 33 39 34 #define TASKMAP_MAX_RECORDS 32 … … 47 42 unsigned int cnt; 48 43 task_t tasks[TASKMAP_MAX_RECORDS]; 44 memmap_t memmap; 45 screen_t screen; 46 keyboard_t keyboard; 49 47 } bootinfo_t; 50 48 -
boot/arch/sparc64/loader/types.h
reda7bf81 r63cda71 27 27 */ 28 28 29 #ifndef TYPES_H__30 #define TYPES_H__29 #ifndef BOOT_sparc64_TYPES_H_ 30 #define BOOT_sparc64_TYPES_H_ 31 31 32 32 #include <gentypes.h>
Note:
See TracChangeset
for help on using the changeset viewer.