cvs commit: src/sys/boot/common load_elf.c src/sys/boot/i386/boot2 boot2.c src/sys/boot/i386/libi386 elf32_freebsd.c src/sys/boot/pc98/boot2 boot.c

Ruslan Ermilov ru at FreeBSD.org
Thu Nov 2 17:28:42 UTC 2006


ru          2006-11-02 17:28:38 UTC

  FreeBSD src repository

  Modified files:
    sys/boot/common      load_elf.c 
    sys/boot/i386/boot2  boot2.c 
    sys/boot/i386/libi386 elf32_freebsd.c 
    sys/boot/pc98/boot2  boot.c 
  Log:
  Revert the last change.  Masking only 2 MSBs of the virtual address
  to get the physical address doesn't work for all values of KVA_PAGES,
  while masking 8 MSBs works for all values of KVA_PAGES that are
  multiple of 4 for non-PAE and 8 for PAE.  (This leaves us limited
  with 12MB for non-PAE kernels and 14MB for PAE kernels.)
  
  To get things right, we'd need to subtract the KERNBASE from the
  virtual address (but KERNBASE is not easy to figure out from here),
  or have physical addresses set properly in the ELF headers.
  
  Discussed with: jhb
  
  Revision  Changes    Path
  1.36      +1 -1      src/sys/boot/common/load_elf.c
  1.83      +3 -3      src/sys/boot/i386/boot2/boot2.c
  1.17      +1 -1      src/sys/boot/i386/libi386/elf32_freebsd.c
  1.16      +2 -2      src/sys/boot/pc98/boot2/boot.c


More information about the cvs-src mailing list