Lines Matching refs:memory

2 How to access I/O mapped memory from within device drivers
22 (because all bus master devices see the physical memory mappings directly).
25 at memory addresses, and in this case we actually want the third, the
28 Essentially, the three ways of addressing memory are (this is "real memory",
32 0 is what the CPU sees when it drives zeroes on the memory bus.
38 - bus address. This is the address of memory as seen by OTHER devices,
40 addresses, with each device seeing memory in some device-specific way, but
43 external hardware sees the memory the same way.
47 because the memory and the devices share the same address space, and that is
51 CPU sees a memory map something like this (this is from memory)::
53 0-2 GB "real memory"
55 3 GB-4 GB "IO memory" (shared memory over the IO bus)
58 the viewpoint of the devices, you have the reverse, and the physical memory
61 So when the CPU wants any bus master to write to physical memory 0, it
62 has to give the master address 0x80000000 as the memory address.
131 address is needed if you use memory mappings, for example, because the
132 "remap_pfn_range()" mm function wants the physical address of the memory to
133 be remapped as measured in units of pages, a.k.a. the pfn (the memory
140 only talks about "real memory", that is, CPU memory (RAM).
142 There is a completely different type of memory too, and that's the "shared
143 memory" on the PCI or ISA bus. That's generally not RAM (although in the case
147 This memory is called "PCI memory" or "shared memory" or "IO memory" or
149 related functions. You should never take the address of such memory, because
151 conceptually in the same memory space as "real memory" at all, so you cannot
152 just dereference a pointer. (Sadly, on x86 it **is** in the same memory space,
156 For such memory, you can do things like:
161 * read first 32 bits from ISA memory at 0xC0000, aka
169 * remap framebuffer PCI memory area at 0xFC000000,