Changeset b07c332 in mainline


Ignore:
Timestamp:
2008-02-05T14:02:09Z (16 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b5ed4f8
Parents:
a0f6a61
Message:

convert e820list to a generic physmem command

Location:
kernel
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/include/mm/frame.h

    ra0f6a61 rb07c332  
    4141
    4242#define FRAME_WIDTH             12      /* 4K */
    43 #define FRAME_SIZE              (1<<FRAME_WIDTH)
     43#define FRAME_SIZE              (1 << FRAME_WIDTH)
    4444
    4545#ifndef __ASM__
    4646extern uintptr_t last_frame;
    4747extern void frame_arch_init(void);
     48extern void physmem_print(void);
    4849#endif /* __ASM__ */
    4950
  • kernel/arch/arm32/include/mm/frame.h

    ra0f6a61 rb07c332  
    5555extern void frame_arch_init(void);
    5656extern void boot_page_table_free(void);
     57#define physmem_print()
    5758
    5859#endif /* __ASM__ */
  • kernel/arch/ia32/include/mm/frame.h

    ra0f6a61 rb07c332  
    4747
    4848extern void frame_arch_init(void);
     49extern void physmem_print(void);
    4950
    5051#endif /* __ASM__ */
  • kernel/arch/ia32/src/mm/frame.c

    ra0f6a61 rb07c332  
    4646
    4747#include <print.h>
    48 #include <console/cmd.h>
    49 #include <console/kconsole.h>
    5048
    5149size_t hardcoded_unmapped_ktext_size = 0;
     
    5654static void init_e820_memory(pfn_t minconf)
    5755{
    58         int i;
     56        unsigned int i;
    5957        pfn_t start, conf;
    6058        size_t size;
     
    6462                        start = ADDR2PFN(ALIGN_UP(e820table[i].base_address, FRAME_SIZE));
    6563                        size = SIZE2FRAMES(ALIGN_DOWN(e820table[i].size, FRAME_SIZE));
     64                       
    6665                        if ((minconf < start) || (minconf >= start + size))
    6766                                conf = start;
    6867                        else
    6968                                conf = minconf;
     69                       
    7070                        zone_create(start, size, conf, 0);
     71                       
    7172                        if (last_frame < ALIGN_UP(e820table[i].base_address +
    7273                            e820table[i].size, FRAME_SIZE))
     
    7677        }
    7778}
    78 
    79 static int cmd_e820mem(cmd_arg_t *argv);
    80 static cmd_info_t e820_info = {
    81         .name = "e820list",
    82         .description = "List e820 memory.",
    83         .func = cmd_e820mem,
    84         .argc = 0
    85 };
    8679
    8780static char *e820names[] = {
     
    9588
    9689
    97 static int cmd_e820mem(cmd_arg_t *argv)
     90void physmem_print(void)
    9891{
    9992        unsigned int i;
     
    112105                        e820table[i].size, name);
    113106        }                       
    114         return 0;
    115107}
    116108
     
    118110void frame_arch_init(void)
    119111{
    120         static pfn_t minconf;
     112        pfn_t minconf;
    121113       
    122114        if (config.cpu_active == 1) {
    123                 cmd_initialize(&e820_info);
    124                 cmd_register(&e820_info);
    125 
    126115                minconf = 1;
    127116#ifdef CONFIG_SMP
    128117                minconf = max(minconf,
    129                     ADDR2PFN(AP_BOOT_OFFSET + hardcoded_unmapped_ktext_size +
    130                         hardcoded_unmapped_kdata_size));
     118                        ADDR2PFN(AP_BOOT_OFFSET + hardcoded_unmapped_ktext_size +
     119                        hardcoded_unmapped_kdata_size));
    131120#endif
    132121#ifdef CONFIG_SIMICS_FIX
     
    141130                /* Reserve AP real mode bootstrap memory */
    142131                frame_mark_unavailable(AP_BOOT_OFFSET >> FRAME_WIDTH,
    143                     (hardcoded_unmapped_ktext_size +
    144                     hardcoded_unmapped_kdata_size) >> FRAME_WIDTH);
     132                        (hardcoded_unmapped_ktext_size +
     133                        hardcoded_unmapped_kdata_size) >> FRAME_WIDTH);
    145134               
    146135#ifdef CONFIG_SIMICS_FIX
  • kernel/arch/ia32xen/include/mm/frame.h

    ra0f6a61 rb07c332  
    4747
    4848extern void frame_arch_init(void);
     49#define physmem_print()
    4950
    5051#endif /* __ASM__ */
  • kernel/arch/ia64/include/mm/frame.h

    ra0f6a61 rb07c332  
    3636#define KERN_ia64_FRAME_H_
    3737
    38 #define FRAME_WIDTH   14        /* 16K */
    39 #define FRAME_SIZE              (1<<FRAME_WIDTH)
     38#define FRAME_WIDTH             14      /* 16K */
     39#define FRAME_SIZE              (1 << FRAME_WIDTH)
    4040
    4141#ifdef KERNEL
     
    4343
    4444extern void frame_arch_init(void);
     45#define physmem_print()
    4546
    4647#define ARCH_STACK_FRAMES TWO_FRAMES
  • kernel/arch/mips32/include/mm/frame.h

    ra0f6a61 rb07c332  
    3737
    3838#define FRAME_WIDTH             14      /* 16K */
    39 #define FRAME_SIZE              (1<<FRAME_WIDTH)
     39#define FRAME_SIZE              (1 << FRAME_WIDTH)
    4040
    4141#ifdef KERNEL
     
    4343
    4444extern void frame_arch_init(void);
     45#define physmem_print()
    4546
    4647#endif /* __ASM__ */
  • kernel/arch/ppc32/include/mm/frame.h

    ra0f6a61 rb07c332  
    4747
    4848extern void frame_arch_init(void);
     49#define physmem_print()
    4950
    5051#endif /* __ASM__ */
  • kernel/arch/ppc64/include/mm/frame.h

    ra0f6a61 rb07c332  
    4747
    4848extern void frame_arch_init(void);
     49#define physmem_print()
    4950
    5051#endif /* __ASM__ */
  • kernel/arch/sparc64/include/mm/frame.h

    ra0f6a61 rb07c332  
    7070extern uintptr_t last_frame;
    7171extern void frame_arch_init(void);
     72#define physmem_print()
    7273
    7374#endif
  • kernel/generic/src/console/cmd.c

    ra0f6a61 rb07c332  
    335335};
    336336
     337/* Data and methods for 'physmem' command. */
     338static int cmd_physmem(cmd_arg_t *argv);
     339cmd_info_t physmem_info = {
     340        .name = "physmem",
     341        .description = "Print physical memory configuration.",
     342        .help = NULL,
     343        .func = cmd_physmem,
     344        .argc = 0,
     345        .argv = NULL
     346};
     347
    337348/* Data and methods for 'tlb' command. */
    338349static int cmd_tlb(cmd_arg_t *argv);
     
    458469        &threads_info,
    459470        &tasks_info,
     471        &physmem_info,
    460472        &tlb_info,
    461473        &version_info,
     
    485497void cmd_init(void)
    486498{
    487         int i;
    488 
    489         for (i=0;basic_commands[i]; i++) {
     499        unsigned int i;
     500
     501        for (i = 0; basic_commands[i]; i++) {
    490502                cmd_initialize(basic_commands[i]);
    491503                if (!cmd_register(basic_commands[i]))
    492                         panic("could not register command %s\n",
    493                               basic_commands[i]->name);
     504                        panic("could not register command %s\n", basic_commands[i]->name);
    494505        }
    495506}
     
    810821}
    811822
     823/** Command for printing physical memory configuration.
     824 *
     825 * @param argv Not used.
     826 *
     827 * @return Always returns 1.
     828 */
     829int cmd_physmem(cmd_arg_t *argv)
     830{
     831        physmem_print();
     832        return 1;
     833}
     834
    812835/** Write 4 byte value to address */
    813836int cmd_set4(cmd_arg_t *argv)
  • kernel/generic/src/interrupt/interrupt.c

    ra0f6a61 rb07c332  
    110110       
    111111        if (sizeof(void *) == 4) {
    112                 printf("Exc Description  Handler    Symbol\n");
    113                 printf("--- ------------ ---------- --------\n");
     112                printf("Exc Description    Handler    Symbol\n");
     113                printf("--- -------------- ---------- --------\n");
    114114        } else {
    115                 printf("Exc Description  Handler            Symbol\n");
    116                 printf("--- ------------ ------------------ --------\n");
     115                printf("Exc Description    Handler            Symbol\n");
     116                printf("--- -------------- ------------------ --------\n");
    117117        }
    118118       
     
    123123               
    124124                if (sizeof(void *) == 4)
    125                         printf("%-3u %-12s %#10zx %s\n", i + IVT_FIRST, exc_table[i].name,
     125                        printf("%-3u %-14s %#10zx %s\n", i + IVT_FIRST, exc_table[i].name,
    126126                                exc_table[i].f, symbol);
    127127                else
    128                         printf("%-3u %-12s %#18zx %s\n", i + IVT_FIRST, exc_table[i].name,
     128                        printf("%-3u %-14s %#18zx %s\n", i + IVT_FIRST, exc_table[i].name,
    129129                                exc_table[i].f, symbol);
    130130               
Note: See TracChangeset for help on using the changeset viewer.