Changeset a33f0a6 in mainline for boot


Ignore:
Timestamp:
2011-08-03T17:34:57Z (14 years ago)
Author:
Oleg Romanenko <romanenko.oleg@…>
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.
Message:

Merge from mainline

Location:
boot
Files:
10 added
2 deleted
15 edited
1 moved

Legend:

Unmodified
Added
Removed
  • boot/Makefile

    r52a79081 ra33f0a6  
    5050        $(MKFAT) 1048576 $(DIST_PATH) $@
    5151endif
     52ifeq ($(RDFMT),ext2fs)
     53        $(MKEXT2) 1048576 $(DIST_PATH) $@
     54endif
    5255
    5356build_dist: clean_dist
    5457        for file in $(RD_SRVS) ; do \
    5558                cp "$$file" "$(DIST_PATH)/srv/" ; \
     59        done
     60        for file in $(RD_LIBS) ; do \
     61                cp "$$file" "$(DIST_PATH)/lib/" ; \
    5662        done
    5763        for file in $(RD_APPS) ; do \
     
    6268        done
    6369        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/" ; \
    6775        done
    6876        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/" ; \
    7080        done
    71        
     81
    7282clean: clean_dist
    7383        $(MAKE) -f $(BUILD) clean PRECHECK=$(PRECHECK)
     
    8393        rm -f $(USPACE_PATH)/dist/srv/*
    8494        rm -rf $(USPACE_PATH)/dist/drv/*
     95        rm -f $(USPACE_PATH)/dist/lib/*
    8596        rm -f $(USPACE_PATH)/dist/app/*
    8697        rm -f $(USPACE_PATH)/dist/cfg/net/*
  • boot/Makefile.build

    r52a79081 ra33f0a6  
    4040        -finput-charset=UTF-8 -ffreestanding -fno-builtin -nostdlib -nostdinc \
    4141        -Wall -Wextra -Wno-unused-parameter -Wmissing-prototypes \
    42         -Werror-implicit-function-declaration -Wwrite-strings \
     42        -std=gnu99 -Werror-implicit-function-declaration -Wwrite-strings \
    4343        -pipe
    4444
     
    111111
    112112$(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)
    114114
    115115$(LINK): $(LINK).comp $(DEPEND)
  • boot/Makefile.common

    r52a79081 ra33f0a6  
    5656MKTMPFS = $(TOOLS_PATH)/mktmpfs.py
    5757MKFAT = $(TOOLS_PATH)/mkfat.py
     58MKEXT2 = $(TOOLS_PATH)/mkext2.py
    5859MKUIMAGE = $(TOOLS_PATH)/mkuimage.py
    5960
     
    8485endif
    8586
     87ifeq ($(RDFMT),ext2fs)
     88        INIT_TASKS += $(USPACE_PATH)/srv/fs/ext2fs/ext2fs
     89endif
     90
    8691RD_SRVS_ESSENTIAL = \
    8792        $(USPACE_PATH)/srv/hid/fb/fb \
    88         $(USPACE_PATH)/srv/hid/kbd/kbd \
     93        $(USPACE_PATH)/srv/hid/input/input \
    8994        $(USPACE_PATH)/srv/hid/console/console \
    9095        $(USPACE_PATH)/srv/fs/devfs/devfs
     
    98103        $(USPACE_PATH)/srv/fs/fat/fat \
    99104        $(USPACE_PATH)/srv/fs/exfat/exfat \
     105        $(USPACE_PATH)/srv/fs/ext2fs/ext2fs \
    100106        $(USPACE_PATH)/srv/taskmon/taskmon \
    101107        $(USPACE_PATH)/srv/hw/netif/ne2000/ne2000 \
     
    110116        $(USPACE_PATH)/srv/net/net/net \
    111117        $(USPACE_PATH)/srv/devman/devman
    112        
     118
    113119RD_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
     126RD_DRV_CFG =
     127
     128RD_LIBS =
     129
     130ifeq ($(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
     136endif
    120137
    121138RD_APPS_ESSENTIAL = \
     
    125142
    126143RD_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 \
    127149        $(USPACE_PATH)/app/edit/edit \
    128150        $(USPACE_PATH)/app/filecrc/filecrc \
    129151        $(USPACE_PATH)/app/filegen/filegen \
     152        $(USPACE_PATH)/app/ext2info/ext2info \
    130153        $(USPACE_PATH)/app/kill/kill \
    131154        $(USPACE_PATH)/app/killall/killall \
    132155        $(USPACE_PATH)/app/mkfat/mkfat \
     156        $(USPACE_PATH)/app/lsusb/lsusb \
    133157        $(USPACE_PATH)/app/sbi/sbi \
    134158        $(USPACE_PATH)/app/redir/redir \
    135159        $(USPACE_PATH)/app/taskdump/taskdump \
    136160        $(USPACE_PATH)/app/tester/tester \
     161        $(USPACE_PATH)/app/testread/testread \
    137162        $(USPACE_PATH)/app/tetris/tetris \
    138163        $(USPACE_PATH)/app/trace/trace \
     
    142167        $(USPACE_PATH)/app/ping/ping \
    143168        $(USPACE_PATH)/app/stats/stats \
     169        $(USPACE_PATH)/app/sysinfo/sysinfo \
    144170        $(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 \
    146174        $(USPACE_PATH)/app/websrv/websrv
    147175
  • boot/Makefile.silo

    r52a79081 ra33f0a6  
    3131include Makefile.common
    3232
    33 ifeq ($(CONFIG_AOUT_ISOFS_B),y)
    34         SILO_PACKAGE = a.out
    35 else
    36         SILO_PACKAGE = raw
    37 endif
     33SILO_PACKAGE = a.out
    3834
    3935ISOFS_B = silo/$(SILO_PACKAGE)/isofs.b
  • boot/Makefile.uboot

    r52a79081 ra33f0a6  
    3131include Makefile.common
    3232
    33 IMAGE_NAME=HelenOS-$(RELEASE)
    34 BIN_OUTPUT=image.bin
     33IMAGE_NAME = HelenOS-$(RELEASE)
     34BIN_OUTPUT = image.bin
    3535
    3636all: $(POST_OUTPUT)
     
    4040
    4141$(POST_OUTPUT): $(BIN_OUTPUT)
    42         $(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr 0x30008000 -saddr 0x30008000 \
    43     $< $@
     42        $(MKUIMAGE) -name "$(IMAGE_NAME)" -laddr 0x30008000 -saddr 0x30008000 $< $@
    4443
    4544clean:
  • boot/arch/amd64/Makefile.inc

    r52a79081 ra33f0a6  
    3535
    3636RD_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
    3938
    4039RD_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
    4555
    4656RD_DRV_CFG += \
    47         isa/isa.dev
     57        bus/isa
    4858
    4959BOOT_OUTPUT = $(ROOT_PATH)/image.iso
  • boot/arch/ia64/include/types.h

    r52a79081 ra33f0a6  
    3030#define BOOT_ia64_TYPES_H_
    3131
     32#include <arch/common.h>
     33
    3234#define TASKMAP_MAX_RECORDS             32
    3335#define BOOTINFO_TASK_NAME_BUFLEN       32
    34 #define MEMMAP_ITEMS                    128     
     36#define MEMMAP_ITEMS                    128
    3537
    3638typedef uint64_t size_t;
     
    5355        unsigned long base;
    5456        unsigned long size;
    55 } efi_memmap_item_t;
     57} memmap_item_t;
    5658
    5759typedef struct {
    5860        binit_t taskmap;
    5961
    60         efi_memmap_item_t memmap[MEMMAP_ITEMS];
     62        memmap_item_t memmap[MEMMAP_ITEMS];
    6163        unsigned int memmap_items;
    6264
     
    6567        unsigned long freq_scale;
    6668        unsigned int wakeup_intno;
    67         int hello_configured;
    6869} bootinfo_t;
    6970
     71/** This is a minimal ELILO-compatible boot parameter structure. */
     72typedef 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
    7080#endif
  • boot/arch/ia64/src/boot.S

    r52a79081 ra33f0a6  
    3737
    3838        #
     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        #
    3946        # Initialize the register stack to some sane value.
    4047        #
     
    6269.bss
    6370
     71.global bootpar
     72bootpar:
     73        .quad 0
     74
    6475.align STACK_SIZE
    6576initial_stack:
  • boot/arch/ia64/src/main.c

    r52a79081 ra33f0a6  
    3030
    3131#include <arch/main.h>
     32#include <arch/types.h>
    3233#include <arch/arch.h>
    3334#include <arch/asm.h>
    3435#include <arch/_components.h>
     36#include <genarch/efi.h>
    3537#include <halt.h>
    3638#include <printf.h>
     
    5153#define DEFAULT_SYS_FREQ                100000000ULL            /* 100MHz */
    5254
    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
     59extern boot_param_t *bootpar;
    5660
    5761static bootinfo_t bootinfo;
     62
     63static 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
     119static 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}
    58131
    59132void bootstrap(void)
     
    113186       
    114187        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++;
    129188
    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();
    142191       
    143192        printf("Booting the kernel ...\n");
  • boot/arch/mips32/Makefile.inc

    r52a79081 ra33f0a6  
    3030BITS = 32
    3131PAGE_SIZE = 16384
    32 EXTRA_CFLAGS = -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3
    33 
    34 RD_SRVS_ESSENTIAL +=
     32EXTRA_CFLAGS = -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mips3 -mabi=32
    3533
    3634RD_SRVS_NON_ESSENTIAL += \
  • boot/arch/mips64/src/putchar.c

    r52a79081 ra33f0a6  
    11/*
    2  * Copyright (c) 2009 Martin Decky
     2 * Copyright (c) 2006 Martin Decky
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 #include <test.h>
     29#include <typedefs.h>
     30#include <arch/arch.h>
     31#include <putchar.h>
     32#include <str.h>
    3033
    31 const char *test_fpu1(void)
     34void putchar(const wchar_t ch)
    3235{
    33         return NULL;
     36        if (ascii_check(ch))
     37                *((char *) MSIM_VIDEORAM_ADDRESS) = ch;
     38        else
     39                *((char *) MSIM_VIDEORAM_ADDRESS) = U_SPECIAL;
    3440}
  • boot/arch/ppc32/Makefile.inc

    r52a79081 ra33f0a6  
    4343        $(USPACE_PATH)/srv/hw/bus/cuda_adb/cuda_adb
    4444
    45 RD_SRVS_NON_ESSENTIAL += \
    46         $(USPACE_PATH)/srv/hid/adb_mouse/adb_ms
     45RD_DRVS += \
     46        infrastructure/rootmac
    4747
    4848SOURCES = \
  • boot/arch/ppc32/src/asm.S

    r52a79081 ra33f0a6  
    5858.endm
    5959
     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
    60106.global start
    61107.global halt
     
    243289        clear_end:
    244290       
    245 #ifdef CONFIG_BAT
    246        
    247291        # create BAT identity mapping
    248292       
    249293        lwz r31, 4(r3)                # r31 = memory size
    250294       
    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
    288395       
    289396        no_bat:
    290        
    291 #endif
    292397       
    293398        # flush TLB
  • boot/arch/sparc64/Makefile.inc

    r52a79081 ra33f0a6  
    4343
    4444RD_SRVS_ESSENTIAL += \
    45         $(USPACE_PATH)/srv/hw/irc/fhc/fhc \
    4645        $(USPACE_PATH)/srv/hw/irc/obio/obio
    4746
  • boot/arch/sparc64/src/main.c

    r52a79081 ra33f0a6  
    182182         * of the "/memory" node to find out which parts of memory
    183183         * 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.
    188185         */
    189186        bootinfo.physmem_start += OBP_BIAS;
  • boot/generic/src/version.c

    r52a79081 ra33f0a6  
    3232
    3333static const char *project = "HelenOS bootloader";
    34 static const char *copyright = "Copyright (c) 2001-2010 HelenOS project";
     34static const char *copyright = "Copyright (c) 2001-2011 HelenOS project";
    3535static const char *release = STRING(RELEASE);
    3636static const char *name = STRING(NAME);
Note: See TracChangeset for help on using the changeset viewer.