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


Ignore:
Timestamp:
2007-03-27T23:40:25Z (18 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/ns/ns.c

    r8d37a06 r2057572  
    8484static void *klogaddr = NULL;
    8585
    86 static void get_as_area(ipc_callid_t callid, ipc_call_t *call, char *name, char *colstr, void **addr)
     86static void get_as_area(ipc_callid_t callid, ipc_call_t *call, char *name, void **addr)
    8787{
    8888        void *ph_addr;
    89         int ph_color;
    9089
    9190        if (!*addr) {
     
    9594                        return;
    9695                }
    97                 ph_color = (int) sysinfo_value(colstr);
    98                 *addr = as_get_mappable_page(PAGE_SIZE, ph_color);
     96                *addr = as_get_mappable_page(PAGE_SIZE);
    9997                physmem_map(ph_addr, *addr, 1, AS_AREA_READ | AS_AREA_CACHEABLE);
    10098        }
     
    120118                        case SERVICE_MEM_REALTIME:
    121119                                get_as_area(callid, &call, "clock.faddr",
    122                                         "clock.fcolor", &clockaddr);
     120                                    &clockaddr);
    123121                                break;
    124122                        case SERVICE_MEM_KLOG:
    125123                                get_as_area(callid, &call, "klog.faddr",
    126                                         "klog.fcolor", &klogaddr);
     124                                    &klogaddr);
    127125                                break;
    128126                        default:
Note: See TracChangeset for help on using the changeset viewer.