*/
cmdline = ukplat_memregion_alloc(cmdline_len + 1, UKPLAT_MEMRT_KERNEL,
UKPLAT_MEMRF_READ |
- UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP);
+ UKPLAT_MEMRF_WRITE);
if (unlikely(!cmdline))
return -ENOMEM;
/* Allocate boot stack */
bstack = ukplat_memregion_alloc(__STACK_SIZE, UKPLAT_MEMRT_STACK,
UKPLAT_MEMRF_READ |
- UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP);
+ UKPLAT_MEMRF_WRITE);
if (unlikely(!bstack))
UK_CRASH("Boot stack alloc failed\n");
bstack = (void *)((__uptr)bstack + __STACK_SIZE);
case UK_EFI_PAL_CODE:
case UK_EFI_PERSISTENT_MEMORY:
mrd->type = UKPLAT_MEMRT_RESERVED;
- mrd->flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
-
+ mrd->flags = UKPLAT_MEMRF_READ;
break;
case UK_EFI_MEMORY_MAPPED_IO:
case UK_EFI_MEMORY_MAPPED_IO_PORT_SPACE:
mrd->type = UKPLAT_MEMRT_RESERVED;
- mrd->flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP;
+ mrd->flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_WRITE;
break;
case UK_EFI_RUNTIME_SERVICES_CODE:
* permissions to avoid crashes generated by explicit firmware
* calls.
*/
- mrd->flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP;
+ mrd->flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_WRITE;
break;
case UK_EFI_LOADER_CODE:
rt_mrd->pg_count = mat_md->number_of_pages;
rt_mrd->vbase = rt_mrd->pbase;
rt_mrd->type = UKPLAT_MEMRT_RESERVED;
- rt_mrd->flags = UKPLAT_MEMRF_MAP;
+ rt_mrd->flags = UKPLAT_MEMRF_READ;
if (mat_md->attribute & UK_EFI_MEMORY_XP)
if (mat_md->attribute & UK_EFI_MEMORY_RO)
rt_mrd->flags |= UKPLAT_MEMRF_READ;
mrd.len = len;
mrd.pg_count = PAGE_COUNT(len);
mrd.type = UKPLAT_MEMRT_CMDLINE;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
rc = ukplat_memregion_list_insert(&bi->mrds, &mrd);
if (unlikely(rc < 0))
UK_EFI_CRASH("Failed to insert cmdl mrd\n");
mrd.len = len;
mrd.pg_count = PAGE_COUNT(len);
mrd.type = UKPLAT_MEMRT_INITRD;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
rc = ukplat_memregion_list_insert(&bi->mrds, &mrd);
if (unlikely(rc < 0))
UK_EFI_CRASH("Failed to insert initrd mrd\n");
mrd.len = len;
mrd.pg_count = PAGE_COUNT(len);
mrd.type = UKPLAT_MEMRT_DEVICETREE;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
rc = ukplat_memregion_list_insert(&bi->mrds, &mrd);
if (unlikely(rc < 0))
UK_EFI_CRASH("Failed to insert dtb mrd\n");
mrd.len = cmdline_size;
mrd.pg_count = PAGE_COUNT(mrd.pg_off + mrd.len);
mrd.type = UKPLAT_MEMRT_CMDLINE;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
#ifdef CONFIG_UKPLAT_MEMRNAME
memcpy(mrd.name, "cmdline", sizeof("cmdline"));
#endif /* CONFIG_UKPLAT_MEMRNAME */
mrd.len = initrd_size;
mrd.type = UKPLAT_MEMRT_INITRD;
mrd.pg_count = PAGE_COUNT(mrd.pg_off + initrd_size);
- mrd.flags = UKPLAT_MEMRF_MAP | UKPLAT_MEMRF_READ;
+ mrd.flags = UKPLAT_MEMRF_READ;
#ifdef CONFIG_UKPLAT_MEMRNAME
memcpy(mrd.name, "initrd", sizeof("initrd"));
#endif /* CONFIG_UKPLAT_MEMRNAME */
mrd.len = PAGE_ALIGN_UP(mrd.len);
} else {
mrd.type = UKPLAT_MEMRT_RESERVED;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
/* We assume that reserved regions cannot
* overlap with loaded modules.
if (mi->flags & MULTIBOOT_INFO_CMDLINE) {
if (mi->cmdline) {
cmdline_len = strlen((const char *)(__uptr)mi->cmdline);
+
/* 1:1 mapping */
mrd.pbase = PAGE_ALIGN_DOWN(mi->cmdline);
mrd.vbase = mrd.pbase;
mrd.len = cmdline_len;
mrd.pg_count = PAGE_COUNT(mrd.pg_off + cmdline_len);
mrd.type = UKPLAT_MEMRT_CMDLINE;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
mrd_insert(bi, &mrd);
mrd.len = mods[i].mod_end - mods[i].mod_start;
mrd.pg_count = PAGE_COUNT(mrd.pg_off + mrd.len);
mrd.type = UKPLAT_MEMRT_INITRD;
- mrd.flags = UKPLAT_MEMRF_READ | UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
#ifdef CONFIG_UKPLAT_MEMRNAME
strncpy(mrd.name, (char *)(__uptr)mods[i].cmdline,
mrd.len = PAGE_ALIGN_UP(mrd.len + mrd.pg_off);
} else {
mrd.type = UKPLAT_MEMRT_RESERVED;
- mrd.flags = UKPLAT_MEMRF_READ |
- UKPLAT_MEMRF_MAP;
+ mrd.flags = UKPLAT_MEMRF_READ;
/* We assume that reserved regions cannot
* overlap with loaded modules.
*/
cmdline = ukplat_memregion_alloc(cmdline_len + 1, UKPLAT_MEMRT_KERNEL,
UKPLAT_MEMRF_READ |
- UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP);
+ UKPLAT_MEMRF_WRITE);
if (unlikely(!cmdline))
return -ENOMEM;
/* Allocate boot stack */
bstack = ukplat_memregion_alloc(__STACK_SIZE, UKPLAT_MEMRT_STACK,
UKPLAT_MEMRF_READ |
- UKPLAT_MEMRF_WRITE |
- UKPLAT_MEMRF_MAP);
+ UKPLAT_MEMRF_WRITE);
if (unlikely(!bstack))
UK_CRASH("Boot stack alloc failed\n");