Hello to all of you :)
I have a question: I am writing a linux kernel module, that needs to map a specific physical address to a specific virtual one, and I just can't find a way to do it.
Does anyone have any ideas?
Thanks, Yotam.
I am testing a PCI Endpoint driver, I would like to do simple copy from the PCI RootPort side to the PCI Endpoint side. In PCI Endpoint side, we have address translation from PCI address to CPU physical address. We can configure the CPU physical address in the translation so that it maps to the specific DRAM region.
I know os will load elf in physical memory. When execute jmp elf-address,system will check tlb and convert the elf-address to physical address. I am confused that elf-address does not have segment num and page num? How os convert elf-address to what MMU need.
I have a physical windows system, on which I run Vmware Workstation. Now on VMware I run Ubuntu 12.10. I am running a webserver on Ubuntu via LAMP, inside VMware.
Problem:
Now my local IP address for my virtual NIC (the one Ubuntu is using) has an address of 192.168.159.7, and my home router only issues IP addresses of the range 10.0.0.x.
Any one know about how virtual address is translated to physical address in no page method.
with reference to Device Drivers book the nopage method is given as ,
struct page *simple_vma_nopage(struct vm_area_struct *vma,
unsigned long address, int *type)
{
struct page *pageptr;
unsigned long offset = vma->vm_pgoff << PAGE_SHIFT;
unsigned long physaddr = addre
I have simple program that tries to access the physical memory in user space, where the kernel stores the first struct page.
Is there any way to have netflow v9 converted to syslog?
Which would be the best way to have the following idea working?
Procedure:
1) The router sends UDP with the following structure:
templateId=259: id=259, fields=11
field id=8 (ipv4 source address), offset=0, len=4
field id=225 (natInsideGlobalAddress), offset=4, len=4
field id=12 (ipv4 destination address), offset=8, len=4
I'm completely confused about explanation of virtual memory in TLDP:
http://www.tldp.org/LDP/tlk/kernel/processes.html#tthFtNtAAB
They say:
Each individual process runs in its own virtual address space and is not capable of interacting with another process except through secure, kernel managed mechanisms.
Assume there is a code like this.
MOV [0x1234], EAX (intel assembly)
let's say that CPU wants to process this instruction.
and let's assume there is no hypervisor.
we are just using normal x86 CPU(protected mode) in linux environment.
now, what I understand is that
since 0x1234 is a virtual address, this needs to be translated
into physical address.(let's skip segmentation part)
CPU just pass