Changeset 6d7ffa65 in mainline for arch


Ignore:
Timestamp:
2006-01-08T15:03:41Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1a67595
Parents:
566ba81
Message:

Memory management work.
Move generic 4-level page table interface to genarch
and enable architectures to use different virtual memory
mechanisms (e.g. page hash tables).
Start page hash table support.
Switch ia64 and sparc64 to page hash tables.
Other architectures keep on using 4-level page table interface.

Location:
arch
Files:
1 added
12 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/Makefile.inc

    r566ba81 r6d7ffa65  
    5959CONFIG_ACPI = y
    6060
     61## Compile with hierarchical page tables support.
     62#
     63
     64CONFIG_PAGE_PT = y
     65
    6166## Accepted configuration directives
    6267#
  • arch/amd64/src/mm/page.c

    r566ba81 r6d7ffa65  
    2828
    2929#include <arch/mm/page.h>
     30#include <genarch/mm/page_pt.h>
    3031#include <arch/mm/frame.h>
    3132#include <mm/page.h>
     
    4546
    4647        if (config.cpu_active == 1) {
     48                page_operations = &page_pt_operations;
     49       
    4750                dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
    4851                memsetb(dba, PAGE_SIZE, 0);
  • arch/ia32/Makefile.inc

    r566ba81 r6d7ffa65  
    7878CONFIG_ACPI = y
    7979
     80## Compile with hierarchical page tables support.
     81#
     82
     83CONFIG_PAGE_PT = y
     84
    8085## Accepted configuration directives
    8186#
  • arch/ia32/src/mm/page.c

    r566ba81 r6d7ffa65  
    2828
    2929#include <arch/mm/page.h>
     30#include <genarch/mm/page_pt.h>
    3031#include <arch/mm/frame.h>
    3132#include <mm/frame.h>
     
    4950
    5051        if (config.cpu_active == 1) {
     52                page_operations = &page_pt_operations;
     53       
    5154                dba = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
    5255                memsetb(dba, PAGE_SIZE, 0);
  • arch/ia64/Makefile.inc

    r566ba81 r6d7ffa65  
    4343AFLAGS += -mconstant-gp
    4444
     45## Compile with page hash table support.
     46#
     47
     48CONFIG_PAGE_HT = y
     49
    4550ARCH_SOURCES = \
    4651        arch/$(ARCH)/src/start.S \
     
    5560        arch/$(ARCH)/src/interrupt.c \
    5661        arch/$(ARCH)/src/mm/frame.c \
     62        arch/$(ARCH)/src/mm/page.c \
    5763        arch/$(ARCH)/src/drivers/it.c
  • arch/ia64/include/mm/page.h

    r566ba81 r6d7ffa65  
    3838#define PA2KA(x)        ((__address) (x))
    3939
    40 #define page_arch_init()        ;
    41 
    4240/*
    4341 * Implementation of generic 4-level page table interface.
     
    7169#define SET_FRAME_FLAGS_ARCH(ptl3, i, x)
    7270
     71extern void page_arch_init(void);
     72
    7373#endif
  • arch/mips32/Makefile.inc

    r566ba81 r6d7ffa65  
    4646CFLAGS += -mno-abicalls -G 0 -fno-zero-initialized-in-bss
    4747DEFS += -DMACHINE=${MIPS_MACHINE} -DKERNEL_LOAD_ADDRESS=${KERNEL_LOAD_ADDRESS} -DINIT_ADDRESS=${INIT_ADDRESS} -DINIT_SIZE=${INIT_SIZE}
     48
     49## Compile with hierarchical page tables support.
     50#
     51
     52CONFIG_PAGE_PT = y
     53
    4854
    4955## Accepted MACHINEs
  • arch/mips32/src/mm/page.c

    r566ba81 r6d7ffa65  
    2727 */
    2828
    29 #include <arch/types.h>
    3029#include <arch/mm/page.h>
     30#include <genarch/mm/page_pt.h>
    3131#include <arch/mm/frame.h>
    3232#include <mm/frame.h>
    3333#include <mm/page.h>
     34#include <arch/types.h>
    3435#include <memstr.h>
    3536
     
    3940{
    4041        __address ptl0;
     42
     43        page_operations = &page_pt_operations;
    4144       
    4245        ptl0 = frame_alloc(FRAME_KA | FRAME_PANIC, ONE_FRAME);
  • arch/ppc32/Makefile.inc

    r566ba81 r6d7ffa65  
    4646CONFIG_OFW = y
    4747
     48## Compile with hierarchical page tables support.
     49#
     50
     51CONFIG_PAGE_PT = y
     52
    4853ARCH_SOURCES = \
    4954        arch/$(ARCH)/src/console.c \
  • arch/ppc32/src/mm/page.c

    r566ba81 r6d7ffa65  
    2727 */
    2828
    29 #include <arch/types.h>
    3029#include <arch/mm/page.h>
     30#include <genarch/mm/page_pt.h>
    3131#include <arch/mm/frame.h>
    3232#include <mm/frame.h>
    3333#include <mm/page.h>
     34#include <arch/types.h>
    3435
    3536void page_arch_init(void)
    3637{
     38        page_operations = &page_pt_operations;
    3739}
  • arch/sparc64/Makefile.inc

    r566ba81 r6d7ffa65  
    4747CONFIG_OFW = y
    4848
     49## Compile with page hash table support.
     50#
     51
     52CONFIG_PAGE_HT = y
     53
    4954ARCH_SOURCES = \
    5055        arch/$(ARCH)/src/cpu/cpu.c \
  • arch/sparc64/src/mm/page.c

    r566ba81 r6d7ffa65  
    2828
    2929#include <arch/mm/page.h>
     30#include <genarch/mm/page_ht.h>
    3031
    3132void page_arch_init(void)
    3233{
     34        page_operations = &page_ht_operations;
    3335}
Note: See TracChangeset for help on using the changeset viewer.