- Timestamp:
- 2011-08-03T17:34:57Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1940326
- Parents:
- 52a79081 (diff), 3fab770 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- boot
- Files:
-
- 10 added
- 2 deleted
- 15 edited
- 1 moved
-
Makefile (modified) (3 diffs)
-
Makefile.build (modified) (2 diffs)
-
Makefile.common (modified) (6 diffs)
-
Makefile.silo (modified) (1 diff)
-
Makefile.uboot (modified) (2 diffs)
-
arch/amd64/Makefile.inc (modified) (1 diff)
-
arch/ia64/include/types.h (modified) (3 diffs)
-
arch/ia64/src/boot.S (modified) (2 diffs)
-
arch/ia64/src/main.c (modified) (3 diffs)
-
arch/mips32/Makefile.inc (modified) (1 diff)
-
arch/mips64/Makefile.inc (added)
-
arch/mips64/_link.ld.in (added)
-
arch/mips64/include/arch.h (added)
-
arch/mips64/include/asm.h (added)
-
arch/mips64/include/main.h (added)
-
arch/mips64/include/regname.h (added)
-
arch/mips64/include/types.h (added)
-
arch/mips64/src/asm.S (added)
-
arch/mips64/src/main.c (added)
-
arch/mips64/src/putchar.c (moved) (moved from kernel/test/fpu/fpu1_skip.c ) (2 diffs)
-
arch/ppc32/Makefile.inc (modified) (1 diff)
-
arch/ppc32/src/asm.S (modified) (2 diffs)
-
arch/sparc64/Makefile.inc (modified) (1 diff)
-
arch/sparc64/src/main.c (modified) (1 diff)
-
genarch/include/efi.h (added)
-
generic/src/version.c (modified) (1 diff)
-
silo/raw/isofs.b (deleted)
-
silo/raw/second.b (deleted)
Legend:
- Unmodified
- Added
- Removed
-
boot/Makefile
r52a79081 ra33f0a6 50 50 $(MKFAT) 1048576 $(DIST_PATH) $@ 51 51 endif 52 ifeq ($(RDFMT),ext2fs) 53 $(MKEXT2) 1048576 $(DIST_PATH) $@ 54 endif 52 55 53 56 build_dist: clean_dist 54 57 for file in $(RD_SRVS) ; do \ 55 58 cp "$$file" "$(DIST_PATH)/srv/" ; \ 59 done 60 for file in $(RD_LIBS) ; do \ 61 cp "$$file" "$(DIST_PATH)/lib/" ; \ 56 62 done 57 63 for file in $(RD_APPS) ; do \ … … 62 68 done 63 69 for drv in $(RD_DRVS) ; do \ 64 mkdir -p "$(DIST_PATH)/$(DRVS_PATH)/$$drv" ; \ 65 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv/$$drv" "$(DIST_PATH)/$(DRVS_PATH)/$$drv/$$drv" ; \ 66 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv/$$drv.ma" "$(DIST_PATH)/$(DRVS_PATH)/$$drv/$$drv.ma" ; \ 70 drv_dir="`dirname "$$drv"`" ; \ 71 drv_name="`basename "$$drv"`" ; \ 72 mkdir -p "$(DIST_PATH)/$(DRVS_PATH)/$$drv_name" ; \ 73 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv_dir/$$drv_name/$$drv_name" "$(DIST_PATH)/$(DRVS_PATH)/$$drv_name/" ; \ 74 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$drv_dir/$$drv_name/$$drv_name.ma" "$(DIST_PATH)/$(DRVS_PATH)/$$drv_name/" ; \ 67 75 done 68 76 for file in $(RD_DRV_CFG) ; do \ 69 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$file" "$(DIST_PATH)/$(DRVS_PATH)/$$file" ; \ 77 file_dir="`dirname "$$file"`" ; \ 78 file_name="`basename "$$file"`" ; \ 79 cp "$(USPACE_PATH)/$(DRVS_PATH)/$$file_dir/$$file_name/$$file_name.dev" "$(DIST_PATH)/$(DRVS_PATH)/$$file_name/" ; \ 70 80 done 71 81 72 82 clean: clean_dist 73 83 $(MAKE) -f $(BUILD) clean PRECHECK=$(PRECHECK) … … 83 93 rm -f $(USPACE_PATH)/dist/srv/* 84 94 rm -rf $(USPACE_PATH)/dist/drv/* 95 rm -f $(USPACE_PATH)/dist/lib/* 85 96 rm -f $(USPACE_PATH)/dist/app/* 86 97 rm -f $(USPACE_PATH)/dist/cfg/net/* -
boot/Makefile.build
r52a79081 ra33f0a6 40 40 -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \ 41 41 -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \ 42 - Werror-implicit-function-declaration -Wwrite-strings \42 -std=gnu99 -Werror-implicit-function-declaration -Wwrite-strings \ 43 43 -pipe 44 44 … … 111 111 112 112 $(RAW): $(OBJECTS) $(COMPONENT_OBJECTS) $(LINK) 113 $(LD) - N$(LFLAGS) -T $(LINK) -M -Map $(MAP) -o $@ $(COMPONENT_OBJECTS) $(OBJECTS)113 $(LD) -n $(LFLAGS) -T $(LINK) -M -Map $(MAP) -o $@ $(COMPONENT_OBJECTS) $(OBJECTS) 114 114 115 115 $(LINK): $(LINK).comp $(DEPEND) -
boot/Makefile.common
r52a79081 ra33f0a6 56 56 MKTMPFS = $(TOOLS_PATH)/mktmpfs.py 57 57 MKFAT = $(TOOLS_PATH)/mkfat.py 58 MKEXT2 = $(TOOLS_PATH)/mkext2.py 58 59 MKUIMAGE = $(TOOLS_PATH)/mkuimage.py 59 60 … … 84 85 endif 85 86 87 ifeq ($(RDFMT),ext2fs) 88 INIT_TASKS += $(USPACE_PATH)/srv/fs/ext2fs/ext2fs 89 endif 90 86 91 RD_SRVS_ESSENTIAL = \ 87 92 $(USPACE_PATH)/srv/hid/fb/fb \ 88 $(USPACE_PATH)/srv/hid/ kbd/kbd\93 $(USPACE_PATH)/srv/hid/input/input \ 89 94 $(USPACE_PATH)/srv/hid/console/console \ 90 95 $(USPACE_PATH)/srv/fs/devfs/devfs … … 98 103 $(USPACE_PATH)/srv/fs/fat/fat \ 99 104 $(USPACE_PATH)/srv/fs/exfat/exfat \ 105 $(USPACE_PATH)/srv/fs/ext2fs/ext2fs \ 100 106 $(USPACE_PATH)/srv/taskmon/taskmon \ 101 107 $(USPACE_PATH)/srv/hw/netif/ne2000/ne2000 \ … … 110 116 $(USPACE_PATH)/srv/net/net/net \ 111 117 $(USPACE_PATH)/srv/devman/devman 112 118 113 119 RD_DRVS = \ 114 root \ 115 rootvirt \ 116 test1 \ 117 test2 118 119 RD_DRV_CFG = 120 infrastructure/root \ 121 infrastructure/rootvirt \ 122 test/test1 \ 123 test/test2 \ 124 test/test3 125 126 RD_DRV_CFG = 127 128 RD_LIBS = 129 130 ifeq ($(CONFIG_BUILD_SHARED_LIBS), y) 131 RD_LIBS += \ 132 $(USPACE_PATH)/lib/c/libc.so0 \ 133 $(USPACE_PATH)/lib/softint/libsofti.so0 134 RD_APPS += \ 135 $(USPACE_PATH)/app/dltest/dltest 136 endif 120 137 121 138 RD_APPS_ESSENTIAL = \ … … 125 142 126 143 RD_APPS_NON_ESSENTIAL = \ 144 $(USPACE_PATH)/app/blkdump/blkdump \ 145 $(USPACE_PATH)/app/bnchmark/bnchmark \ 146 $(USPACE_PATH)/app/dltest/dltest \ 147 $(USPACE_PATH)/app/dltest2/dltest2 \ 148 $(USPACE_PATH)/app/dload/dload \ 127 149 $(USPACE_PATH)/app/edit/edit \ 128 150 $(USPACE_PATH)/app/filecrc/filecrc \ 129 151 $(USPACE_PATH)/app/filegen/filegen \ 152 $(USPACE_PATH)/app/ext2info/ext2info \ 130 153 $(USPACE_PATH)/app/kill/kill \ 131 154 $(USPACE_PATH)/app/killall/killall \ 132 155 $(USPACE_PATH)/app/mkfat/mkfat \ 156 $(USPACE_PATH)/app/lsusb/lsusb \ 133 157 $(USPACE_PATH)/app/sbi/sbi \ 134 158 $(USPACE_PATH)/app/redir/redir \ 135 159 $(USPACE_PATH)/app/taskdump/taskdump \ 136 160 $(USPACE_PATH)/app/tester/tester \ 161 $(USPACE_PATH)/app/testread/testread \ 137 162 $(USPACE_PATH)/app/tetris/tetris \ 138 163 $(USPACE_PATH)/app/trace/trace \ … … 142 167 $(USPACE_PATH)/app/ping/ping \ 143 168 $(USPACE_PATH)/app/stats/stats \ 169 $(USPACE_PATH)/app/sysinfo/sysinfo \ 144 170 $(USPACE_PATH)/app/top/top \ 145 $(USPACE_PATH)/app/sysinfo/sysinfo \ 171 $(USPACE_PATH)/app/usbinfo/usbinfo \ 172 $(USPACE_PATH)/app/vuhid/vuh \ 173 $(USPACE_PATH)/app/mkbd/mkbd \ 146 174 $(USPACE_PATH)/app/websrv/websrv 147 175 -
boot/Makefile.silo
r52a79081 ra33f0a6 31 31 include Makefile.common 32 32 33 ifeq ($(CONFIG_AOUT_ISOFS_B),y) 34 SILO_PACKAGE = a.out 35 else 36 SILO_PACKAGE = raw 37 endif 33 SILO_PACKAGE = a.out 38 34 39 35 ISOFS_B = silo/$(SILO_PACKAGE)/isofs.b -
boot/Makefile.uboot
r52a79081 ra33f0a6 31 31 include Makefile.common 32 32 33 IMAGE_NAME =HelenOS-$(RELEASE)34 BIN_OUTPUT =image.bin33 IMAGE_NAME = HelenOS-$(RELEASE) 34 BIN_OUTPUT = image.bin 35 35 36 36 all: $(POST_OUTPUT) … … 40 40 41 41 $(POST_OUTPUT): $(BIN_OUTPUT) 42 $(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr 0x30008000 -saddr 0x30008000 \ 43 $< $@ 42 $(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr 0x30008000 -saddr 0x30008000 $< $@ 44 43 45 44 clean: -
boot/arch/amd64/Makefile.inc
r52a79081 ra33f0a6 35 35 36 36 RD_SRVS_NON_ESSENTIAL += \ 37 $(USPACE_PATH)/srv/bd/ata_bd/ata_bd \ 38 $(USPACE_PATH)/srv/hid/char_mouse/char_ms 37 $(USPACE_PATH)/srv/bd/ata_bd/ata_bd 39 38 40 39 RD_DRVS += \ 41 rootpc \ 42 pciintel \ 43 isa \ 44 ns8250 40 infrastructure/rootpc \ 41 bus/pci/pciintel \ 42 bus/isa \ 43 char/ns8250 \ 44 bus/usb/ehci\ 45 bus/usb/ohci \ 46 bus/usb/uhci \ 47 bus/usb/uhcirh \ 48 bus/usb/usbflbk \ 49 bus/usb/usbhub \ 50 bus/usb/usbhid \ 51 bus/usb/usbmast \ 52 bus/usb/usbmid \ 53 bus/usb/usbmouse \ 54 bus/usb/vhc 45 55 46 56 RD_DRV_CFG += \ 47 isa/isa.dev57 bus/isa 48 58 49 59 BOOT_OUTPUT = $(ROOT_PATH)/image.iso -
boot/arch/ia64/include/types.h
r52a79081 ra33f0a6 30 30 #define BOOT_ia64_TYPES_H_ 31 31 32 #include <arch/common.h> 33 32 34 #define TASKMAP_MAX_RECORDS 32 33 35 #define BOOTINFO_TASK_NAME_BUFLEN 32 34 #define MEMMAP_ITEMS 128 36 #define MEMMAP_ITEMS 128 35 37 36 38 typedef uint64_t size_t; … … 53 55 unsigned long base; 54 56 unsigned long size; 55 } efi_memmap_item_t;57 } memmap_item_t; 56 58 57 59 typedef struct { 58 60 binit_t taskmap; 59 61 60 efi_memmap_item_t memmap[MEMMAP_ITEMS];62 memmap_item_t memmap[MEMMAP_ITEMS]; 61 63 unsigned int memmap_items; 62 64 … … 65 67 unsigned long freq_scale; 66 68 unsigned int wakeup_intno; 67 int hello_configured;68 69 } bootinfo_t; 69 70 71 /** This is a minimal ELILO-compatible boot parameter structure. */ 72 typedef struct { 73 uint64_t cmd_line; 74 uint64_t efi_system_table; 75 uint64_t efi_memmap; 76 uint64_t efi_memmap_sz; 77 uint64_t efi_memdesc_sz; 78 } boot_param_t; 79 70 80 #endif -
boot/arch/ia64/src/boot.S
r52a79081 ra33f0a6 37 37 38 38 # 39 # Save the boot parameter structure address passed from the 40 # ELILO-compatible EFI loader. 41 # 42 movl r8 = bootpar ;; 43 st8 [r8] = r28 44 45 # 39 46 # Initialize the register stack to some sane value. 40 47 # … … 62 69 .bss 63 70 71 .global bootpar 72 bootpar: 73 .quad 0 74 64 75 .align STACK_SIZE 65 76 initial_stack: -
boot/arch/ia64/src/main.c
r52a79081 ra33f0a6 30 30 31 31 #include <arch/main.h> 32 #include <arch/types.h> 32 33 #include <arch/arch.h> 33 34 #include <arch/asm.h> 34 35 #include <arch/_components.h> 36 #include <genarch/efi.h> 35 37 #include <halt.h> 36 38 #include <printf.h> … … 51 53 #define DEFAULT_SYS_FREQ 100000000ULL /* 100MHz */ 52 54 53 #define EFI_MEMMAP_FREE_MEM 0 54 #define EFI_MEMMAP_IO 1 55 #define EFI_MEMMAP_IO_PORTS 2 55 #define MEMMAP_FREE_MEM 0 56 #define MEMMAP_IO 1 57 #define MEMMAP_IO_PORTS 2 58 59 extern boot_param_t *bootpar; 56 60 57 61 static bootinfo_t bootinfo; 62 63 static void read_efi_memmap(void) 64 { 65 memmap_item_t *memmap = bootinfo.memmap; 66 size_t items = 0; 67 68 if (!bootpar) { 69 /* Fake-up a memory map for simulators. */ 70 memmap[items].base = DEFAULT_MEMORY_BASE; 71 memmap[items].size = DEFAULT_MEMORY_SIZE; 72 memmap[items].type = MEMMAP_FREE_MEM; 73 items++; 74 75 memmap[items].base = DEFAULT_LEGACY_IO_BASE; 76 memmap[items].size = DEFAULT_LEGACY_IO_SIZE; 77 memmap[items].type = MEMMAP_IO_PORTS; 78 items++; 79 } else { 80 char *cur, *mm_base = (char *) bootpar->efi_memmap; 81 size_t mm_size = bootpar->efi_memmap_sz; 82 size_t md_size = bootpar->efi_memdesc_sz; 83 84 /* 85 * Walk the EFI memory map using the V1 memory descriptor 86 * format. The actual memory descriptor can use newer format, 87 * but it must always be backwards compatible with the V1 88 * format. 89 */ 90 for (cur = mm_base; 91 (cur < mm_base + (mm_size - md_size)) && 92 (items < MEMMAP_ITEMS); 93 cur += md_size) { 94 efi_v1_memdesc_t *md = (efi_v1_memdesc_t *) cur; 95 96 switch ((efi_memory_type_t) md->type) { 97 case EFI_CONVENTIONAL_MEMORY: 98 memmap[items].type = MEMMAP_FREE_MEM; 99 break; 100 case EFI_MEMORY_MAPPED_IO: 101 memmap[items].type = MEMMAP_IO; 102 break; 103 case EFI_MEMORY_MAPPED_IO_PORT_SPACE: 104 memmap[items].type = MEMMAP_IO_PORTS; 105 break; 106 default: 107 continue; 108 } 109 110 memmap[items].base = md->phys_start; 111 memmap[items].size = md->pages * EFI_PAGE_SIZE; 112 items++; 113 } 114 } 115 116 bootinfo.memmap_items = items; 117 } 118 119 static void read_sal_configuration(void) 120 { 121 if (!bootpar) { 122 /* Configure default values for simulators. */ 123 bootinfo.freq_scale = DEFAULT_FREQ_SCALE; 124 bootinfo.sys_freq = DEFAULT_SYS_FREQ; 125 } else { 126 /* TODO: read the real values from SAL */ 127 bootinfo.freq_scale = DEFAULT_FREQ_SCALE; 128 bootinfo.sys_freq = DEFAULT_SYS_FREQ; 129 } 130 } 58 131 59 132 void bootstrap(void) … … 113 186 114 187 printf(".\n"); 115 116 if (!bootinfo.hello_configured) { /* XXX */117 /*118 * Load configuration defaults for simulators.119 */120 bootinfo.memmap_items = 0;121 122 bootinfo.memmap[bootinfo.memmap_items].base =123 DEFAULT_MEMORY_BASE;124 bootinfo.memmap[bootinfo.memmap_items].size =125 DEFAULT_MEMORY_SIZE;126 bootinfo.memmap[bootinfo.memmap_items].type =127 EFI_MEMMAP_FREE_MEM;128 bootinfo.memmap_items++;129 188 130 bootinfo.memmap[bootinfo.memmap_items].base = 131 DEFAULT_LEGACY_IO_BASE; 132 bootinfo.memmap[bootinfo.memmap_items].size = 133 DEFAULT_LEGACY_IO_SIZE; 134 bootinfo.memmap[bootinfo.memmap_items].type = 135 EFI_MEMMAP_IO_PORTS; 136 bootinfo.memmap_items++; 137 138 bootinfo.freq_scale = DEFAULT_FREQ_SCALE; 139 bootinfo.sys_freq = DEFAULT_SYS_FREQ; 140 } 141 189 read_efi_memmap(); 190 read_sal_configuration(); 142 191 143 192 printf("Booting the kernel ...\n"); -
boot/arch/mips32/Makefile.inc
r52a79081 ra33f0a6 30 30 BITS = 32 31 31 PAGE_SIZE = 16384 32 EXTRA_CFLAGS = -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 33 34 RD_SRVS_ESSENTIAL += 32 EXTRA_CFLAGS = -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32 35 33 36 34 RD_SRVS_NON_ESSENTIAL += \ -
boot/arch/mips64/src/putchar.c
r52a79081 ra33f0a6 1 1 /* 2 * Copyright (c) 200 9Martin Decky2 * Copyright (c) 2006 Martin Decky 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 #include <test.h> 29 #include <typedefs.h> 30 #include <arch/arch.h> 31 #include <putchar.h> 32 #include <str.h> 30 33 31 const char *test_fpu1(void)34 void putchar(const wchar_t ch) 32 35 { 33 return NULL; 36 if (ascii_check(ch)) 37 *((char *) MSIM_VIDEORAM_ADDRESS) = ch; 38 else 39 *((char *) MSIM_VIDEORAM_ADDRESS) = U_SPECIAL; 34 40 } -
boot/arch/ppc32/Makefile.inc
r52a79081 ra33f0a6 43 43 $(USPACE_PATH)/srv/hw/bus/cuda_adb/cuda_adb 44 44 45 RD_ SRVS_NON_ESSENTIAL+= \46 $(USPACE_PATH)/srv/hid/adb_mouse/adb_ms45 RD_DRVS += \ 46 infrastructure/rootmac 47 47 48 48 SOURCES = \ -
boot/arch/ppc32/src/asm.S
r52a79081 ra33f0a6 58 58 .endm 59 59 60 .macro BAT_COMPUTE base size mask lower upper 61 # less than 128 KB -> no BAT 62 63 lis \upper, 0x0002 64 cmpw \size, \upper 65 blt no_bat 66 67 # mask = total >> 18 68 69 li \upper, 18 70 srw \mask, \size, \upper 71 72 # create Block Length mask by replicating 73 # the leading logical one 14 times 74 75 li \upper, 14 76 mtctr \mask 77 li \upper, 1 78 79 0: 80 # mask = (mask >> 1) | mask 81 82 srw \lower, \mask, \upper 83 or \mask, \mask, \lower 84 85 bdnz 0b 86 87 # mask = mask & 0x07ff 88 # (BAT can map up to 256 MB) 89 90 andi. \mask, \mask, 0x07ff 91 92 # mask = (mask << 2) | 0x0002 93 # (priviledged access only) 94 95 li \upper, 2 96 slw \mask, \mask, \upper 97 ori \mask, \mask, 0x0002 98 99 lis \upper, (0x8000 + \base) 100 or \upper, \upper, \mask 101 102 lis \lower, \base 103 ori \lower, \lower, 0x0002 104 .endm 105 60 106 .global start 61 107 .global halt … … 243 289 clear_end: 244 290 245 #ifdef CONFIG_BAT246 247 291 # create BAT identity mapping 248 292 249 293 lwz r31, 4(r3) # r31 = memory size 250 294 251 lis r29, 0x0002 252 cmpw r31, r29 253 blt no_bat # less than 128 KB -> no BAT 254 255 li r29, 18 256 srw r31, r31, r29 # r31 = total >> 18 257 258 # create Block Length mask by replicating 259 # the leading logical one 14 times 260 261 li r29, 14 262 mtctr r31 263 li r29, 1 264 265 bat_mask: 266 srw r30, r31, r29 # r30 = mask >> 1 267 or r31, r31, r30 # mask = mask | r30 268 269 bdnz bat_mask 270 271 andi. r31, r31, 0x07ff # mask = mask & 0x07ff (BAT can map up to 256 MB) 272 273 li r29, 2 274 slw r31, r31, r29 # mask = mask << 2 275 ori r31, r31, 0x0002 # mask = mask | 0x0002 (priviledged access only) 276 277 lis r29, 0x8000 278 or r29, r29, r31 279 280 lis r30, 0x0000 281 ori r30, r30, 0x0002 282 283 mtspr ibat0u, r29 284 mtspr ibat0l, r30 285 286 mtspr dbat0u, r29 287 mtspr dbat0l, r30 295 lis r30, 268435456@h 296 ori r30, r30, 268435456@l # r30 = 256 MB 297 298 # BAT0 299 300 # r29 = min(r31, r30) 301 302 cmpw r31, r30 303 blt bat0_r31 304 305 mr r29, r30 306 b bat0_r30 307 308 bat0_r31: 309 310 mr r29, r31 311 312 bat0_r30: 313 314 BAT_COMPUTE 0x0000 r29 r28 r27 r26 315 mtspr ibat0u, r26 316 mtspr ibat0l, r27 317 318 mtspr dbat0u, r26 319 mtspr dbat0l, r27 320 321 # BAT1 322 323 sub r31, r31, r29 # r31 = r31 - r29 324 325 # r29 = min(r31, r30) 326 327 cmpw r31, r30 328 blt bat1_r31 329 330 mr r29, r30 331 b bat1_r30 332 333 bat1_r31: 334 335 mr r29, r31 336 337 bat1_r30: 338 339 BAT_COMPUTE 0x1000 r29 r28 r27 r26 340 mtspr ibat1u, r26 341 mtspr ibat1l, r27 342 343 mtspr dbat1u, r26 344 mtspr dbat1l, r27 345 346 # BAT2 347 348 sub r31, r31, r29 # r31 = r31 - r29 349 350 # r29 = min(r31, r30) 351 352 cmpw r31, r30 353 blt bat2_r31 354 355 mr r29, r30 356 b bat2_r30 357 358 bat2_r31: 359 360 mr r29, r31 361 362 bat2_r30: 363 364 BAT_COMPUTE 0x2000 r29 r28 r27 r26 365 mtspr ibat2u, r26 366 mtspr ibat2l, r27 367 368 mtspr dbat2u, r26 369 mtspr dbat2l, r27 370 371 # BAT3 372 373 sub r31, r31, r29 # r31 = r31 - r29 374 375 # r29 = min(r31, r30) 376 377 cmpw r31, r30 378 blt bat3_r31 379 380 mr r29, r30 381 b bat3_r30 382 383 bat3_r31: 384 385 mr r29, r31 386 387 bat3_r30: 388 389 BAT_COMPUTE 0x3000 r29 r28 r27 r26 390 mtspr ibat3u, r26 391 mtspr ibat3l, r27 392 393 mtspr dbat3u, r26 394 mtspr dbat3l, r27 288 395 289 396 no_bat: 290 291 #endif292 397 293 398 # flush TLB -
boot/arch/sparc64/Makefile.inc
r52a79081 ra33f0a6 43 43 44 44 RD_SRVS_ESSENTIAL += \ 45 $(USPACE_PATH)/srv/hw/irc/fhc/fhc \46 45 $(USPACE_PATH)/srv/hw/irc/obio/obio 47 46 -
boot/arch/sparc64/src/main.c
r52a79081 ra33f0a6 182 182 * of the "/memory" node to find out which parts of memory 183 183 * are used by OBP and redesign the algorithm of copying 184 * kernel/init tasks/ramdisk from the bootable image to memory 185 * (which we must do anyway because of issues with claiming the memory 186 * on Serengeti). 187 * 184 * kernel/init tasks/ramdisk from the bootable image to memory. 188 185 */ 189 186 bootinfo.physmem_start += OBP_BIAS; -
boot/generic/src/version.c
r52a79081 ra33f0a6 32 32 33 33 static const char *project = "HelenOS bootloader"; 34 static const char *copyright = "Copyright (c) 2001-201 0HelenOS project";34 static const char *copyright = "Copyright (c) 2001-2011 HelenOS project"; 35 35 static const char *release = STRING(RELEASE); 36 36 static const char *name = STRING(NAME);
Note:
See TracChangeset
for help on using the changeset viewer.
