diff options
| -rw-r--r-- | Makefile | 20 | ||||
| -rw-r--r-- | entry.S (renamed from multiboot.S) | 0 | ||||
| -rw-r--r-- | entryother.S (renamed from bootother.S) | 2 | ||||
| -rw-r--r-- | main.c | 22 | 
4 files changed, 22 insertions, 22 deletions
| @@ -97,11 +97,11 @@ bootblock: bootasm.S bootmain.c  	$(OBJCOPY) -S -O binary -j .text bootblock.o bootblock  	./sign.pl bootblock -bootother: bootother.S -	$(CC) $(CFLAGS) -fno-pic -nostdinc -I. -c bootother.S -	$(LD) $(LDFLAGS) -N -e start -Ttext 0x7000 -o bootblockother.o bootother.o -	$(OBJCOPY) -S -O binary -j .text bootblockother.o bootother -	$(OBJDUMP) -S bootblockother.o > bootother.asm +entryother: entryother.S +	$(CC) $(CFLAGS) -fno-pic -nostdinc -I. -c entryother.S +	$(LD) $(LDFLAGS) -N -e start -Ttext 0x7000 -o bootblockother.o entryother.o +	$(OBJCOPY) -S -O binary -j .text bootblockother.o entryother +	$(OBJDUMP) -S bootblockother.o > entryother.asm  initcode: initcode.S  	$(CC) $(CFLAGS) -nostdinc -I. -c initcode.S @@ -109,8 +109,8 @@ initcode: initcode.S  	$(OBJCOPY) -S -O binary initcode.out initcode  	$(OBJDUMP) -S initcode.o > initcode.asm -kernel: $(OBJS) multiboot.o data.o bootother initcode -	$(LD) $(LDFLAGS) -T kernel.ld -e multiboot_entry -o kernel multiboot.o data.o $(OBJS) -b binary initcode bootother +kernel: $(OBJS) entry.o data.o entryother initcode +	$(LD) $(LDFLAGS) -T kernel.ld -e multiboot_entry -o kernel entry.o data.o $(OBJS) -b binary initcode entryother  	$(OBJDUMP) -S kernel > kernel.asm  	$(OBJDUMP) -t kernel | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.sym @@ -121,12 +121,12 @@ kernel: $(OBJS) multiboot.o data.o bootother initcode  # great for testing the kernel on real hardware without  # needing a scratch disk.  MEMFSOBJS = $(filter-out ide.o,$(OBJS)) memide.o -kernelmemfs: $(MEMFSOBJS) multiboot.o data.o bootother initcode fs.img -	$(LD) $(LDFLAGS) -Ttext 0x100000 -e main -o kernelmemfs multiboot.o data.o $(MEMFSOBJS) -b binary initcode bootother fs.img +kernelmemfs: $(MEMFSOBJS) entry.o data.o entryother initcode fs.img +	$(LD) $(LDFLAGS) -Ttext 0x100000 -e main -o kernelmemfs entry.o data.o $(MEMFSOBJS) -b binary initcode entryother fs.img  	$(OBJDUMP) -S kernelmemfs > kernelmemfs.asm  	$(OBJDUMP) -t kernelmemfs | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernelmemfs.sym -tags: $(OBJS) bootother.S _init +tags: $(OBJS) entryother.S _init  	etags *.S *.c  vectors.S: vectors.pl diff --git a/bootother.S b/entryother.S index 56edac2..4f8e3ba 100644 --- a/bootother.S +++ b/entryother.S @@ -58,7 +58,7 @@ start32:    orl     $(CR0_PE|CR0_PG|CR0_WP), %eax    movl    %eax, %cr0 -  # Switch to the stack allocated by bootothers() +  # Switch to the stack allocated by entryothers()    movl    (start-4), %esp    # Call mpboot()    call	 *(start-8) @@ -6,7 +6,7 @@  #include "proc.h"  #include "x86.h" -static void bootothers(void); +static void enterothers(void);  static void mpmain(void)  __attribute__((noreturn));  extern pde_t *kpgdir; @@ -33,14 +33,14 @@ main(void)    ideinit();       // disk    if(!ismp)      timerinit();   // uniprocessor timer -  bootothers();    // start other processors (must come before kinit; must use boot_alloc) +  enterothers();    // start other processors (must come before kinit; must use boot_alloc)    kinit();         // initialize memory allocator    userinit();      // first user process  (must come after kinit)    // Finish setting up this processor in mpmain.    mpmain();  } -// Other CPUs jump here from bootother.S. +// Other CPUs jump here from entryother.S.  static void  mpboot(void)  { @@ -56,7 +56,7 @@ mpmain(void)  {    cprintf("cpu%d: starting\n", cpu->id);    idtinit();       // load idt register -  xchg(&cpu->booted, 1); // tell bootothers() we're up +  xchg(&cpu->booted, 1); // tell enterothers() we're up    scheduler();     // start running processes  } @@ -64,24 +64,24 @@ pde_t bootpgdir[];  // Start the non-boot processors.  static void -bootothers(void) +enterothers(void)  { -  extern uchar _binary_bootother_start[], _binary_bootother_size[]; +  extern uchar _binary_entryother_start[], _binary_entryother_size[];    uchar *code;    struct cpu *c;    char *stack;    // Write bootstrap code to unused memory at 0x7000. -  // The linker has placed the image of bootother.S in -  // _binary_bootother_start. +  // The linker has placed the image of entryother.S in +  // _binary_entryother_start.    code = p2v(0x7000); -  memmove(code, _binary_bootother_start, (uint)_binary_bootother_size); +  memmove(code, _binary_entryother_start, (uint)_binary_entryother_size);    for(c = cpus; c < cpus+ncpu; c++){      if(c == cpus+cpunum())  // We've started already.        continue; -    // Tell bootother.S what stack to use, the address of mpboot and pgdir; +    // Tell entryother.S what stack to use, the address of mpboot and pgdir;      // We cannot use kpgdir yet, because the AP processor is running in low       // memory, so we use bootpgdir for the APs too.  kalloc can return addresses      // above 4Mbyte (the machine may have much more physical memory than 4Mbyte), which  @@ -101,7 +101,7 @@ bootothers(void)    }  } -// Boot page table used in multiboot.S and bootother.S. +// Boot page table used in multiboot.S and entryother.S.  // Page directories (and page tables), must start on a page boundary,  // hence the "__aligned__" attribute.  Also, because of restrictions  // related to linking and static initializers, we use "x + PTE_P" | 
