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
System: NetBSD 6.0_BETA NetBSD 6.0_BETA (MINI) #12: Thu Feb 
16 19:39:25 EST 2012
Architecture: powerpc
Machine: macppc
        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:


        and was already reported here:


        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.
        Boot a recent NetBSD/macppc.  Notice module loading errors when you
        attempt a modload on, e.g. the compat module.
        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;
 kmutex_t uvm_pageqlock;
 kmutex_t uvm_fpageqlock;


Home | Main Index | Thread Index | Old Index