Changeset 7715994 in mainline for kernel/arch


Ignore:
Timestamp:
2010-03-13T12:17:02Z (16 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6ba20a6b
Parents:
d0febca (diff), 2070570 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes.

Location:
kernel/arch
Files:
25 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/abs32le/src/abs32le.c

    rd0febca r7715994  
    114114}
    115115
    116 void panic_printf(char *fmt, ...)
     116void panic_printf(const char *fmt, ...)
    117117{
    118118        va_list args;
  • kernel/arch/amd64/src/cpu/cpu.c

    rd0febca r7715994  
    6262};
    6363
    64 static char *vendor_str[] = {
     64static const char *vendor_str[] = {
    6565        "Unknown Vendor",
    6666        "AuthenticAMD",
  • kernel/arch/amd64/src/debugger.c

    rd0febca r7715994  
    339339{
    340340        unsigned int i;
    341         char *symbol;
    342341
    343342#ifdef __32_BITS__
     
    353352        for (i = 0; i < BKPOINTS_MAX; i++)
    354353                if (breakpoints[i].address) {
    355                         symbol = symtab_fmt_name_lookup(
     354                        const char *symbol = symtab_fmt_name_lookup(
    356355                            breakpoints[i].address);
    357356
  • kernel/arch/amd64/src/interrupt.c

    rd0febca r7715994  
    6565void decode_istate(int n, istate_t *istate)
    6666{
    67         char *symbol;
    68 
    69         symbol = symtab_fmt_name_lookup(istate->rip);
    70 
     67        const char *symbol = symtab_fmt_name_lookup(istate->rip);
     68       
    7169        printf("-----EXCEPTION(%d) OCCURED----- ( %s )\n", n, __func__);
    7270        printf("%%rip: %#llx (%s)\n", istate->rip, symbol);
  • kernel/arch/arm32/src/cpu/cpu.c

    rd0febca r7715994  
    4343
    4444/** Implementators (vendor) names */
    45 static char *imp_data[] = {
     45static const char *imp_data[] = {
    4646        "?",                                    /* IMP_DATA_START_OFFSET */
    4747        "ARM Ltd",                              /* 0x41 */
     
    6060
    6161/** Architecture names */
    62 static char *arch_data[] = {
     62static const char *arch_data[] = {
    6363        "?",       /* 0x0 */
    6464        "4",       /* 0x1 */
     
    108108void cpu_print_report(cpu_t *m)
    109109{
    110         char * vendor = imp_data[0];
    111         char * architecture = arch_data[0];
     110        const char *vendor = imp_data[0];
     111        const char *architecture = arch_data[0];
    112112        cpu_arch_t * cpu_arch = &m->arch;
    113113
  • kernel/arch/ia32/src/cpu/cpu.c

    rd0febca r7715994  
    6464};
    6565
    66 static char *vendor_str[] = {
     66static const char *vendor_str[] = {
    6767        "Unknown Vendor",
    6868        "AMD",
  • kernel/arch/ia32/src/interrupt.c

    rd0febca r7715994  
    6565void decode_istate(istate_t *istate)
    6666{
    67         char *symbol;
    68 
    69         symbol = symtab_fmt_name_lookup(istate->eip);
    70 
     67        const char *symbol = symtab_fmt_name_lookup(istate->eip);
     68       
    7169        if (CPU)
    7270                printf("----------------EXCEPTION OCCURED (cpu%u)----------------\n", CPU->id);
    7371        else
    7472                printf("----------------EXCEPTION OCCURED----------------\n");
    75                
     73       
    7674        printf("%%eip: %#lx (%s)\n", istate->eip, symbol);
    7775        printf("ERROR_WORD=%#lx\n", istate->error_word);
     
    8078        printf("stack: %#lx, %#lx, %#lx, %#lx\n", istate->stack[0], istate->stack[1], istate->stack[2], istate->stack[3]);
    8179        printf("       %#lx, %#lx, %#lx, %#lx\n", istate->stack[4], istate->stack[5], istate->stack[6], istate->stack[7]);
    82 
     80       
    8381        stack_trace_istate(istate);
    8482}
  • kernel/arch/ia32/src/mm/frame.c

    rd0febca r7715994  
    2727 */
    2828
    29 /** @addtogroup ia32mm 
     29/** @addtogroup ia32mm
    3030 * @{
    3131 */
     
    109109}
    110110
    111 static char *e820names[] = {
     111static const char *e820names[] = {
    112112        "invalid",
    113113        "available",
     
    122122{
    123123        unsigned int i;
    124         char *name;
     124        const char *name;
    125125       
    126126        printf("Base               Size               Name\n");
  • kernel/arch/ia64/src/cpu/cpu.c

    rd0febca r7715994  
    5252void cpu_print_report(cpu_t *m)
    5353{
    54         char *family_str;
     54        const char *family_str;
    5555        char vendor[2 * sizeof(uint64_t) + 1];
    5656       
  • kernel/arch/ia64/src/interrupt.c

    rd0febca r7715994  
    6464#define BUNDLE_SIZE             16
    6565
    66 char *vector_names_64_bundle[VECTORS_64_BUNDLE] = {
     66static const char *vector_names_64_bundle[VECTORS_64_BUNDLE] = {
    6767        "VHPT Translation vector",
    6868        "Instruction TLB vector",
     
    8787};
    8888
    89 char *vector_names_16_bundle[VECTORS_16_BUNDLE] = {
     89static const char *vector_names_16_bundle[VECTORS_16_BUNDLE] = {
    9090        "Page Not Present vector",
    9191        "Key Permission vector",
     
    121121};
    122122
    123 static char *vector_to_string(uint16_t vector);
    124 static void dump_interrupted_context(istate_t *istate);
    125 
    126 char *vector_to_string(uint16_t vector)
     123static const char *vector_to_string(uint16_t vector)
    127124{
    128125        ASSERT(vector <= VECTOR_MAX);
     
    135132}
    136133
    137 void dump_interrupted_context(istate_t *istate)
    138 {
    139         char *ifa, *iipa, *iip;
    140 
    141         ifa = symtab_fmt_name_lookup(istate->cr_ifa);
    142         iipa = symtab_fmt_name_lookup(istate->cr_iipa);
    143         iip = symtab_fmt_name_lookup(istate->cr_iip);
    144 
     134static void dump_interrupted_context(istate_t *istate)
     135{
     136        const char *ifa = symtab_fmt_name_lookup(istate->cr_ifa);
     137        const char *iipa = symtab_fmt_name_lookup(istate->cr_iipa);
     138        const char *iip = symtab_fmt_name_lookup(istate->cr_iip);
     139       
    145140        putchar('\n');
    146141        printf("Interrupted context dump:\n");
     
    162157void general_exception(uint64_t vector, istate_t *istate)
    163158{
    164         char *desc = "";
    165 
     159        const char *desc;
     160       
    166161        switch (istate->cr_isr.ge_code) {
    167162        case GE_ILLEGALOP:
     
    187182                break;
    188183        }
    189 
     184       
    190185        fault_if_from_uspace(istate, "General Exception (%s).", desc);
    191 
     186       
    192187        dump_interrupted_context(istate);
    193188        panic("General Exception (%s).", desc);
  • kernel/arch/mips32/src/cpu/cpu.c

    rd0febca r7715994  
    4040
    4141struct data_t {
    42         char *vendor;
    43         char *model;
     42        const char *vendor;
     43        const char *model;
    4444};
    4545
  • kernel/arch/mips32/src/debugger.c

    rd0febca r7715994  
    253253{
    254254        unsigned int i;
    255         char *symbol;
    256255       
    257256        printf("#  Count Address    INPROG ONESHOT FUNCCALL In symbol\n");
    258257        printf("-- ----- ---------- ------ ------- -------- ---------\n");
    259258       
    260         for (i = 0; i < BKPOINTS_MAX; i++)
     259        for (i = 0; i < BKPOINTS_MAX; i++) {
    261260                if (breakpoints[i].address) {
    262                         symbol = symtab_fmt_name_lookup(
     261                        const char *symbol = symtab_fmt_name_lookup(
    263262                            breakpoints[i].address);
    264 
     263                       
    265264                        printf("%-2u %-5d %#10zx %-6s %-7s %-8s %s\n", i,
    266265                            breakpoints[i].counter, breakpoints[i].address,
     
    270269                            BKPOINT_FUNCCALL) ? "true" : "false"), symbol);
    271270                }
     271        }
     272       
    272273        return 1;
    273274}
  • kernel/arch/mips32/src/exception.c

    rd0febca r7715994  
    4949#include <symtab.h>
    5050
    51 static char * exctable[] = {
     51static const char *exctable[] = {
    5252        "Interrupt",
    5353        "TLB Modified",
     
    7474static void print_regdump(istate_t *istate)
    7575{
    76         char *pcsymbol, *rasymbol;
    77 
    78         pcsymbol = symtab_fmt_name_lookup(istate->epc);
    79         rasymbol = symtab_fmt_name_lookup(istate->ra);
    80 
     76        const char *pcsymbol = symtab_fmt_name_lookup(istate->epc);
     77        const char *rasymbol = symtab_fmt_name_lookup(istate->ra);
     78       
    8179        printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc, pcsymbol,
    8280            istate->ra, rasymbol, istate->sp);
     
    9391static void reserved_instr_exception(int n, istate_t *istate)
    9492{
    95         if (*((uint32_t *)istate->epc) == 0x7c03e83b) {
     93        if (*((uint32_t *) istate->epc) == 0x7c03e83b) {
    9694                ASSERT(THREAD);
    9795                istate->epc += 4;
    9896                istate->v1 = istate->k1;
    99         } else 
     97        } else
    10098                unhandled_exception(n, istate);
    10199}
  • kernel/arch/mips32/src/mm/tlb.c

    rd0febca r7715994  
    321321void tlb_refill_fail(istate_t *istate)
    322322{
    323         char *symbol, *sym2;
    324 
    325         symbol = symtab_fmt_name_lookup(istate->epc);
    326         sym2 = symtab_fmt_name_lookup(istate->ra);
     323        const char *symbol = symtab_fmt_name_lookup(istate->epc);
     324        const char *sym2 = symtab_fmt_name_lookup(istate->ra);
    327325       
    328326        fault_if_from_uspace(istate, "TLB Refill Exception on %p.",
     
    335333void tlb_invalid_fail(istate_t *istate)
    336334{
    337         char *symbol;
    338 
    339         symbol = symtab_fmt_name_lookup(istate->epc);
    340 
     335        const char *symbol = symtab_fmt_name_lookup(istate->epc);
     336       
    341337        fault_if_from_uspace(istate, "TLB Invalid Exception on %p.",
    342338            cp0_badvaddr_read());
     
    347343void tlb_modified_fail(istate_t *istate)
    348344{
    349         char *symbol;
    350 
    351         symbol = symtab_fmt_name_lookup(istate->epc);
    352 
     345        const char *symbol = symtab_fmt_name_lookup(istate->epc);
     346       
    353347        fault_if_from_uspace(istate, "TLB Modified Exception on %p.",
    354348            cp0_badvaddr_read());
  • kernel/arch/ppc32/src/cpu/cpu.c

    rd0febca r7715994  
    5454void cpu_print_report(cpu_t *m)
    5555{
    56         char *name;
     56        const char *name;
    5757       
    5858        switch (m->arch.version) {
  • kernel/arch/ppc32/src/mm/tlb.c

    rd0febca r7715994  
    114114static void pht_refill_fail(uintptr_t badvaddr, istate_t *istate)
    115115{
    116         char *symbol;
    117         char *sym2;
    118 
    119         symbol = symtab_fmt_name_lookup(istate->pc);
    120         sym2 = symtab_fmt_name_lookup(istate->lr);
    121 
     116        const char *symbol = symtab_fmt_name_lookup(istate->pc);
     117        const char *sym2 = symtab_fmt_name_lookup(istate->lr);
     118       
    122119        fault_if_from_uspace(istate,
    123120            "PHT Refill Exception on %p.", badvaddr);
  • kernel/arch/sparc64/include/sun4v/hypercall.h

    rd0febca r7715994  
    7575
    7676/* return codes */
    77 #define EOK             0       /**< Successful return */
    78 #define ENOCPU          1       /**< Invalid CPU id */
    79 #define ENORADDR        2       /**< Invalid real address */
    80 #define ENOINTR         3       /**< Invalid interrupt id */
    81 #define EBADPGSZ        4       /**< Invalid pagesize encoding */
    82 #define EBADTSB         5       /**< Invalid TSB description */
    83 #define HV_EINVAL       6       /**< Invalid argument */
    84 #define EBADTRAP        7       /**< Invalid function number */
    85 #define EBADALIGN       8       /**< Invalid address alignment */
    86 #define EWOULDBLOCK     9       /**< Cannot complete operation without blocking */
    87 #define ENOACCESS       10      /**< No access to specified resource */
    88 #define EIO             11      /**< I/O Error */
    89 #define ECPUERROR       12      /**< CPU is in error state */
    90 #define ENOTSUPPORTED   13      /**< Function not supported */
    91 #define ENOMAP          14      /**< No mapping found */
    92 #define ETOOMANY        15      /**< Too many items specified / limit reached */
    93 #define ECHANNEL        16      /**< Invalid LDC channel */
    94 #define HV_EBUSY        17      /**< Operation failed as resource is otherwise busy */
     77#define HV_EOK                  0       /**< Successful return */
     78#define HV_ENOCPU               1       /**< Invalid CPU id */
     79#define HV_ENORADDR             2       /**< Invalid real address */
     80#define HV_ENOINTR              3       /**< Invalid interrupt id */
     81#define HV_EBADPGSZ             4       /**< Invalid pagesize encoding */
     82#define HV_EBADTSB              5       /**< Invalid TSB description */
     83#define HV_EINVAL               6       /**< Invalid argument */
     84#define HV_EBADTRAP             7       /**< Invalid function number */
     85#define HV_EBADALIGN            8       /**< Invalid address alignment */
     86#define HV_EWOULDBLOCK          9       /**< Cannot complete operation without blocking */
     87#define HV_ENOACCESS            10      /**< No access to specified resource */
     88#define HV_EIO                  11      /**< I/O Error */
     89#define HV_ECPUERROR            12      /**< CPU is in error state */
     90#define HV_ENOTSUPPORTED        13      /**< Function not supported */
     91#define HV_ENOMAP               14      /**< No mapping found */
     92#define HV_ETOOMANY             15      /**< Too many items specified / limit reached */
     93#define HV_ECHANNEL             16      /**< Invalid LDC channel */
     94#define HV_EBUSY                17      /**< Operation failed as resource is otherwise busy */
    9595
    9696
     
    190190__hypercall_fast_ret1(const uint64_t p1, const uint64_t p2, const uint64_t p3,
    191191    const uint64_t p4, const uint64_t p5, const uint64_t function_number,
    192     uint64_t * const ret1)
     192    uint64_t *ret1)
    193193{
    194         uint64_t errno = __hypercall_fast(p1, p2, p3, p4, p5, function_number);
    195         if (ret1 != NULL) {
    196                 asm volatile ("mov %%o1, %0\n" : "=r" (*ret1));
    197         }
    198         return errno;
     194        register uint64_t a6 asm("o5") = function_number;
     195        register uint64_t a1 asm("o0") = p1;
     196        register uint64_t a2 asm("o1") = p2;
     197        register uint64_t a3 asm("o2") = p3;
     198        register uint64_t a4 asm("o3") = p4;
     199        register uint64_t a5 asm("o4") = p5;
     200       
     201        asm volatile (
     202                "ta %8\n"
     203                : "=r" (a1), "=r" (a2)
     204                : "r" (a1), "r" (a2), "r" (a3), "r" (a4), "r" (a5), "r" (a6),
     205                  "i" (FAST_TRAP)
     206                : "memory"
     207        );
     208
     209        if (ret1)
     210                *ret1 = a2;
     211
     212        return a1;
    199213}
    200214
  • kernel/arch/sparc64/include/trap/regwin.h

    rd0febca r7715994  
    183183        add %l0, 1, %l0
    184184        wrpr %l0, 0, %cleanwin
     185#if defined(SUN4U)
    185186        mov %r0, %l0
    186187        mov %r0, %l1
     
    199200        mov %r0, %o6
    200201        mov %r0, %o7
     202#endif
    201203        retry
    202204.endm
    203205#endif /* __ASM__ */
    204206
    205 #if defined (SUN4U)
     207#if defined(SUN4U)
    206208#include <arch/trap/sun4u/regwin.h>
    207 #elif defined (SUN4V)
     209#elif defined(SUN4V)
    208210#include <arch/trap/sun4v/regwin.h>
    209211#endif
  • kernel/arch/sparc64/src/cpu/sun4u/cpu.c

    rd0febca r7715994  
    129129void cpu_print_report(cpu_t *m)
    130130{
    131         char *manuf, *impl;
     131        const char *manuf;
     132        const char *impl;
    132133
    133134        switch (m->arch.ver.manuf) {
  • kernel/arch/sparc64/src/drivers/niagara.c

    rd0febca r7715994  
    104104static inline void do_putchar(const char c) {
    105105        /* repeat until the buffer is non-full */
    106         while (__hypercall_fast1(CONS_PUTCHAR, c) == EWOULDBLOCK)
     106        while (__hypercall_fast1(CONS_PUTCHAR, c) == HV_EWOULDBLOCK)
    107107                ;
    108108}
     
    139139
    140140        /* read character from keyboard, send it to upper layers of HelenOS */
    141         if (__hypercall_fast_ret1(0, 0, 0, 0, 0, CONS_GETCHAR, &c) == EOK) {
     141        if (__hypercall_fast_ret1(0, 0, 0, 0, 0, CONS_GETCHAR, &c) == HV_EOK) {
    142142                if (!silent) {
    143143                        /* kconsole active, send the character to kernel */
  • kernel/arch/sparc64/src/mm/sun4u/tlb.c

    rd0febca r7715994  
    6464    tlb_tag_access_reg_t, const char *);
    6565
    66 char *context_encoding[] = {
     66const char *context_encoding[] = {
    6767        "Primary",
    6868        "Secondary",
  • kernel/arch/sparc64/src/mm/sun4v/tlb.c

    rd0febca r7715994  
    8989 * field of the MMU fault status area is i.
    9090 */
    91 char *fault_types[] = {
     91static const char *fault_types[] = {
    9292        "unknown",
    9393        "fast miss",
     
    107107        "invalid page size"
    108108        };
    109        
    110109
    111110/** Array of MMU fault status areas. */
     
    406405        uint64_t errno =  __hypercall_fast3(MMU_DEMAP_ALL, 0, 0,
    407406                MMU_FLAG_DTLB | MMU_FLAG_ITLB);
    408         if (errno != EOK) {
     407        if (errno != HV_EOK) {
    409408                panic("Error code = %d.\n", errno);
    410409        }
  • kernel/arch/sparc64/src/sun4v/md.c

    rd0febca r7715994  
    104104static md_element_t *get_element(element_idx_t idx)
    105105{
    106         return (md_element_t *) (
    107                 mach_desc + sizeof(md_header_t) + idx * sizeof(md_element_t));
     106        return (md_element_t *) (mach_desc +
     107            sizeof(md_header_t) + idx * sizeof(md_element_t));
    108108}
    109109
     
    114114        uintptr_t name_offset = get_element(idx)->name_offset;
    115115        return (char *) mach_desc + sizeof(md_header_t) +
    116                 md_header->node_blk_sz + name_offset;
     116            md_header->node_blk_sz + name_offset;
    117117}
    118118
     
    137137                md_element_t *element = get_element(idx);
    138138                if (element->tag == PROP_VAL &&
    139                                 str_cmp(key, get_element_name(idx)) == 0) {
     139                    str_cmp(key, get_element_name(idx)) == 0) {
    140140                        *result = element->d.val;
    141141                        return true;
     
    161161                md_element_t *element = get_element(idx);
    162162                if (element->tag == PROP_DATA &&
    163                                 str_cmp(key, get_element_name(idx)) == 0) {
     163                    str_cmp(key, get_element_name(idx)) == 0) {
    164164                        *result = (char *) mach_desc + sizeof(md_header_t) +
    165                                 md_header->node_blk_sz + md_header->name_blk_sz +
    166                                 element->d.y.data_offset;
     165                            md_header->node_blk_sz + md_header->name_blk_sz +
     166                            element->d.y.data_offset;
    167167                        return true;
    168168                }
     
    186186                md_element_t *element = get_element(*it);
    187187                if (element->tag == PROP_ARC &&
    188                                 str_cmp("fwd", get_element_name(*it)) == 0) {
     188                    str_cmp("fwd", get_element_name(*it)) == 0) {
    189189                        return true;
    190190                }
     
    289289
    290290                if (element->tag == NODE &&
    291                                 str_cmp(name, get_element_name(*node)) == 0) {
     291                    str_cmp(name, get_element_name(*node)) == 0) {
    292292                        return true;
    293293                }
     
    306306{
    307307        uint64_t retval = __hypercall_fast2(MACH_DESC, KA2PA(mach_desc),
    308                 MD_MAX_SIZE);
     308            MD_MAX_SIZE);
    309309
    310310        retval = retval;
    311         if (retval != EOK) {
     311        if (retval != HV_EOK) {
    312312                printf("Could not retrieve machine description, error = %d.\n",
    313                         retval);
     313                    retval);
    314314        }
    315315}
  • kernel/arch/sparc64/src/trap/exception.c

    rd0febca r7715994  
    4646void dump_istate(istate_t *istate)
    4747{
    48         char *tpcs, *tnpcs;
    49 
    50         tpcs = symtab_fmt_name_lookup(istate->tpc);
    51         tnpcs = symtab_fmt_name_lookup(istate->tnpc);
    52 
     48        const char *tpcs = symtab_fmt_name_lookup(istate->tpc);
     49        const char *tnpcs = symtab_fmt_name_lookup(istate->tnpc);
     50       
    5351        printf("TSTATE=%#" PRIx64 "\n", istate->tstate);
    5452        printf("TPC=%#" PRIx64 " (%s)\n", istate->tpc, tpcs);
  • kernel/arch/sparc64/src/trap/sun4v/interrupt.c

    rd0febca r7715994  
    8686                CPU_MONDO_QUEUE_ID,
    8787                KA2PA(cpu_mondo_queues[CPU->id]),
    88                 CPU_MONDO_NENTRIES) != EOK)
     88                CPU_MONDO_NENTRIES) != HV_EOK)
    8989                        panic("Initializing mondo queue failed on CPU %d.\n",
    9090                            CPU->arch.id);
Note: See TracChangeset for help on using the changeset viewer.