read/write to virtual address

Daniel Krefft daniel.krefft at tum.de
Thu Feb 16 13:14:07 CET 2017


Hi,

you're right, we're not interested in accessing device memory.

We want to know, at which place within the operating system/kernel
(l4re/fiasco.oc) memory access takes place. This means, which concrete
functions address the MMU (load/store) or handle the read/write virtual
memory operations?

Best regards
Daniel

On 16.02.2017 00:18, Adam Lackorzynski wrote:
> Hi,
> 
> On Wed Feb 15, 2017 at 09:55:19 +0100, Daniel Krefft wrote:
>> Hi,
>>
>> we came across two functions (read/write) that are defined in the l4
>> base API documentation:
>>
>> https://os.inf.tu-dresden.de/L4Re/doc/group__l4__mem__op__api.html
>>
>> 1) What does the description "functionality to access user task memory
>> from the kernel" mean? This could be interpreted as accessing user-space
>> memory from within the kernel?!
> 
> As the description says through this functions is it possible to
> read/write from/to device memory in the case the device only allows
> access from privileged processor more. There are some of those devices
> out there where even the switch to allow access from user-mode is
> broken. I guess nobody ever noticed. Those functions are only required
> for those specific devices where it's necessary, i.e. not in any normal
> operation. But yes, they fall under the category you describe.
> 
>> 2) Are there any equivalent memory read/write functions inside the l4re
>> that also take a virtual address as a parameter?
> 
> Yes, there are, for example, utility functions for accessing device
> memory. However I'm not sure you're looking for something like this as
> this is all within the same address space and any code in there can
> read/write anywhere in that address space (given paging permits).
> There's no functionality to read/write memory in other address spaces
> directly.
> 
> 
> Adam
> 
>> To clarify, all intended operations (read/write) should not modify
>> user-space memory from inside the kernel or vice versa. User-space
>> defined read/write functions should operate in user-space exclusively.
>>
>> Best
>> Daniel
>>
>> On 14.02.2017 23:29, Adam Lackorzynski wrote:
>>> Hi,
>>>
>>> On Tue Feb 14, 2017 at 10:38:26 +0100, Daniel Krefft wrote:
>>>> while working on a checkpoint/restore mechanism for fiasco.oc, we want
>>>> to trace read and write (kernel) calls to (virtual) memory.
>>>>
>>>> 1) Where are these calls defined? We're just able to find ARM specific
>>>> calls inside the kernel, which allow writing and reading to/from a
>>>> virtual address
>>>>
>>>> 2) Are these calls (if existent) platform agnostic (user-space)? Is
>>>> there any kind of interface?
>>>
>>> I do not quite get the question. The kernel (Fiasco) is running in
>>> virtual memory, also when running in the kernel, i.e. any load/store
>>> operation that is in the code is through virtual memory.
>>> Do you want to trace any read/write issued by the kernel to user-level
>>> memory? I'm afraid, the kernel does not do that, i.e. it never touches
>>> user-level memory (except the specially treated UTCB memory).
>>> Could you please describe your question more verbosely?
>>>
>>>
>>>
>>> Adam
>>>
>>> _______________________________________________
>>> l4-hackers mailing list
>>> l4-hackers at os.inf.tu-dresden.de
>>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
>>>
>>
>> -- 
>> Daniel Krefft MSc.
>> Wissenschaftlicher Mitarbeiter
>>
>> Technische Universitaet Muenchen
>> Fakultaet fuer Informatik
>> Lehrstuhl fuer Betriebssysteme
>>
>> Arcisstrasse 21
>> 80333 Muenchen
>>
>> Tel. +49 89 289 18791
>>
>> daniel.krefft at tum.de
>> www.os.in.tum.de/personen/krefft
>>
>> _______________________________________________
>> l4-hackers mailing list
>> l4-hackers at os.inf.tu-dresden.de
>> http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
> 
> Adam
> 

-- 
Daniel Krefft MSc.
Wissenschaftlicher Mitarbeiter

Technische Universitaet Muenchen
Fakultaet fuer Informatik
Lehrstuhl fuer Betriebssysteme

Arcisstrasse 21
80333 Muenchen

Tel. +49 89 289 18791

daniel.krefft at tum.de
www.os.in.tum.de/personen/krefft



More information about the l4-hackers mailing list