[kernel]which the file define the variable of "phys_base"?

Sunny sundarcs at gwu.edu
Mon Feb 24 13:33:48 EST 2014


Hi,

I’m not sure about the “pays_base” warning, but your code runs fine in my machine. What happens if you ignore the warning and load the module anyway?

- Sunny

On Feb 24, 2014, at 9:04 AM, lx <lxlenovostar at gmail.com> wrote:

> hi all:
>       the codes is:
> #########################################
> #include <linux/module.h>               // for printk()
> #include <linux/mm.h>             // for struct page
> #include <asm/page.h>             // for struct page
> #include <asm/pgtable.h>                // for ZERO_PAGE
> 
> static int __init init_hello( void )
> {
>         int i;
>         struct page * zero_page;
>         printk( "\n   Kello, the first! \n\n" );
>         i = 0x100;
>         zero_page = ZERO_PAGE(&i);
>         printk(" the ZERO address is %p", zero_page);
>         return  0;
> }
> 
> static void __exit exit_hello( void )
> {
>         printk( "\n   Goodbye now... \n\n" );
> }
> 
> MODULE_LICENSE("GPL");
> module_init(init_hello);
> module_exit(exit_hello);
> #########################################
> 
> I complier it. by:
> #########################################
> make -C /lib/modules/`uname -r`/build M=`pwd`
> #########################################
> 
> the results is:
> #########################################
> [root at localhost kernel_test]# make -C /lib/modules/`uname -r`/build M=`pwd`
> make: Entering directory `/usr/src/kernels/2.6.18-308.el5-x86_64'
>   CC [M]  /opt/lx/kernel/kernel_test/zero.o
>   Building modules, stage 2.
>   MODPOST
> WARNING: "phys_base" [/opt/lx/kernel/kernel_test/zero.ko] undefined!
>   LD [M]  /opt/lx/kernel/kernel_test/zero.ko
> make: Leaving directory `/usr/src/kernels/2.6.18-308.el5-x86_64'
> #########################################
> 
> I try to find the file which defined the "phys_base", for examples;
> phys_base
> 
> Defined as a variable in:
> arch/sparc/mm/init.c, line 40
> arch/sparc64/kernel/sparc64_ksyms.c, line 110
> arch/sparc64/mm/init.c, line 47
> include/asm-sparc/page.h, line 160
> include/asm-sparc/pgtable.h, line 122
> include/asm-sparc64/pgtable.h, line 227
> 
> But I can't find the file of init.c in my computer. Please tell me some ways to solve it, thank you.
> 
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140224/94dc9261/attachment.html 


More information about the Kernelnewbies mailing list