Changeset 80d2bdb in mainline for arch


Ignore:
Timestamp:
2005-12-15T16:10:19Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b4cad8b2
Parents:
7dd2561
Message:

We are now almost -Wall clean.

  • redefined atomic_t
  • deleted many, many unused variables
  • some minor code cleanups found using compiler warning.
Location:
arch
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/include/asm.h

    r7dd2561 r80d2bdb  
    5555
    5656
    57 static inline __u8 inb(__u16 port)
    58 {
    59         __u8 out;
    60 
    61         __asm__ volatile (
    62                 "mov %1, %%dx\n"
    63                 "inb %%dx,%%al\n"
    64                 "mov %%al, %0\n"
    65                 :"=m"(out)
    66                 :"m"(port)
    67                 :"%rdx","%rax"
    68                 );
    69         return out;
    70 }
    71 
    72 static inline __u8 outb(__u16 port,__u8 b)
    73 {
    74         __asm__ volatile (
    75                 "mov %0,%%dx\n"
    76                 "mov %1,%%al\n"
    77                 "outb %%al,%%dx\n"
    78                 :
    79                 :"m"( port), "m" (b)
    80                 :"%rdx","%rax"
    81                 );
    82 }
     57/** Byte from port
     58 *
     59 * Get byte from port
     60 *
     61 * @param port Port to read from
     62 * @return Value read
     63 */
     64static inline __u8 inb(__u16 port) { __u8 val; __asm__ volatile ("inb %w1, %b0 \n" : "=a" (val) : "d" (port) ); return val; }
     65
     66/** Byte to port
     67 *
     68 * Output byte to port
     69 *
     70 * @param port Port to write to
     71 * @param val Value to write
     72 */
     73static inline void outb(__u16 port, __u8 val) { __asm__ volatile ("outb %b0, %w1\n" : : "a" (val), "d" (port) ); }
    8374
    8475/** Enable interrupts.
  • arch/amd64/src/cpu/cpu.c

    r7dd2561 r80d2bdb  
    126126{
    127127        cpu_info_t info;
    128         int i;
    129128
    130129        CPU->arch.vendor = VendorUnknown;
  • arch/ia32/include/atomic.h

    r7dd2561 r80d2bdb  
    3232#include <arch/types.h>
    3333
    34 typedef volatile __u32 atomic_t;
     34typedef struct { volatile __u32 count; } atomic_t;
     35
     36static inline void atomic_set(atomic_t *val, __u32 i)
     37{
     38        val->count = i;
     39}
     40
     41static inline __u32 atomic_get(atomic_t *val)
     42{
     43        return val->count;
     44}
    3545
    3646static inline void atomic_inc(atomic_t *val) {
    3747#ifdef CONFIG_SMP
    38         __asm__ volatile ("lock incl %0\n" : "=m" (*val));
     48        __asm__ volatile ("lock incl %0\n" : "=m" (val->count));
    3949#else
    40         __asm__ volatile ("incl %0\n" : "=m" (*val));
     50        __asm__ volatile ("incl %0\n" : "=m" (val->count));
    4151#endif /* CONFIG_SMP */
    4252}
     
    4454static inline void atomic_dec(atomic_t *val) {
    4555#ifdef CONFIG_SMP
    46         __asm__ volatile ("lock decl %0\n" : "=m" (*val));
     56        __asm__ volatile ("lock decl %0\n" : "=m" (val->count));
    4757#else
    48         __asm__ volatile ("decl %0\n" : "=m" (*val));
     58        __asm__ volatile ("decl %0\n" : "=m" (val->count));
    4959#endif /* CONFIG_SMP */
    5060}
     
    5666                "movl $1, %0\n"
    5767                "lock xaddl %0, %1\n"
    58                 : "=r"(r), "=m" (*val)
     68                : "=r"(r), "=m" (val->count)
    5969        );
    6070        return r;
     
    7787#define atomic_dec_post(val) (atomic_dec_pre(val)-1)
    7888
    79 static inline int test_and_set(volatile int *val) {
     89static inline int test_and_set(atomic_t *val) {
    8090        int v;
    8191       
     
    8393                "movl $1, %0\n"
    8494                "xchgl %0, %1\n"
    85                 : "=r" (v),"=m" (*val)
     95                : "=r" (v),"=m" (val->count)
    8696        );
    8797       
  • arch/ia32/src/fmath.c

    r7dd2561 r80d2bdb  
    6363        fmath_ld_union_t fmath_ld_union_int;
    6464        signed short exp;
    65         __u64 mask,mantisa;
     65        __u64 mask;
     66        // __u64 mantisa;
    6667        int i;
    6768       
  • arch/ia32/src/mm/frame.c

    r7dd2561 r80d2bdb  
    4444void frame_arch_init(void)
    4545{
    46         zone_t *z;
    4746        __u8 i;
    4847       
  • arch/ia32/src/smp/smp.c

    r7dd2561 r80d2bdb  
    8888void kmp(void *arg)
    8989{
    90         __address src, dst;
    9190        int i;
    9291       
  • arch/ia64/include/atomic.h

    r7dd2561 r80d2bdb  
    3232#include <arch/types.h>
    3333
    34 typedef volatile __u64 atomic_t;
     34typedef struct { volatile __u64 count; } atomic_t;
    3535
    3636static inline atomic_t atomic_add(atomic_t *val, int imm)
     
    3939
    4040       
    41         __asm__ volatile ("fetchadd8.rel %0 = %1, %2\n" : "=r" (v), "+m" (*val) : "i" (imm));
     41        __asm__ volatile ("fetchadd8.rel %0 = %1, %2\n" : "=r" (v), "+m" (val->count) : "i" (imm));
    4242 
    4343        return v;
     44}
     45
     46static inline void atomic_set(atomic_t *val, __u64 i)
     47{
     48        val->count = i;
     49}
     50
     51static inline __u32 atomic_get(atomic_t *val)
     52{
     53        return val->count;
    4454}
    4555
  • arch/mips32/include/atomic.h

    r7dd2561 r80d2bdb  
    4242
    4343
    44 typedef volatile __u32 atomic_t;
     44typedef struct { volatile __u32 count; } atomic_t;
    4545
    4646/* Atomic addition of immediate value.
     
    6363                "       beq %0, %4, 1b\n"       /* if the atomic operation failed, try again */
    6464                /*      nop     */              /* nop is inserted automatically by compiler */
    65                 : "=r" (tmp), "=m" (*val), "=r" (v)
     65                : "=r" (tmp), "=m" (val->count), "=r" (v)
    6666                : "i" (i), "i" (0)
    6767                );
     
    7070}
    7171
     72/* Reads/writes are atomic on mips for 4-bytes */
     73
     74static inline void atomic_set(atomic_t *val, __u32 i)
     75{
     76        val->count = i;
     77}
     78
     79static inline __u32 atomic_get(atomic_t *val)
     80{
     81        return val->count;
     82}
    7283
    7384#endif
  • arch/mips32/src/drivers/arc.c

    r7dd2561 r80d2bdb  
    189189        arc_putchar('C');
    190190        arc_putchar('\n');
     191
     192        return 0;
    191193}
    192194
     
    287289        __address base;
    288290        size_t basesize;
    289         unsigned int i,j;
    290291
    291292        desc = arc_entry->getmemorydescriptor(NULL);
  • arch/mips32/src/drivers/serial.c

    r7dd2561 r80d2bdb  
    3939static void serial_write(chardev_t *d, const char ch)
    4040{
    41         int i;
    4241        serial_t *sd = (serial_t *)d->data;
    4342
  • arch/ppc32/include/atomic.h

    r7dd2561 r80d2bdb  
    3232#include <arch/types.h>
    3333
    34 typedef volatile __u32 atomic_t;
     34typedef struct { volatile __u32 count; } atomic_t;
    3535
    3636/*
     
    4040
    4141static inline void atomic_inc(atomic_t *val) {
    42         *val++;
     42        val->count++;
    4343}
    4444
    4545static inline void atomic_dec(atomic_t *val) {
    46         *val--;
     46        val->count--;
     47}
     48
     49static inline void atomic_set(atomic_t *val, __u32 i)
     50{
     51        val->count = i;
     52}
     53
     54static inline __u32 atomic_get(atomic_t *val)
     55{
     56        return val->count;
    4757}
    4858
  • arch/sparc64/include/atomic.h

    r7dd2561 r80d2bdb  
    3232#include <arch/types.h>
    3333
    34 typedef volatile __u64 atomic_t;
     34typedef struct { volatile __u64 count; } atomic_t;
    3535
    3636/*
     
    4040
    4141static inline void atomic_inc(atomic_t *val) {
    42         *val++;
     42        val->count++;
    4343}
    4444
    4545static inline void atomic_dec(atomic_t *val) {
    46         *val--;
     46        val->count--;
    4747}
    4848
Note: See TracChangeset for help on using the changeset viewer.