Changeset 2057572 in mainline for uspace/fb/fb.c


Ignore:
Timestamp:
2007-03-27T23:40:25Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
399ece9
Parents:
8d37a06
Message:

The Ultimate Solution To Illegal Virtual Aliases.
It is better to avoid them completely than to fight them.
Switch the sparc64 port to 16K pages. The TLBs and TSBs
continue to operate with 8K pages only. Page tables and
other generic parts operate with 16K pages.

Because the MMU doesn't support 16K directly, each 16K
page is emulated by a pair of 8K pages. With 16K pages,
illegal aliases cannot be created in 16K D-cache.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/fb/fb.c

    r8d37a06 r2057572  
    756756                /* We accept one area for data interchange */
    757757                if (IPC_GET_ARG1(*call) == shm_id) {
    758                         void *dest = as_get_mappable_page(IPC_GET_ARG2(*call),
    759                                 PAGE_COLOR(IPC_GET_ARG1(*call)));
     758                        void *dest = as_get_mappable_page(IPC_GET_ARG2(*call));
    760759                        shm_size = IPC_GET_ARG2(*call);
    761760                        if (!ipc_answer_fast(callid, 0, (sysarg_t) dest, 0))
     
    13701369
    13711370        asz = fb_scanline * fb_height;
    1372         fb_addr = as_get_mappable_page(asz, (int)
    1373                 sysinfo_value("fb.address.color"));
     1371        fb_addr = as_get_mappable_page(asz);
    13741372       
    13751373        physmem_map(fb_ph_addr, fb_addr, ALIGN_UP(asz, PAGE_SIZE) >>
Note: See TracChangeset for help on using the changeset viewer.