what to use for pte_offset, pte_offset_kernel ? with bigmem confi gured

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Title: what to use for pte_offset, pte_offset_kernel ? with bigmem configured

Hello,

I have an x86 computer running Red Hat Linux 9.0,   kernel 2.4.20-8bigmem #SMP. 

with 8G memory, SMP and BIGMEM configured.

For a non-red-hat 2.4.20 kernel, a macro pte_offset is defined in asm-i386/pgtable.h 

But it is not defined in the red hat 9.0 kernel 2.4.20-8.

In the Red Hat kernel I found "__pte_offset()" and some pte_offset_kernel (),pte_offset_map" and " pte_offset_map_nested".

pte_offset_kernel() seemed to match the args, but I doubt that's correct, for it actually crushed my driver.

I did find the same definitions of pte_offset_kernel, pte_offset_map and pte_offset_map_nested in the non Red Hat kernel 2.6-test version It seems Red Hat 9.0 is using some of the kernel.org's 2.6 kernel code.

My driver code can run through pgd_offset(), pmd_offset() all fine, and once it hits pte_offset_kernel(), it dies.

A message is reported "Unable to handle kernel paging request at virtual address 9236b4d0.

I guess that my driver is not handling the bigmem correctly. (I have 8G memory).

Could someone tell me what to use to replace the pte_offset in my driver / module code.

pte_offset() works fine for me on the non Red Hat kernels.


p.s. What I am doing in the driver is to find the physical address given a PID and a virtual address of a user process.

Thanks a lot!!!

Haiming_Wang@xxxxxxxx


[Index of Archives]     [Kernel Newbies]     [Red Hat General]     [Fedora]     [Red Hat Install]     [Linux Kernel Development]     [Yosemite News]

  Powered by Linux