Changes in / [bb6f135:3d4750f] in mainline


Ignore:
Location:
kernel/generic
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/macros.h

    rbb6f135 r3d4750f  
    6969    uint64_t sz2)
    7070{
    71         uint64_t e1;
    72         uint64_t e2;
    73 
    74         /* Handle the two corner cases when either sz1 or sz2 are zero. */
    75         if (sz1 == 0)
    76                 return (s1 == s2) && (sz2 == 0);
    77         e1 = s1 + sz1 - 1;     
    78         if (sz2 == 0)
    79                 return (s1 <= s2) && (s2 <= e1);
    80         e2 = s2 + sz2 - 1;
    81 
    82         /* e1 and e2 are end addresses, the sum is imune to overflow */
     71        uint64_t e1 = s1 + sz1;
     72        uint64_t e2 = s2 + sz2;
     73       
    8374        return ((s1 <= s2) && (e1 >= e2));
    8475}
  • kernel/generic/src/mm/km.c

    rbb6f135 r3d4750f  
    134134        ASSERT(ALIGN_UP(size, FRAME_SIZE) == size);
    135135
    136         /* Enforce natural or at least PAGE_SIZE alignment. */
    137136        align = ispwr2(size) ? size : (1U << (fnzb(size) + 1));
    138137        vaddr = km_page_alloc(size, max(PAGE_SIZE, align));
     
    151150{
    152151        uintptr_t offs;
    153         size_t align;
    154152        ipl_t ipl;
    155153
     
    170168        page_table_unlock(AS_KERNEL, true);
    171169
    172         /*
    173          * Match the size parameter with that of km_page_alloc() in
    174          * km_map_aligned().
    175          */
    176         align = ispwr2(size) ? size : (1U << (fnzb(size) + 1));
    177         km_page_free(vaddr, max(PAGE_SIZE, align));
     170        km_page_free(vaddr, size);
    178171}
    179172
Note: See TracChangeset for help on using the changeset viewer.