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)
This commit is contained in:
Marcel Moolenaar 2002-11-28 03:25:51 +00:00
parent e8c1847f37
commit aef78848af
4 changed files with 6 additions and 34 deletions

View file

@ -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);

View file

@ -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

View file

@ -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);

View file

@ -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