void
Mem_space::page_map(Address phys, Address virt, Address size, unsigned attr)
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
Mword *trampoline = (Mword *)Mem_layout::kernel_trampoline_page;
void
Mem_space::page_unmap(Address virt, Address size)
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
Trampoline::syscall(pid(), __NR_munmap, virt, size);
}
void
Mem_space::page_protect(Address virt, Address size, unsigned attr)
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
Trampoline::syscall(pid(), __NR_mprotect, virt, size,
PROT_READ | (attr & Page_writable ? PROT_WRITE : 0));
if (((Address)addr & Config::PAGE_MASK) ==
(((Address)addr + sizeof (T) - 1) & Config::PAGE_MASK))
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
value = *user_to_kernel(addr, false);
}
else
if (((Address)addr & Config::PAGE_MASK) ==
(((Address)addr + sizeof (T) - 1) & Config::PAGE_MASK))
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
*user_to_kernel(addr, true) = value;
}
else
void
Mem_space::copy_from_user(T *kdst, T const *usrc, size_t n)
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
char *ptr = (char *)usrc;
char *dst = (char *)kdst;
void
Mem_space::copy_to_user(T *udst, T const *ksrc, size_t n)
{
- Lock_guard<Cpu_lock> guard(&cpu_lock);
+ auto guard = lock_guard(cpu_lock);
char *ptr = (char *)udst;
char *src = (char *)ksrc;