RE: kernel memory allocation - please help me

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

 




-----Original Message-----
From: Arjan van de Ven [mailto:arjan@xxxxxxxxxxxxx]
Sent: Saturday, May 27, 2006 6:58 PM
To: Muneeswaran P - TLS, Chennai
Cc: kernelnewbies@xxxxxxxxxxxx
Subject: Re: kernel memory allocation - please help me


On Sat, 2006-05-27 at 17:13 +0530, Muneeswaran P - TLS, Chennai wrote:
> Hi,
> 
> Pls help me.
> 
> 	I am writing device driver (kernel 2.6 ) for PCI-X card.
> 
> 	Pls clarify the following doubts:
> 	1. DPRAM is memory mapped to PCI-X card. BAR-0 is mapped to DPRAM.
> 	2. I have to transfer data from main memory to DPRAM using bus
> master concept.
> 
> 	3. I have allocated main memory using kmalloc() call. How to make
> this main memory area as non-cacheable one ? 

why would it have to be uncachable?

Processors keep copies of recently accessed memory areas in a fast, local
cache;
without this cache, reasonable performance is not possible. If the device
changes an
area of main memory, it is imperative that any processor caches covering
that area be
invalidated; otherwise the processor may work with an incorrect image of
main memory,
and data corruption results. Similarly, when the device reads data
from main memory, any changes to that memory residing in processor caches
must be
flushed out first.

> 
> 	4. Whether DMA mapping (pci_map_single() call ) should be done for
> both DPRAM and main memory ?

for main memory only; you would need ioremap for the BAR memory *IF* you
want the cpu to access it

> 
>	   4.a) I will get the physical address of DPRAM memory (memory
> mapped to PCI-X card) from BAR-0 register. Can i use this   physical
addres
> directly for data transer using bus master (without pci_map_single()
call.)

that is device memory and up to your device; more than likely the bus
master function of your device just starts at offset 0 of the dpram and
doesn't care at all about the bar address
DISCLAIMER 
The contents of this e-mail and any attachment(s) are confidential and intended for the 

named recipient(s) only. It shall not attach any liability on the originator or HCL or its 

affiliates. Any views or opinions presented in this email are solely those of the author and 

may not necessarily reflect the opinions of HCL or its affiliates. Any form of reproduction, 

dissemination, copying, disclosure, modification, distribution and / or publication of this 

message without the prior written consent of the author of this e-mail is strictly 

prohibited. If you have received this email in error please delete it and notify the sender 

immediately. Before opening any mail and attachments please check them for viruses and 

defect.

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux