diff options
author | Mark Johnston <markj@FreeBSD.org> | 2018-12-11 16:49:01 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2018-12-11 16:49:01 +0000 |
commit | b6da2600f96a9332dd46d0a991d8387ba0bf41bd (patch) | |
tree | d64aec900a5a08b1ab4bcc8491ef1af4f15ef103 /sys | |
parent | 081954d3a2ceca9bc0a986ee8d1941f943948e89 (diff) | |
download | src-b6da2600f96a9332dd46d0a991d8387ba0bf41bd.tar.gz src-b6da2600f96a9332dd46d0a991d8387ba0bf41bd.zip |
Fix the PAE kernel gcc build.
The error was caused by map_ucode() casting a vm_paddr_t to a void *.
Use a uintptr_t instead to match the caller. Fix some style bugs while
here.
Reported by: bde
Reviewed by: bde
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Notes
Notes:
svn path=/head/; revision=341821
Diffstat (limited to 'sys')
-rw-r--r-- | sys/x86/x86/ucode.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index c0810ae7eb21..93f82e37eb66 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -278,12 +278,13 @@ ucode_load_ap(int cpu) } static void * -map_ucode(vm_paddr_t free, size_t len) +map_ucode(uintptr_t free, size_t len) { - #ifdef __i386__ - for (vm_paddr_t pa = free; pa < free + len; pa += PAGE_SIZE) - pmap_kenter(pa, pa); + uintptr_t va; + + for (va = free; va < free + len; va += PAGE_SIZE) + pmap_kenter(va, (vm_paddr_t)va); #else (void)len; #endif @@ -291,12 +292,13 @@ map_ucode(vm_paddr_t free, size_t len) } static void -unmap_ucode(vm_paddr_t free, size_t len) +unmap_ucode(uintptr_t free, size_t len) { - #ifdef __i386__ - for (vm_paddr_t pa = free; pa < free + len; pa += PAGE_SIZE) - pmap_kremove((vm_offset_t)pa); + uintptr_t va; + + for (va = free; va < free + len; va += PAGE_SIZE) + pmap_kremove(va); #else (void)free; (void)len; |