NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-macppc/46041: Kernel modules don't work (missing symbol uvmexp_pagesize)
>Number: 46041
>Category: port-macppc
>Synopsis: Kernel modules don't work (missing symbol uvmexp_pagesize)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-macppc-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Feb 17 18:50:00 +0000 2012
>Originator: Julio Merino
>Release: NetBSD 6.0_BETA and current as of 20120216
>Organization:
>Environment:
System: NetBSD mini.julipedia.org 6.0_BETA NetBSD 6.0_BETA (MINI) #12: Thu Feb
16 19:39:25 EST 2012
builder%mini.julipedia.org@localhost:/home/builder/obj/usr/src/sys/arch/macppc/compile/MINI
macppc
Architecture: powerpc
Machine: macppc
>Description:
Attempting to load a kernel module under 6.0_BETA and current on
a macppc machine results in the following errors:
kobj_checksyms, 867: [compat]: linker error: symbol
`uvmexp_pagesize' not found
WARNING: module error: unable to affix module `compat'
This problem seems to have been introduced by this change:
http://mail-index.netbsd.org/source-changes/2010/11/14/msg014470.html
and was already reported here:
http://mail-index.netbsd.org/current-users/2011/09/27/msg017871.html
My understanding is that MIN_PAGE_SIZE and MAX_PAGE_SIZE are *not*
defined in macppc, but they are in other powerpc platforms. This
may be causing some of the uvm_param.h logic to get confused.
>How-To-Repeat:
Boot a recent NetBSD/macppc. Notice module loading errors when you
attempt a modload on, e.g. the compat module.
>Fix:
Don't know. The following makes modules work for me, but it's
obviously wrong:
--- uvm_init.c 2012-02-16 14:04:49.000000000 -0500
+++ /home/jmmv/uvm_init.c 2012-02-16 14:04:32.000000000 -0500
@@ -57,11 +57,9 @@
struct uvmexp uvmexp; /* decl */
struct uvm_object *uvm_kernel_object;
-#if defined(__uvmexp_pagesize)
int *uvmexp_pagesize = &uvmexp.pagesize;
int *uvmexp_pagemask = &uvmexp.pagemask;
int *uvmexp_pageshift = &uvmexp.pageshift;
-#endif
kmutex_t uvm_pageqlock;
kmutex_t uvm_fpageqlock;
>Unformatted:
Home |
Main Index |
Thread Index |
Old Index