Changeset aa85487 in mainline for kernel/arch/ia64


Ignore:
Timestamp:
2010-03-07T15:11:56Z (16 years ago)
Author:
Lukas Mejdrech <lukasmejdrech@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/fix-logger-deadlock, topic/msim-upgrade, topic/simplify-dev-export
Children:
aadf01e
Parents:
2e99277 (diff), 137691a (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, revision 308

Location:
kernel/arch/ia64
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/include/atomic.h

    r2e99277 raa85487  
    3636#define KERN_ia64_ATOMIC_H_
    3737
    38 static inline uint64_t test_and_set(atomic_t *val)
     38static inline atomic_count_t test_and_set(atomic_t *val)
    3939{
    40         uint64_t v;
    41                
     40        atomic_count_t v;
     41       
    4242        asm volatile (
    4343                "movl %[v] = 0x1;;\n"
     
    5353{
    5454        do {
    55                 while (val->count)
    56                         ;
     55                while (val->count);
    5756        } while (test_and_set(val));
    5857}
     
    6059static inline void atomic_inc(atomic_t *val)
    6160{
    62         long v;
     61        atomic_count_t v;
    6362       
    6463        asm volatile (
     
    7170static inline void atomic_dec(atomic_t *val)
    7271{
    73         long v;
     72        atomic_count_t v;
    7473       
    7574        asm volatile (
     
    8079}
    8180
    82 static inline long atomic_preinc(atomic_t *val)
     81static inline atomic_count_t atomic_preinc(atomic_t *val)
    8382{
    84         long v;
     83        atomic_count_t v;
    8584       
    8685        asm volatile (
     
    9392}
    9493
    95 static inline long atomic_predec(atomic_t *val)
     94static inline atomic_count_t atomic_predec(atomic_t *val)
    9695{
    97         long v;
     96        atomic_count_t v;
    9897       
    9998        asm volatile (
     
    106105}
    107106
    108 static inline long atomic_postinc(atomic_t *val)
     107static inline atomic_count_t atomic_postinc(atomic_t *val)
    109108{
    110         long v;
     109        atomic_count_t v;
    111110       
    112111        asm volatile (
     
    119118}
    120119
    121 static inline long atomic_postdec(atomic_t *val)
     120static inline atomic_count_t atomic_postdec(atomic_t *val)
    122121{
    123         long v;
     122        atomic_count_t v;
    124123       
    125124        asm volatile (
  • kernel/arch/ia64/include/types.h

    r2e99277 raa85487  
    2727 */
    2828
    29 /** @addtogroup ia64   
     29/** @addtogroup ia64
    3030 * @{
    3131 */
     
    6363typedef uint64_t unative_t;
    6464typedef int64_t native_t;
     65typedef uint64_t atomic_count_t;
    6566
    6667typedef struct {
  • kernel/arch/ia64/src/cpu/cpu.c

    r2e99277 raa85487  
    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

    r2e99277 raa85487  
    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);
Note: See TracChangeset for help on using the changeset viewer.