Changeset 482f968 in mainline for kernel/arch


Ignore:
Timestamp:
2018-10-31T16:48:51Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
91a8f83, bab75df6
Parents:
37781819
Message:

Make FRAME_HIGHMEM fall back to low memory on failure.

Which is what existing users of it are doing, and there is no reason
not to as far as I can see.

Also make sure calls to frame_alloc all have either FRAME_LOWMEM or
FRAME_HIGHMEM explicitly set, as appropriate.

Location:
kernel/arch
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/vreg.c

    r37781819 r482f968  
    6262        frame = frame_alloc(1, FRAME_ATOMIC | FRAME_HIGHMEM, 0);
    6363        if (!frame)
    64                 frame = frame_alloc(1, FRAME_ATOMIC | FRAME_LOWMEM, 0);
    65         if (!frame)
    6664                panic("Cannot allocate VREG frame.");
    6765
  • kernel/arch/arm32/src/mm/page.c

    r37781819 r482f968  
    6969#ifdef HIGH_EXCEPTION_VECTORS
    7070        /* Create mapping for exception table at high offset */
    71         uintptr_t ev_frame = frame_alloc(1, FRAME_NONE, 0);
     71        uintptr_t ev_frame = frame_alloc(1, FRAME_HIGHMEM, 0);
    7272        page_mapping_insert(AS_KERNEL, EXC_BASE_ADDRESS, ev_frame, flags);
    7373#else
  • kernel/arch/arm32/src/ras.c

    r37781819 r482f968  
    5151void ras_init(void)
    5252{
    53         uintptr_t frame =
    54             frame_alloc(1, FRAME_ATOMIC | FRAME_HIGHMEM, 0);
    55         if (!frame)
    56                 frame = frame_alloc(1, FRAME_LOWMEM, 0);
     53        uintptr_t frame = frame_alloc(1, FRAME_HIGHMEM, 0);
    5754
    5855        ras_page = (uintptr_t *) km_map(frame, PAGE_SIZE, PAGE_SIZE,
  • kernel/arch/ia32/src/vreg.c

    r37781819 r482f968  
    6363        frame = frame_alloc(1, FRAME_ATOMIC | FRAME_HIGHMEM, 0);
    6464        if (!frame)
    65                 frame = frame_alloc(1, FRAME_ATOMIC | FRAME_LOWMEM, 0);
    66         if (!frame)
    6765                panic("Cannot allocate VREG frame.");
    6866
  • kernel/arch/ia64/src/mm/vhpt.c

    r37781819 r482f968  
    4444{
    4545        uintptr_t vhpt_frame =
    46             frame_alloc(SIZE2FRAMES(VHPT_SIZE), FRAME_ATOMIC, 0);
     46            frame_alloc(SIZE2FRAMES(VHPT_SIZE), FRAME_LOWMEM | FRAME_ATOMIC, 0);
    4747        if (!vhpt_frame)
    4848                panic("Kernel configured with VHPT but no memory for table.");
  • kernel/arch/sparc64/src/mm/sun4u/as.c

    r37781819 r482f968  
    6363{
    6464#ifdef CONFIG_TSB
    65         uintptr_t tsb_base = frame_alloc(TSB_FRAMES, flags, TSB_SIZE - 1);
     65        uintptr_t tsb_base = frame_alloc(TSB_FRAMES, FRAME_LOWMEM | flags,
     66            TSB_SIZE - 1);
    6667        if (!tsb_base)
    6768                return ENOMEM;
  • kernel/arch/sparc64/src/mm/sun4v/as.c

    r37781819 r482f968  
    6666{
    6767#ifdef CONFIG_TSB
    68         uintptr_t tsb_base = frame_alloc(TSB_FRAMES, flags, TSB_SIZE - 1);
     68        uintptr_t tsb_base = frame_alloc(TSB_FRAMES, FRAME_LOWMEM | flags,
     69            TSB_SIZE - 1);
    6970        if (!tsb_base)
    7071                return ENOMEM;
Note: See TracChangeset for help on using the changeset viewer.