linkVM.ld
上传用户:qddsws
上传日期:2022-06-22
资源大小:723k
文件大小:2k
源码类别:

操作系统开发

开发平台:

C/C++

  1. /* We are making an elf image with embedded load adress information*/
  2. OUTPUT_FORMAT("elf32-i386")
  3. ENTRY(start)
  4. /*virt = 0xC0000000;*/ /* 3 gig */
  5. phys_loader = 0x100000; /* 1 meg */
  6. /*phys_kernel = 0x150000;*/ /* 1 meg */
  7. phys_kernel = 0x100000; /* 1 meg */
  8. /*virt = 0xC0050000;*/ /* 1 meg */
  9. virt = 0xC0000000; /* 1 meg */
  10. phys_realmode = 0x7C00;
  11. SECTIONS
  12. {
  13. __bss_start = .;
  14. .loader phys_loader : AT(phys_loader) {
  15.          loader = .;
  16. ./build/loader.o(.text)
  17.          ./build/loader.o(.rodata)
  18. ./build/high_loader.o(.text)
  19.          ./build/high_loader.o(.rodata)
  20. ./build/realmode.o(.text)
  21.          ./build/realmode.o(.rodata)
  22. . = ALIGN(4096);
  23. }
  24. /* Fem cuadrar l'adreca fisica i virtual del kernel,
  25.  * el posem despres del phys loader.
  26.  */
  27. actual = . ;
  28. phys_kernel = actual;
  29. virt = virt + (actual - phys_loader);
  30. .text  virt : AT(phys_kernel ){
  31.          code = .;
  32. *(.text)
  33.          *(.rodata)
  34. . = ALIGN(4096);
  35. }
  36. .data : AT(phys_kernel + (data - code)) {
  37. data = .;
  38.          *(.data)
  39.      }
  40.     .bss : AT(phys_kernel + (bss - code)) {
  41. bss = .;
  42.          *(.bss)
  43.          *(COMMON)
  44.      }
  45. end = .;
  46. }
  47. OUTPUT(kernel.bin)
  48. INPUT(build/exception.o build/initbuses.o build/main.o build/pci.o build/pit.o build/rsi.o build/system_bus.o
  49. build/extern.o build/io_low_HLL.o build/memory_account.o build/pcibios.o build/pmemmanager.o build/string.o build/vbe21.o
  50. build/isa.o build/paging.o build/pcnet32.o build/psmouse.o build/sys_console.o
  51. build/idt.o build/panic.o build/pic.o build/sys_layout.o build/extra.o build/rtc.o build/ps2base.o build/pskeyboard.o
  52. build/rtl8029.o
  53. )