diff options
author | marcel <marcel@FreeBSD.org> | 2002-11-28 03:25:51 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2002-11-28 03:25:51 +0000 |
commit | 99d4b2d8ed2d7f9eb68bde11d0fd0c03adf66bc6 (patch) | |
tree | 20c215fba522161e819bd8eede022e853677e7da /sys/boot/efi | |
parent | be903d232dd064901b2ea29e621cce41177af685 (diff) | |
download | FreeBSD-src-99d4b2d8ed2d7f9eb68bde11d0fd0c03adf66bc6.zip FreeBSD-src-99d4b2d8ed2d7f9eb68bde11d0fd0c03adf66bc6.tar.gz |
Remove a left-over virtual mapping of uncached I/O port space.
Previous kernels unwantingly depended on this mapping, but as
of version 1.123 of src/sys/ia64/ia64/machdep.c this dependency
has been removed. Consequently, one has to update the kernel
before updating the loader. The documented/recommended upgrade
will suffice in this case.
Due to a visible (from the kernels point of view) change in
behaviour, bump the loader version number from 0.3 to 1.0.
Approved by: re (carte blanc)
Diffstat (limited to 'sys/boot/efi')
-rw-r--r-- | sys/boot/efi/libefi/elf_freebsd.c | 17 | ||||
-rw-r--r-- | sys/boot/efi/loader/version | 3 |
2 files changed, 3 insertions, 17 deletions
diff --git a/sys/boot/efi/libefi/elf_freebsd.c b/sys/boot/efi/libefi/elf_freebsd.c index 91736cc..7df9950 100644 --- a/sys/boot/efi/libefi/elf_freebsd.c +++ b/sys/boot/efi/libefi/elf_freebsd.c @@ -217,23 +217,6 @@ elf_exec(struct preloaded_file *fp) :: "r"(0), "r"(*(u_int64_t*)&pte)); __asm __volatile("srlz.i;;"); - bzero(&pte, sizeof(pte)); - pte.pte_p = 1; - pte.pte_ma = PTE_MA_UC; - pte.pte_a = 1; - pte.pte_d = 1; - pte.pte_pl = PTE_PL_KERN; - pte.pte_ar = PTE_AR_RWX; - pte.pte_ppn = 0xffffc000000 >> 12; - - __asm __volatile("mov cr.ifa=%0" :: "r"(IA64_PHYS_TO_RR6(0xffffc000000))); - __asm __volatile("mov cr.itir=%0" :: "r"(26 << 2)); - //__asm __volatile("ptr.d %0,%1" :: "r"(IA64_PHYS_TO_RR6(0xffffc000000)), "r"(26<<2)); - __asm __volatile("srlz.i;;"); - __asm __volatile("itr.d dtr[%0]=%1;;" - :: "r"(1), "r"(*(u_int64_t*)&pte)); - __asm __volatile("srlz.i;;"); - enter_kernel(hdr->e_entry, bi); restore_ic(psr); diff --git a/sys/boot/efi/loader/version b/sys/boot/efi/loader/version index b1f04d7..9ef0fcb 100644 --- a/sys/boot/efi/loader/version +++ b/sys/boot/efi/loader/version @@ -3,6 +3,9 @@ $FreeBSD$ NOTE ANY CHANGES YOU MAKE TO THE BOOTBLOCKS HERE. The format of this file is important. Make sure the current version number is on line 6. +1.0: Don't map the I/O port range. We expect the kernel to do it. It + was done in the loader as a debugging aid and not intended as a + service/feature. 0.3: Pass the physical address of the bootinfo block in register r8 to the kernel. Continue to put it at the fixed address for now. 0.2: Much improved version. Significant is the support for passing |