Changeset 71eef11 in mainline for kernel/arch


Ignore:
Timestamp:
2008-02-06T14:24:13Z (17 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7208b6c
Parents:
1b067315
Message:

remove config.memory_size, get_memory_size() and memory_init.{c|d}
the amount of available memory can be calculated from the sizes of the zones
add FRAMES2SIZE, SIZE2KB and SIZE2MB functions/macros (code readability)

Location:
kernel/arch
Files:
14 deleted
21 edited
2 moved

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/Makefile.inc

    r1b067315 r71eef11  
    8888        arch/$(ARCH)/src/fpu_context.c \
    8989        arch/$(ARCH)/src/boot/boot.S \
     90        arch/$(ARCH)/src/boot/memmap.c \
    9091        arch/$(ARCH)/src/pm.c \
    9192        arch/$(ARCH)/src/context.S \
     
    104105        arch/$(ARCH)/src/mm/tlb.c \
    105106        arch/$(ARCH)/src/asm_utils.S \
    106         arch/$(ARCH)/src/mm/memory_init.c \
    107107        arch/$(ARCH)/src/cpu/cpu.c \
    108108        arch/$(ARCH)/src/proc/scheduler.c \
  • kernel/arch/amd64/src/amd64.c

    r1b067315 r71eef11  
    5151
    5252#include <arch/bios/bios.h>
    53 #include <arch/mm/memory_init.h>
    5453#include <arch/cpu.h>
    5554#include <print.h>
  • kernel/arch/amd64/src/boot/boot.S

    r1b067315 r71eef11  
    183183               
    184184                xorl %ecx, %ecx                                 # no memory size or map available
    185                 movl %ecx, e801memorysize
    186185                movl %ecx, e820counter
    187186               
     
    191190               
    192191                movl (%ebx), %eax                               # ebx = physical address of struct multiboot_info
    193                
    194                 bt $0, %eax                                     # mbi->flags[0] (mem_lower, mem_upper valid)
    195                 jc mem_valid
    196                        
    197                         xorl %ecx, %ecx
    198                         jmp mem_invalid
    199                        
    200                 mem_valid:
    201                 movl 4(%ebx), %ecx                              # mbi->mem_lower
    202                 addl 8(%ebx), %ecx                              # mbi->mem_upper
    203                
    204                 mem_invalid:
    205                 movl %ecx, e801memorysize
    206192               
    207193                bt $3, %eax                                     # mbi->flags[3] (mods_count, mods_addr valid)
  • kernel/arch/amd64/src/boot/memmap.c

    r1b067315 r71eef11  
    2727 */
    2828
    29 /** @addtogroup ia32mm 
     29/** @addtogroup amd64mm
    3030 * @{
    3131 */
    3232/** @file
    33  * @ingroup ia32mm, am64mm
    3433 */
    3534
    36 #ifndef KERN_ia32_MEMORY_INIT_H_
    37 #define KERN_ia32_MEMORY_INIT_H_
     35#include <arch/boot/memmap.h>
    3836
    39 size_t get_memory_size(void);
    40 
    41 #endif
     37uint8_t e820counter = 0xff;
     38e820memmap_t e820table[MEMMAP_E820_MAX_RECORDS];
    4239
    4340/** @}
  • kernel/arch/arm32/Makefile.inc

    r1b067315 r71eef11  
    8989        arch/$(ARCH)/src/mm/page.c \
    9090        arch/$(ARCH)/src/mm/tlb.c \
    91         arch/$(ARCH)/src/mm/memory_init.c \
    9291        arch/$(ARCH)/src/mm/page_fault.c
    9392
  • kernel/arch/arm32/src/mm/frame.c

    r1b067315 r71eef11  
    3636#include <mm/frame.h>
    3737#include <arch/mm/frame.h>
     38#include <arch/machine.h>
    3839#include <config.h>
    3940#include <arch/debug/print.h>
     
    4647{
    4748        /* all memory as one zone */
    48         zone_create(0, ADDR2PFN(config.memory_size),
     49        zone_create(0, ADDR2PFN(machine_get_memory_size()),
    4950            BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0);
    50         last_frame = config.memory_size;
     51        last_frame = machine_get_memory_size();
    5152
    5253        /* blacklist boot page table */
  • kernel/arch/ia32/Makefile.inc

    r1b067315 r71eef11  
    142142        arch/$(ARCH)/src/mm/as.c \
    143143        arch/$(ARCH)/src/mm/frame.c \
    144         arch/$(ARCH)/src/mm/memory_init.c \
    145144        arch/$(ARCH)/src/mm/page.c \
    146145        arch/$(ARCH)/src/mm/tlb.c \
     
    151150        arch/$(ARCH)/src/drivers/vesa.c \
    152151        arch/$(ARCH)/src/boot/boot.S \
     152        arch/$(ARCH)/src/boot/memmap.c \
    153153        arch/$(ARCH)/src/fpu_context.c \
    154154        arch/$(ARCH)/src/debugger.c
  • kernel/arch/ia32/include/boot/memmap.h

    r1b067315 r71eef11  
    6666extern e820memmap_t e820table[MEMMAP_E820_MAX_RECORDS];
    6767extern uint8_t e820counter;
    68 extern uint32_t e801memorysize;         /**< Size of available memory in KB. */
    6968
    7069#endif
  • kernel/arch/ia32/src/boot/boot.S

    r1b067315 r71eef11  
    110110        je valid_boot
    111111               
    112                 xorl %ecx, %ecx                                                 # no memory size or map available
    113                 movl %ecx, e801memorysize
     112                xorl %ecx, %ecx                                                 # no memory map available
    114113                movl %ecx, e820counter
    115114               
     
    119118               
    120119                movl (%ebx), %eax                                               # ebx = physical address of struct multiboot_info
    121                
    122                 bt $0, %eax                                                             # mbi->flags[0] (mem_lower, mem_upper valid)
    123                 jc mem_valid
    124                        
    125                         xorl %ecx, %ecx
    126                         jmp mem_invalid
    127                        
    128                 mem_valid:
    129                 movl 4(%ebx), %ecx                                              # mbi->mem_lower
    130                 addl 8(%ebx), %ecx                                              # mbi->mem_upper
    131                
    132                 mem_invalid:
    133                 movl %ecx, e801memorysize
    134120               
    135121                bt $3, %eax                                                             # mbi->flags[3] (mods_count, mods_addr valid)
  • kernel/arch/ia32/src/boot/memmap.c

    r1b067315 r71eef11  
    11/*
    2  * Copyright (c) 2005 Martin Decky
     2 * Copyright (c) 2005 Josef Cejka
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup ppc64mm
     29/** @addtogroup ia32mm
    3030 * @{
    3131 */
     
    3333 */
    3434
    35 #ifndef KERN_ppc64_MEMORY_INIT_H_
    36 #define KERN_ppc64_MEMORY_INIT_H_
     35#include <arch/boot/memmap.h>
    3736
    38 size_t get_memory_size(void);
    39 
    40 #endif
     37uint8_t e820counter = 0xff;
     38e820memmap_t e820table[MEMMAP_E820_MAX_RECORDS];
    4139
    4240/** @}
  • kernel/arch/ia32/src/ia32.c

    r1b067315 r71eef11  
    5555#include <arch/bios/bios.h>
    5656
    57 #include <arch/mm/memory_init.h>
    5857#include <interrupt.h>
    5958#include <ddi/irq.h>
  • kernel/arch/ia32xen/Makefile.inc

    r1b067315 r71eef11  
    132132        arch/$(ARCH)/src/mm/as.c \
    133133        arch/$(ARCH)/src/mm/frame.c \
    134         arch/$(ARCH)/src/mm/memory_init.c \
    135134        arch/$(ARCH)/src/mm/page.c \
    136135        arch/$(ARCH)/src/mm/tlb.c \
  • kernel/arch/ia32xen/src/ia32xen.c

    r1b067315 r71eef11  
    5454#include <arch/bios/bios.h>
    5555
    56 #include <arch/mm/memory_init.h>
    5756#include <interrupt.h>
    5857#include <arch/debugger.h>
  • kernel/arch/ia64/src/mm/frame.c

    r1b067315 r71eef11  
    4242 * for real ia64 systems that provide memory map.
    4343 */
     44#define MEMORY_SIZE     (512 * 1024 * 1024)
    4445#define ROM_BASE        0xa0000
    45 #define ROM_SIZE        (384*1024)
     46#define ROM_SIZE        (384 * 1024)
    4647
    4748void frame_arch_init(void)
    4849{
    49         zone_create(0, config.memory_size >> FRAME_WIDTH, 1, 0);
     50        zone_create(0, SIZE2FRAMES(MEMORY_SIZE), 1, 0);
    5051       
    5152        /*
    5253         * Blacklist ROM regions.
    5354         */
    54         frame_mark_unavailable(ADDR2PFN(ROM_BASE), ROM_SIZE >> FRAME_WIDTH);
     55        frame_mark_unavailable(ADDR2PFN(ROM_BASE), SIZE2FRAMES(ROM_SIZE));
    5556}
    5657
  • kernel/arch/mips32/src/drivers/arc.c

    r1b067315 r71eef11  
    221221                }       
    222222        } else
    223                 printf("%#10x %#10x free\n", 0, config.memory_size);
     223                printf("%#10x %#10x free\n", 0, CONFIG_MEMORY_SIZE);
    224224}
    225225
     
    363363        if (arc_enabled()) {
    364364                arc_memdescriptor_t *desc;
    365                 int total = 0;
    366365                uintptr_t base;
    367366                size_t basesize;
     
    380379                                basesize = ALIGN_DOWN(basesize, FRAME_SIZE);
    381380       
    382                                 total += basesize;
    383                                
    384381                                zone_create(ADDR2PFN(base), SIZE2FRAMES(basesize),
    385382                                            ADDR2PFN(base), 0);
     
    388385                }
    389386       
    390                 config.memory_size = total;
    391387                return true;
    392388        }
  • kernel/arch/mips32/src/mm/frame.c

    r1b067315 r71eef11  
    4747{
    4848        if (!arc_frame_init()) {
    49                 zone_create(0, ADDR2PFN(config.memory_size), 1, 0);
     49                zone_create(0, ADDR2PFN(CONFIG_MEMORY_SIZE), 1, 0);
    5050                /*
    5151                 * Blacklist interrupt vector
  • kernel/arch/ppc32/Makefile.inc

    r1b067315 r71eef11  
    8080        arch/$(ARCH)/src/mm/as.c \
    8181        arch/$(ARCH)/src/mm/frame.c \
    82         arch/$(ARCH)/src/mm/memory_init.c \
    8382        arch/$(ARCH)/src/mm/page.c \
    8483        arch/$(ARCH)/src/mm/tlb.c \
  • kernel/arch/ppc32/src/mm/frame.c

    r1b067315 r71eef11  
    3535#include <arch/boot/boot.h>
    3636#include <arch/mm/frame.h>
    37 #include <arch/mm/memory_init.h>
    3837#include <mm/frame.h>
    3938#include <align.h>
  • kernel/arch/ppc32/src/ppc32.c

    r1b067315 r71eef11  
    3737#include <arch/boot/boot.h>
    3838#include <arch/drivers/cuda.h>
    39 #include <arch/mm/memory_init.h>
    4039#include <arch/interrupt.h>
    4140#include <genarch/fb/fb.h>
  • kernel/arch/ppc64/Makefile.inc

    r1b067315 r71eef11  
    6868        arch/$(ARCH)/src/mm/as.c \
    6969        arch/$(ARCH)/src/mm/frame.c \
    70         arch/$(ARCH)/src/mm/memory_init.c \
    7170        arch/$(ARCH)/src/mm/page.c \
    7271        arch/$(ARCH)/src/mm/tlb.c \
  • kernel/arch/ppc64/src/mm/frame.c

    r1b067315 r71eef11  
    3535#include <arch/boot/boot.h>
    3636#include <arch/mm/frame.h>
    37 #include <arch/mm/memory_init.h>
    3837#include <mm/frame.h>
    3938#include <align.h>
  • kernel/arch/ppc64/src/ppc64.c

    r1b067315 r71eef11  
    3535#include <arch.h>
    3636#include <arch/boot/boot.h>
    37 #include <arch/mm/memory_init.h>
    3837#include <arch/interrupt.h>
    3938#include <genarch/fb/fb.h>
  • kernel/arch/sparc64/Makefile.inc

    r1b067315 r71eef11  
    9090        arch/$(ARCH)/src/mm/page.c \
    9191        arch/$(ARCH)/src/mm/tlb.c \
    92         arch/$(ARCH)/src/mm/memory_init.c \
    9392        arch/$(ARCH)/src/sparc64.c \
    9493        arch/$(ARCH)/src/start.S \
Note: See TracChangeset for help on using the changeset viewer.