Oh my question contains discrepancy.

My real question is whether the output of ioport_map is physical or virtual. (I’m confused)

I know for systems with memory mapped I/O, we can just use request_mem_region, ioremap (maps to virtual address), plain memory access for the peripheral. (the page table sets the area as uncacheable because it’s IO devices)

Thanks!

Chan Kim

 

From: ckim@etri.re.kr <ckim@etri.re.kr>
Sent: Monday, March 22, 2021 10:28 AM
To: kernelnewbies@kernelnewbies.org
Subject: question about ioport_map function

 

Hello all

From what I understand, to map io ports to virtual memory, we should use request_region, ioport_map/unmap and ioread/write functions.

These are for architectures having input, output machine instructions like x86, x86_64.

And the return address of ioport_map is physical address.

Is my understanding correct?

Thanks!

Chan Kim