Re: read/write to virtual address
Daniel Krefft <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
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 >>> [email protected] >>> 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 >> >> [email protected] >> www.os.in.tum.de/personen/krefft >> >> _______________________________________________ >> l4-hackers mailing list >> [email protected] >> 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 [email protected] www.os.in.tum.de/personen/krefft