Changeset 6c68b97 in mainline


Ignore:
Timestamp:
2005-12-15T18:17:59Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
961b5f0
Parents:
10c071e
Message:

ia32: floppy boot image uses GRUB

Files:
1 added
2 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/boot/Makefile

    r10c071e r6c68b97  
    11.PHONY: build clean
    22
    3 build: boot.bin
    4         dd if=boot.bin of=../../../image.bin bs=512 conv=sync
    5         -cat ../../../kernel.bin >> ../../../image.bin
    6         dd if=/dev/zero of=../../../image.bin bs=1 seek=1474559 count=1
    7 
    8 boot.bin: boot.o
    9         $(LD) -T boot.ld -entry _start_0x7c00 --oformat binary boot.o -o $@
    10 
    11 boot.o: boot.S
    12         $(CC) -E -DKERNEL_SIZE=$(KERNEL_SIZE) boot.S > boot.s
    13         $(AS) boot.s -o $@
    14         rm boot.s
     3build: grub.img.gz
     4        gunzip -c grub.img.gz > ../../../image.bin
     5        e2cp ../../../kernel.bin ../../../image.bin:/boot/kernel.bin
    156
    167clean:
    17         -rm -f boot.o boot.bin ../../../image.bin
     8        -rm -f ../../../image.bin
  • arch/ia32/src/boot/boot.S

    r10c071e r6c68b97  
    165165               
    166166                mods_valid:
     167                movl 20(%ebx), %ecx                                             # mbi->mods_count
     168                cmpl $0, %ecx
     169                je mods_invalid
     170               
     171                movl 24(%ebx), %esi                                             # mbi->mods_addr
     172                movl 0(%esi), %edx                                              # mods->mod_start
     173                movl 4(%esi), %ecx                                              # mods->mod_end
     174                subl %edx, %ecx
    167175               
    168176                mods_invalid:
    169                 movl %ecx, init_addr
    170                 movl %edx, init_size
     177                movl %ecx, init_size
     178                movl %edx, init_addr
    171179               
    172180                bt $6, %eax                                                             # mbi->flags[6] (mmap_length, mmap_addr valid) 
  • generic/include/config.h

    r10c071e r6c68b97  
    4444        size_t memory_size;
    4545        size_t kernel_size;
     46       
     47        __address init_addr;
     48        size_t init_size;
    4649
    4750        count_t cpu_count;
  • generic/src/main/main.c

    r10c071e r6c68b97  
    143143        config.base = hardcoded_load_address;
    144144        config.memory_size = get_memory_size();
     145        config.init_addr = init_addr;
     146        config.init_size = init_size;
    145147
    146148        heap_size = CONFIG_HEAP_SIZE + (config.memory_size/FRAME_SIZE)*sizeof(frame_t);
     
    207209        task_init();
    208210        thread_init();
     211       
     212        if (config.init_size > 0)
     213                printf("config.init_addr=%X, config.init_size=%d\n", config.init_addr, config.init_size);
    209214
    210215        /*
Note: See TracChangeset for help on using the changeset viewer.