Changeset 76cec1e in mainline


Ignore:
Timestamp:
2005-07-15T21:57:30Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b4a4c5e3
Parents:
e41c47e
Message:

Huge indentation fix.

Files:
50 edited

Legend:

Unmodified
Added
Removed
  • arch/ia32/boot/boot.S

    re41c47e r76cec1e  
    5151        xorw %ax,%ax            # reset, %al will be used below
    5252        movw %ax,%dx            # fd0, %dh and %dl will be used below
    53         movw %dx,%ds
     53        movw %dx,%ds
    5454
    5555        movw %dx,%ss            # initialize stack
     
    5959        jc stop_trying
    6060
    61         movw %dx,%ds
     61        movw %dx,%ds
    6262        movw %dx,%ss
    6363        movw $0x7c00,%sp
     
    9393        movw logical_sector,%ax
    9494        divb sectors
    95    
     95
    9696        movb %ah,%cl
    97         incb %cl                        # sector
    98    
     97        incb %cl                        # sector
     98
    9999        movb %al,%ch
    100100        shrb $1,%ch                     # track
    101    
     101
    102102        movb %al,%dh
    103103        andb $1,%dh                     # head
     
    127127        movw %sp,%bp
    128128        pusha
    129    
     129
    130130        movb $0xe,%ah
    131131        movb $7,%bl
    132132        int $0x10
    133    
     133
    134134        popa
    135135        pop %bp
  • arch/ia32/boot/boot.ld

    re41c47e r76cec1e  
    11OUTPUT_FORMAT(binary)
    22SECTIONS {
    3     .text 0x7c00 : AT (0x0) { *(.text) }
     3        .text 0x7c00 : AT (0x0) { *(.text) }
    44}
  • arch/ia32/include/cpu.h

    re41c47e r76cec1e  
    4343
    4444struct cpu_arch {
    45         int vendor;
    46         int family;
    47         int model;
    48         int stepping;
     45        int vendor;
     46        int family;
     47        int model;
     48        int stepping;
    4949        struct tss *tss;
    5050};
  • arch/ia32/src/acpi/acpi.c

    re41c47e r76cec1e  
    8585void acpi_init(void)
    8686{
    87         __u8 *addr[2] = { NULL, (__u8 *) 0xe0000 };
    88         int i, j, length[2] = { 1024, 128*1024 };
     87        __u8 *addr[2] = { NULL, (__u8 *) 0xe0000 };
     88        int i, j, length[2] = { 1024, 128*1024 };
    8989        __u64 *sig = (__u64 *) RSDP_SIGNATURE;
    9090
    91         /*
     91        /*
    9292         * Find Root System Description Pointer
    93         * 1. search first 1K of EBDA
    94         * 2. search 128K starting at 0xe0000
    95         */
     93        * 1. search first 1K of EBDA
     94        * 2. search 128K starting at 0xe0000
     95        */
    9696
    9797        addr[0] = (__u8 *) ebda;
    9898        for (i = (ebda ? 0 : 1); i < 2; i++) {
    99                 for (j = 0; j < length[i]; j += 16) {
    100                         if (*((__u64 *) &addr[i][j]) == *sig && rsdp_check(&addr[i][j])) {
    101                                 acpi_rsdp = (struct acpi_rsdp *) &addr[i][j];
    102                                 goto rsdp_found;
    103                         }
    104                 }
    105         }
     99                for (j = 0; j < length[i]; j += 16) {
     100                        if (*((__u64 *) &addr[i][j]) == *sig && rsdp_check(&addr[i][j])) {
     101                                acpi_rsdp = (struct acpi_rsdp *) &addr[i][j];
     102                                goto rsdp_found;
     103                        }
     104                }
     105        }
    106106
    107         return;
     107        return;
    108108
    109109rsdp_found:
    110         printf("%L: ACPI Root System Description Pointer\n", acpi_rsdp);
    111        
     110        printf("%L: ACPI Root System Description Pointer\n", acpi_rsdp);
     111
    112112        acpi_rsdt = (struct acpi_rsdt *) acpi_rsdp->rsdt_address;
    113113        if (acpi_rsdp->revision) acpi_xsdt = (struct acpi_xsdt *) ((__address) acpi_rsdp->xsdt_address);
     
    138138                        struct acpi_sdt_header *h = (struct acpi_sdt_header *) acpi_rsdt->entry[i];
    139139               
    140                         map_sdt(h);     
     140                        map_sdt(h);     
    141141                        if (*((__u32 *) &h->signature[0])==*((__u32 *) &signature_map[j].signature[0])) {
    142142                                if (!acpi_sdt_check((__u8 *) h))
  • arch/ia32/src/asm.s

    re41c47e r76cec1e  
    9696        push %ds
    9797        push %es
    98    
     98
    9999        # we must fill the data segment registers
    100100        movw $16,%ax
    101101        movw %ax,%ds
    102102        movw %ax,%es
    103    
     103
    104104        movl $(\i),%edi
    105105        pushl %ebp
     
    114114        popa
    115115        pop %ebp
    116    
    117         iret
    118    
     116
     117        iret
     118
    119119        .if (\n-\i)-1
    120120        handler "(\i+1)",\n
     
    180180        movl %esp,%ebp
    181181        pusha
    182    
     182
    183183        movl 8(%ebp),%edx
    184184        movl 12(%ebp),%eax
    185185        outb %al,%dx
    186    
     186
    187187        popa
    188188        pop %ebp
     
    198198        movl %esp,%ebp
    199199        pusha
    200    
     200
    201201        movl 8(%ebp),%edx
    202202        movl 12(%ebp),%eax
    203203        outw %ax,%dx
    204    
     204
    205205        popa
    206206        pop %ebp
     
    216216        movl %esp,%ebp
    217217        pusha
    218    
     218
    219219        movl 8(%ebp),%edx
    220220        movl 12(%ebp),%eax
    221221        outl %eax,%dx
    222    
     222
    223223        popa
    224224        pop %ebp
     
    240240        movl %esp,%ebp
    241241        pusha
    242    
     242
    243243        cld
    244244        movl CNT(%ebp),%ecx
    245245        movl DST(%ebp),%edi
    246         movl SRC(%ebp),%esi   
    247    
     246        movl SRC(%ebp),%esi
     247
    248248        rep movsb %ds:(%esi),%es:(%edi)
    249    
     249
    250250        popa
    251251        pop %ebp
     
    266266        movl %esp,%ebp
    267267        pusha
    268    
     268
    269269        cld
    270270        movl CNT(%ebp),%ecx
    271271        movl DST(%ebp),%edi
    272272        movl X(%ebp),%eax
    273    
     273
    274274        rep stosb %al,%es:(%edi)
    275    
    276         popa
     275
     276        popa
    277277        pop %ebp
    278278        ret
     
    292292        movl %esp,%ebp
    293293        pusha
    294    
     294
    295295        cld
    296296        movl CNT(%ebp),%ecx
    297297        movl DST(%ebp),%edi
    298298        movl X(%ebp),%eax
    299    
     299
    300300        rep stosw %ax,%es:(%edi)
    301    
    302         popa
     301
     302        popa
    303303        pop %ebp
    304304        ret
     
    321321
    322322        pusha
    323    
     323
    324324        cld
    325325        movl CNT(%ebp),%ecx
    326326        movl DST(%ebp),%edi
    327         movl SRC(%ebp),%esi   
    328    
     327        movl SRC(%ebp),%esi
     328
    329329        repe cmpsb %es:(%edi),%ds:(%esi)
    330330        movl %ecx,(%ebp)
  • arch/ia32/src/boot/boot.S

    re41c47e r76cec1e  
    5757        movw %ax,%fs
    5858        movw %ax,%ds                    # kernel data + stack
    59         movw %ax,%ss
     59        movw %ax,%ss
    6060        movl $0x7c00,%esp
    6161
  • arch/ia32/src/context.s

    re41c47e r76cec1e  
    4343        movl 4(%esp),%eax       # the caller's return %eip
    4444        movl 8(%esp),%ebx       # address of the kernel_context variable to save context to
    45         movl %eax,4(%ebx)       # %eip -> ctx->pc
     45        movl %eax,4(%ebx)       # %eip -> ctx->pc
    4646        movl %esp,(%ebx)        # %esp -> ctx->sp
    4747
     
    5454        movl %esi,20(%eax)
    5555        movl %edi,24(%eax)
    56         movl %ebp,28(%eax)   
    57    
     56        movl %ebp,28(%eax)
     57
    5858        xorl %eax,%eax          # context_save returns 1
    5959        incl %eax
     
    6565# Restore CPU context from the kernel_context variable
    6666# pointed by the 1st argument. Returns 0 in EAX.
    67 #   
     67#
    6868context_restore:
    6969        movl 4(%esp),%eax       # address of the kernel_context variable to restore context from
     
    8080        movl 4(%eax),%eax
    8181        movl %eax,(%esp)        # ctx->pc -> saver's return %eip
    82         xorl %eax,%eax          # context_restore returns 0
     82        xorl %eax,%eax          # context_restore returns 0
    8383        ret
  • arch/ia32/src/cpu/cpu.c

    re41c47e r76cec1e  
    109109                 * Check for AMD processor.
    110110                 */
    111                 if (info.cpuid_ebx==AMD_CPUID_EBX &&
    112                     info.cpuid_ecx==AMD_CPUID_ECX &&
    113                     info.cpuid_edx==AMD_CPUID_EDX) {
    114                        
     111                if (info.cpuid_ebx==AMD_CPUID_EBX && info.cpuid_ecx==AMD_CPUID_ECX && info.cpuid_edx==AMD_CPUID_EDX) {
    115112                        CPU->arch.vendor = VendorAMD;
    116113                }
     
    119116                 * Check for Intel processor.
    120117                 */             
    121                 if (info.cpuid_ebx==INTEL_CPUID_EBX &&
    122                     info.cpuid_ecx==INTEL_CPUID_ECX &&
    123                     info.cpuid_edx==INTEL_CPUID_EDX) {
    124 
     118                if (info.cpuid_ebx==INTEL_CPUID_EBX && info.cpuid_ecx==INTEL_CPUID_ECX && info.cpuid_edx==INTEL_CPUID_EDX) {
    125119                        CPU->arch.vendor = VendorIntel;
    126 
    127120                }
    128121                               
  • arch/ia32/src/cpuid.s

    re41c47e r76cec1e  
    8484        movl %ecx,8(%esi)
    8585        movl %edx,12(%esi)
    86    
     86
    8787        popa
    8888        popl %ebp
  • arch/ia32/src/drivers/ega.c

    re41c47e r76cec1e  
    7070{
    7171        if (ega_cursor < SCREEN)
    72             return;
     72                return;
    7373
    7474        memcopy(PA2KA(VIDEORAM) + ROW*2, PA2KA(VIDEORAM), (SCREEN - ROW)*2);
     
    8686        switch (ch) {
    8787            case '\n':
    88                     ega_cursor = (ega_cursor + ROW) - ega_cursor % ROW;
    89                     break;
     88                ega_cursor = (ega_cursor + ROW) - ega_cursor % ROW;
     89                break;
    9090            case '\t':
    91                     ega_cursor = (ega_cursor + 8) - ega_cursor % 8;
    92                     break;
     91                ega_cursor = (ega_cursor + 8) - ega_cursor % 8;
     92                break;
    9393            default:
    94                     ega_display_char(ch);
    95                     ega_cursor++;
    96                     break;
     94                ega_display_char(ch);
     95                ega_cursor++;
     96                break;
    9797        }
    9898        ega_check_cursor();
    9999        ega_move_cursor();
    100        
     100
    101101        spinlock_unlock(&egalock);
    102102        cpu_priority_restore(pri);
  • arch/ia32/src/drivers/i8254.c

    re41c47e r76cec1e  
    8484
    8585        do {
    86                 /* will read both status and count */
     86                /* will read both status and count */
    8787                outb(CLK_PORT4, 0xc2);
    8888                not_ok = (inb(CLK_PORT1)>>6)&1;
     
    110110        o2 |= inb(CLK_PORT1) << 8;
    111111
    112 
    113         CPU->delay_loop_const = ((MAGIC_NUMBER*LOOPS)/1000) / ((t1-t2)-(o1-o2)) +
    114                                     (((MAGIC_NUMBER*LOOPS)/1000) % ((t1-t2)-(o1-o2)) ? 1 : 0);
    115        
     112        CPU->delay_loop_const = ((MAGIC_NUMBER*LOOPS)/1000) / ((t1-t2)-(o1-o2)) + (((MAGIC_NUMBER*LOOPS)/1000) % ((t1-t2)-(o1-o2)) ? 1 : 0);
    116113
    117114        clk1 = rdtsc();
  • arch/ia32/src/drivers/i8259.c

    re41c47e r76cec1e  
    4545        /* ICW2: IRQ 0 maps to INT IRQBASE */
    4646        outb(PIC_PIC0PORT2, IVT_IRQBASE);
    47    
     47
    4848        /* ICW3: pic1 using IRQ IRQ_PIC1 */
    4949        outb(PIC_PIC0PORT2, 1 << IRQ_PIC1);
    50    
    51         /* ICW4: i8086 mode */   
     50
     51        /* ICW4: i8086 mode */
    5252        outb(PIC_PIC0PORT2, 1);
    5353
     
    5555        outb(PIC_PIC1PORT1, PIC_ICW1 | PIC_NEEDICW4);
    5656
    57         /* ICW2: IRQ 8 maps to INT (IVT_IRQBASE + 8) */   
     57        /* ICW2: IRQ 8 maps to INT (IVT_IRQBASE + 8) */
    5858        outb(PIC_PIC1PORT2, IVT_IRQBASE + 8);
    5959
     
    6161        outb(PIC_PIC1PORT2, PIC_PIC1ID);
    6262
    63         /* ICW4: i8086 mode */   
     63        /* ICW4: i8086 mode */
    6464        outb(PIC_PIC1PORT2, 1);
    6565
     
    7676        disable_irqs_function = pic_disable_irqs;
    7777        eoi_function = pic_eoi;
    78    
     78
    7979        pic_disable_irqs(0xffff);               /* disable all irq's */
    8080        pic_enable_irqs(1<<IRQ_PIC1);           /* but enable pic1 */
     
    8484{
    8585        __u8 x;
    86    
     86
    8787        if (irqmask & 0xff) {
    88                 x = inb(PIC_PIC0PORT2);
     88                x = inb(PIC_PIC0PORT2);
    8989                outb(PIC_PIC0PORT2, x & (~(irqmask & 0xff)));
    9090        }
    9191        if (irqmask >> 8) {
    92                 x = inb(PIC_PIC1PORT2);
     92                x = inb(PIC_PIC1PORT2);
    9393                outb(PIC_PIC1PORT2, x & (~(irqmask >> 8)));
    9494        }
     
    9898{
    9999        __u8 x;
    100    
     100
    101101        if (irqmask & 0xff) {
    102                 x = inb(PIC_PIC0PORT2);
     102                x = inb(PIC_PIC0PORT2);
    103103                outb(PIC_PIC0PORT2, x | (irqmask & 0xff));
    104104        }
    105105        if (irqmask >> 8) {
    106                 x = inb(PIC_PIC1PORT2);
     106                x = inb(PIC_PIC1PORT2);
    107107                outb(PIC_PIC1PORT2, x | (irqmask >> 8));
    108108        }
     
    112112{
    113113        outb(0x20,0x20);
    114         outb(0xa0,0x20);
     114        outb(0xa0,0x20);
    115115}
    116116
  • arch/ia32/src/fpu_context.c

    re41c47e r76cec1e  
    7979{
    8080        asm(
    81                 "fninit;"
     81                "fninit;"
    8282        );
    8383}
  • arch/ia32/src/ia32.c

    re41c47e r76cec1e  
    5656                bios_init();
    5757                i8042_init();   /* a20 bit */
    58                 i8259_init();   /* PIC */
     58                i8259_init();   /* PIC */
    5959                i8254_init();   /* hard clock */
    6060
  • arch/ia32/src/interrupt.c

    re41c47e r76cec1e  
    9898{
    9999        reset_TS_flag();
    100         if ((CPU->fpu_owner)!=NULL)
    101         { 
    102                 fpu_lazy_context_save(&((CPU->fpu_owner)->saved_fpu_context));
     100        if ((CPU->fpu_owner)!=NULL) { 
     101                fpu_lazy_context_save(&((CPU->fpu_owner)->saved_fpu_context));
    103102                (CPU->fpu_owner)->fpu_context_engaged=0; /* don't prevent migration */
    104103        }
    105104        if(THREAD->fpu_context_exists) fpu_lazy_context_restore(&(THREAD->saved_fpu_context));
    106         else {fpu_init();THREAD->fpu_context_exists=1;}
     105        else {fpu_init();THREAD->fpu_context_exists=1;}
    107106        CPU->fpu_owner=THREAD;
    108107}
  • arch/ia32/src/mm/frame.c

    re41c47e r76cec1e  
    4040                frame_not_free(0x0);
    4141
    42                 frame_region_not_free(0xa0000,0xff000);
    43                 frame_region_not_free(0xfec00000,0xffffffff);
     42                frame_region_not_free(0xa0000,0xff000);
     43                frame_region_not_free(0xfec00000,0xffffffff);
    4444        }
    4545}
  • arch/ia32/src/mm/page.c

    re41c47e r76cec1e  
    5757                dba = frame_alloc(FRAME_KA | FRAME_PANIC);
    5858                memsetb(dba, PAGE_SIZE, 0);
    59            
     59
    6060                bootstrap_dba = dba;
    6161
  • arch/ia32/src/pm.c

    re41c47e r76cec1e  
    4646 */
    4747struct descriptor gdt[GDT_ITEMS] = {
    48     /* NULL descriptor */
    49     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    50     /* KTEXT descriptor */
    51     { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
    52     /* KDATA descriptor */
    53     { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
    54     /* UTEXT descriptor */
    55     { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
    56     /* UDATA descriptor */
    57     { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
    58     /* TSS descriptor - set up will be completed later */
    59     { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
     48        /* NULL descriptor */
     49        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
     50        /* KTEXT descriptor */
     51        { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
     52        /* KDATA descriptor */
     53        { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
     54        /* UTEXT descriptor */
     55        { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
     56        /* UDATA descriptor */
     57        { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
     58        /* TSS descriptor - set up will be completed later */
     59        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
    6060};
    6161
     
    7272void gdt_setbase(struct descriptor *d, __address base)
    7373{
    74         d->base_0_15 = base & 0xffff;
    75         d->base_16_23 = ((base) >> 16) & 0xff;
    76         d->base_24_31 = ((base) >> 24) & 0xff;
    77 
     74        d->base_0_15 = base & 0xffff;
     75        d->base_16_23 = ((base) >> 16) & 0xff;
     76        d->base_24_31 = ((base) >> 24) & 0xff;
    7877}
    7978
    8079void gdt_setlimit(struct descriptor *d, __u32 limit)
    8180{
    82         d->limit_0_15 = limit & 0xffff;
    83         d->limit_16_19 = (limit >> 16) & 0xf;
     81        d->limit_0_15 = limit & 0xffff;
     82        d->limit_16_19 = (limit >> 16) & 0xf;
    8483}
    8584
     
    105104        struct idescriptor *d;
    106105        int i;
    107    
     106
    108107        for (i = 0; i < IDT_ITEMS; i++) {
    109108                d = &idt[i];
  • arch/ia32/src/proc/scheduler.c

    re41c47e r76cec1e  
    3535{
    3636        CPU->arch.tss->esp0 = (__address) &THREAD->kstack[THREAD_STACK_SIZE-8];
    37         CPU->arch.tss->ss0 = selector(KDATA_DES);       
     37        CPU->arch.tss->ss0 = selector(KDATA_DES);       
    3838}
  • arch/ia32/src/smp/apic.c

    re41c47e r76cec1e  
    8585       
    8686                if ((pin = mps_irq_to_pin(i)) != -1)
    87                         io_apic_change_ioredtbl(pin,0xf,IVT_IRQBASE+i,LOPRI);
     87                io_apic_change_ioredtbl(pin,0xf,IVT_IRQBASE+i,LOPRI);
    8888        }
    8989       
     
    137137        if ((esr>>7) & 1)
    138138                printf("Illegal Register Address\n");
    139    
     139
    140140        return !esr;
    141141}
  • arch/ia32/src/smp/mps.c

    re41c47e r76cec1e  
    244244                                l_intr_entry_cnt++;
    245245                                ct_l_intr_entry((struct __l_intr_entry *) cur);
    246                                 cur += 8;
     246                                cur += 8;
    247247                                break;
    248            
     248
    249249                        default:
    250250                                /*
  • arch/ia32/src/userspace.c

    re41c47e r76cec1e  
    4747
    4848        __asm__ volatile (""
    49             "pushl %0\n"
    50             "pushl %1\n"
    51             "pushl %2\n"
    52             "pushl %3\n"
    53             "pushl %4\n"
    54             "iret"
    55             : : "i" (selector(UDATA_DES) | PL_USER), "i" (USTACK_ADDRESS+(THREAD_STACK_SIZE-1)), "r" (pri), "i" (selector(UTEXT_DES) | PL_USER), "i" (UTEXT_ADDRESS));
     49                "pushl %0\n"
     50                "pushl %1\n"
     51                "pushl %2\n"
     52                "pushl %3\n"
     53                "pushl %4\n"
     54                "iret"
     55                : : "i" (selector(UDATA_DES) | PL_USER), "i" (USTACK_ADDRESS+(THREAD_STACK_SIZE-1)), "r" (pri), "i" (selector(UTEXT_DES) | PL_USER), "i" (UTEXT_ADDRESS));
    5656       
    5757        /* Unreachable */
  • arch/ia64/_link.ld

    re41c47e r76cec1e  
    8989        _hardcoded_kdata_size = kdata_end - kdata_start;
    9090        _hardcoded_load_address = 0x0000000000001000;
    91    
     91
    9292}
  • arch/ia64/boot/_link.ld

    re41c47e r76cec1e  
    33
    44SECTIONS {
    5     .image 0x0000000000000000: AT (0x0000000000000000) {
    6             *(.text .stub .text.* .gnu.linkonce.t.*)
    7             *(.interp)
    8             *(.hash)
    9             *(.dynsym)
    10             *(.dynstr)
    11             *(.rel.init)
    12             *(.rela.init)
    13             *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
    14             *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
    15             *(.rel.fini)
    16             *(.rela.fini)
    17             *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
    18             *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
    19             *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
    20             *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
    21             *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
    22             *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
    23             *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
    24             *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
    25             *(.rel.got)
    26             *(.rela.got)
    27             *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
    28             *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
    29             *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
    30             *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
    31             *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
    32             *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
    33             *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
    34             *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
    35             *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
    36             *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
    37             *(.rel.plt)
    38             *(.rela.plt)
    39             *(.rela.IA_64.pltoff)
    40             *(.init)
    41             *(.plt)
    42             *(.fini)
    43             *(.rodata .rodata.* .gnu.linkonce.r.*)
    44             *(.rodata1)
    45             *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
    46             *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
    47             *(.opd)
    48             *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
    49             *(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
    50             *(.eh_frame_hdr)
    51             *(.preinit_array)
    52             *(.init_array)
    53             *(.fini_array)
    54             *(.data .data.* .gnu.linkonce.d.*)
    55             *(.data1)
    56             *(.tdata .tdata.* .gnu.linkonce.td.*)
    57             *(.tcommon)
    58             *(.eh_frame)
    59             *(.gcc_except_table)
    60             *(.dynamic)
    61             *(.jcr)
    62             *(.got)
    63             *(.IA_64.pltoff)
    64             *(.sdata .sdata.* .gnu.linkonce.s.*)
    65             *(.dynsbss)
    66             *(.sbss .sbss.* .gnu.linkonce.sb.*)
    67             *(.scommon)
    68             *(.dynbss)
    69             *(.bss .bss.* .gnu.linkonce.b.*)
    70             *(COMMON)
    71     }
     5        .image 0x0000000000000000: AT (0x0000000000000000) {
     6                *(.text .stub .text.* .gnu.linkonce.t.*)
     7                *(.interp)
     8                *(.hash)
     9                *(.dynsym)
     10                *(.dynstr)
     11                *(.rel.init)
     12                *(.rela.init)
     13                *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
     14                *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
     15                *(.rel.fini)
     16                *(.rela.fini)
     17                *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
     18                *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
     19                *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
     20                *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
     21                *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
     22                *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
     23                *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
     24                *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
     25                *(.rel.got)
     26                *(.rela.got)
     27                *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
     28                *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
     29                *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
     30                *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
     31                *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
     32                *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
     33                *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
     34                *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
     35                *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
     36                *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
     37                *(.rel.plt)
     38                *(.rela.plt)
     39                *(.rela.IA_64.pltoff)
     40                *(.init)
     41                *(.plt)
     42                *(.fini)
     43                *(.rodata .rodata.* .gnu.linkonce.r.*)
     44                *(.rodata1)
     45                *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
     46                *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
     47                *(.opd)
     48                *(.IA_64.unwind_info* .gnu.linkonce.ia64unwi.*)
     49                *(.IA_64.unwind* .gnu.linkonce.ia64unw.*)
     50                *(.eh_frame_hdr)
     51                *(.preinit_array)
     52                *(.init_array)
     53                *(.fini_array)
     54                *(.data .data.* .gnu.linkonce.d.*)
     55                *(.data1)
     56                *(.tdata .tdata.* .gnu.linkonce.td.*)
     57                *(.tcommon)
     58                *(.eh_frame)
     59                *(.gcc_except_table)
     60                *(.dynamic)
     61                *(.jcr)
     62                *(.got)
     63                *(.IA_64.pltoff)
     64                *(.sdata .sdata.* .gnu.linkonce.s.*)
     65                *(.dynsbss)
     66                *(.sbss .sbss.* .gnu.linkonce.sb.*)
     67                *(.scommon)
     68                *(.dynbss)
     69                *(.bss .bss.* .gnu.linkonce.b.*)
     70                *(COMMON)
     71        }
    7272}
  • arch/ia64/include/mm/page.h

    re41c47e r76cec1e  
    4949#define PTL3_INDEX_ARCH(vaddr)  0
    5050
    51 #define GET_PTL0_ADDRESS_ARCH()                 ((pte_t *) 0)
    52 #define GET_PTL1_ADDRESS_ARCH(ptl0, i)          ((pte_t *) 0)
    53 #define GET_PTL2_ADDRESS_ARCH(ptl1, i)          ((pte_t *) 0)
    54 #define GET_PTL3_ADDRESS_ARCH(ptl2, i)          ((pte_t *) 0)
    55 #define GET_FRAME_ADDRESS_ARCH(ptl3, i)         ((pte_t *) 0)
     51#define GET_PTL0_ADDRESS_ARCH()                 ((pte_t *) 0)
     52#define GET_PTL1_ADDRESS_ARCH(ptl0, i)          ((pte_t *) 0)
     53#define GET_PTL2_ADDRESS_ARCH(ptl1, i)          ((pte_t *) 0)
     54#define GET_PTL3_ADDRESS_ARCH(ptl2, i)          ((pte_t *) 0)
     55#define GET_FRAME_ADDRESS_ARCH(ptl3, i)         ((pte_t *) 0)
    5656
    5757#define SET_PTL0_ADDRESS_ARCH(ptl0)
     
    6161#define SET_FRAME_ADDRESS_ARCH(ptl3, i, a)
    6262
    63 #define GET_PTL1_FLAGS_ARCH(ptl0, i)            0
    64 #define GET_PTL2_FLAGS_ARCH(ptl1, i)            0
    65 #define GET_PTL3_FLAGS_ARCH(ptl2, i)            0
    66 #define GET_FRAME_FLAGS_ARCH(ptl3, i)           0
     63#define GET_PTL1_FLAGS_ARCH(ptl0, i)            0
     64#define GET_PTL2_FLAGS_ARCH(ptl1, i)            0
     65#define GET_PTL3_FLAGS_ARCH(ptl2, i)            0
     66#define GET_FRAME_FLAGS_ARCH(ptl3, i)           0
    6767
    6868#define SET_PTL1_FLAGS_ARCH(ptl0, i, x)
  • arch/mips/_link.ld

    re41c47e r76cec1e  
    3232        . = ABSOLUTE(hardcoded_ktext_size);
    3333        .patch_1 : {
    34                 LONG(ktext_end - ktext_start);
     34                LONG(ktext_end - ktext_start);
    3535        }
    3636
    3737        . = ABSOLUTE(hardcoded_kdata_size);
    3838        .patch_2 : {
    39                 LONG(kdata_end - kdata_start);
     39                LONG(kdata_end - kdata_start);
    4040        }
    4141
    4242        . = ABSOLUTE(hardcoded_load_address);
    4343        .patch_3 : {
    44                 LONG(0x80000000);
     44                LONG(0x80000000);
    4545        }
    4646
  • arch/mips/boot/boot.s

    re41c47e r76cec1e  
    3636        # move 0x80000000 to reg $8
    3737        lui $8, 0x8000
    38    
     38
    3939        # prepare stack
    4040        lui $29, 0x8100
    41    
     41
    4242        j $8
    4343        nop
  • arch/mips/include/context.h

    re41c47e r76cec1e  
    3636
    3737struct context {
    38     __u32 r0;
    39     __u32 r1;
    40     __u32 r2;
    41     __u32 r3;   
    42     __u32 r4;
    43     __u32 r5;
    44     __u32 r6;
    45     __u32 r7;   
    46     __u32 r8;
    47     __u32 r9;
    48     __u32 r10;
    49     __u32 r11;   
    50     __u32 r12;
    51     __u32 r13;
    52     __u32 r14;
    53     __u32 r15;   
    54     __u32 r16;
    55     __u32 r17;
    56     __u32 r18;
    57     __u32 r19;   
    58     __u32 r20;
    59     __u32 r21;
    60     __u32 r22;
    61     __u32 r23;   
    62     __u32 r24;
    63     __u32 r25;
    64     __u32 r26;
    65     __u32 r27;   
    66     __u32 r28;
    67     __u32 sp;
    68     __u32 r30;
    69     __u32 pc;
    70     __u32 pri;
     38        __u32 r0;
     39        __u32 r1;
     40        __u32 r2;
     41        __u32 r3;
     42        __u32 r4;
     43        __u32 r5;
     44        __u32 r6;
     45        __u32 r7;
     46        __u32 r8;
     47        __u32 r9;
     48        __u32 r10;
     49        __u32 r11;
     50        __u32 r12;
     51        __u32 r13;
     52        __u32 r14;
     53        __u32 r15;
     54        __u32 r16;
     55        __u32 r17;
     56        __u32 r18;
     57        __u32 r19;
     58        __u32 r20;
     59        __u32 r21;
     60        __u32 r22;
     61        __u32 r23;
     62        __u32 r24;
     63        __u32 r25;
     64        __u32 r26;
     65        __u32 r27;
     66        __u32 r28;
     67        __u32 sp;
     68        __u32 r30;
     69        __u32 pc;
     70        __u32 pri;
    7171};
    7272
  • arch/mips/include/cpu.h

    re41c47e r76cec1e  
    3535
    3636struct cpu_arch {
    37         int imp_num;
    38         int rev_num;
     37        int imp_num;
     38        int rev_num;
    3939};
    4040       
  • arch/mips/include/mm/page.h

    re41c47e r76cec1e  
    6060#define PTL3_INDEX_ARCH(vaddr)  (((vaddr)>>14)&0xfff)
    6161
    62 #define GET_PTL0_ADDRESS_ARCH()                 (PTL0)
     62#define GET_PTL0_ADDRESS_ARCH()                 (PTL0)
    6363#define SET_PTL0_ADDRESS_ARCH(ptl0)             (PTL0 = (pte_t *)(ptl0))
    6464
    65 #define GET_PTL1_ADDRESS_ARCH(ptl0, i)          (((pte_t *)(ptl0))[(i)].pfn<<14)
    66 #define GET_PTL2_ADDRESS_ARCH(ptl1, i)          (ptl1)
    67 #define GET_PTL3_ADDRESS_ARCH(ptl2, i)          (ptl2)
    68 #define GET_FRAME_ADDRESS_ARCH(ptl3, i)         (((pte_t *)(ptl3))[(i)].pfn<<14)
     65#define GET_PTL1_ADDRESS_ARCH(ptl0, i)          (((pte_t *)(ptl0))[(i)].pfn<<14)
     66#define GET_PTL2_ADDRESS_ARCH(ptl1, i)          (ptl1)
     67#define GET_PTL3_ADDRESS_ARCH(ptl2, i)          (ptl2)
     68#define GET_FRAME_ADDRESS_ARCH(ptl3, i)         (((pte_t *)(ptl3))[(i)].pfn<<14)
    6969
    7070#define SET_PTL1_ADDRESS_ARCH(ptl0, i, a)       (((pte_t *)(ptl0))[(i)].pfn = (a)>>14)
     
    7373#define SET_FRAME_ADDRESS_ARCH(ptl3, i, a)      (((pte_t *)(ptl3))[(i)].pfn = (a)>>14)
    7474
    75 #define GET_PTL1_FLAGS_ARCH(ptl0, i)            get_pt_flags((pte_t *)(ptl0), (index_t)(i))
    76 #define GET_PTL2_FLAGS_ARCH(ptl1, i)            PAGE_PRESENT
    77 #define GET_PTL3_FLAGS_ARCH(ptl2, i)            PAGE_PRESENT
    78 #define GET_FRAME_FLAGS_ARCH(ptl3, i)           get_pt_flags((pte_t *)(ptl3), (index_t)(i))
     75#define GET_PTL1_FLAGS_ARCH(ptl0, i)            get_pt_flags((pte_t *)(ptl0), (index_t)(i))
     76#define GET_PTL2_FLAGS_ARCH(ptl1, i)            PAGE_PRESENT
     77#define GET_PTL3_FLAGS_ARCH(ptl2, i)            PAGE_PRESENT
     78#define GET_FRAME_FLAGS_ARCH(ptl3, i)           get_pt_flags((pte_t *)(ptl3), (index_t)(i))
    7979
    8080#define SET_PTL1_FLAGS_ARCH(ptl0, i, x)         set_pt_flags((pte_t *)(ptl0), (index_t)(i), (x))
  • arch/mips/src/cpu/cpu.c

    re41c47e r76cec1e  
    4040        char *model;
    4141} imp_data[] = {
    42     { "Invalid", "Invalid" },   /* 0x00 */
    43     { "MIPS", "R2000" },        /* 0x01 */
    44     { "MIPS", "R3000" },        /* 0x02 */
    45     { "MIPS", "R6000" },        /* 0x03 */
    46     { "MIPS", " R4000/R4400" }, /* 0x04 */
    47     { "LSI Logic", "R3000" },   /* 0x05 */
    48     { "MIPS", "R6000A" },       /* 0x06 */
    49     { "IDT", "3051/3052" },     /* 0x07 */
    50     { "Invalid", "Invalid" },   /* 0x08 */
    51     { "MIPS", "R10000/T5" },    /* 0x09 */
    52     { "MIPS", "R4200" },        /* 0x0a */
    53     { "Unknown", "Unknown" },   /* 0x0b */
    54     { "Unknown", "Unknown" },   /* 0x0c */
    55     { "Invalid", "Invalid" },   /* 0x0d */
    56     { "Invalid", "Invalid" },   /* 0x0e */
    57     { "Invalid", "Invalid" },   /* 0x0f */
    58     { "MIPS", "R8000" },        /* 0x10 */
    59     { "Invalid", "Invalid" },   /* 0x11 */
    60     { "Invalid", "Invalid" },   /* 0x12 */
    61     { "Invalid", "Invalid" },   /* 0x13 */
    62     { "Invalid", "Invalid" },   /* 0x14 */
    63     { "Invalid", "Invalid" },   /* 0x15 */
    64     { "Invalid", "Invalid" },   /* 0x16 */
    65     { "Invalid", "Invalid" },   /* 0x17 */
    66     { "Invalid", "Invalid" },   /* 0x18 */
    67     { "Invalid", "Invalid" },   /* 0x19 */
    68     { "Invalid", "Invalid" },   /* 0x1a */
    69     { "Invalid", "Invalid" },   /* 0x1b */
    70     { "Invalid", "Invalid" },   /* 0x1c */
    71     { "Invalid", "Invalid" },   /* 0x1d */
    72     { "Invalid", "Invalid" },   /* 0x1e */
    73     { "Invalid", "Invalid" },   /* 0x1f */
    74     { "QED", "R4600" },         /* 0x20 */
    75     { "Sony", "R3000" },        /* 0x21 */
    76     { "Toshiba", "R3000" },     /* 0x22 */
    77     { "NKK", "R3000" }          /* 0x23 */
     42        { "Invalid", "Invalid" },       /* 0x00 */
     43        { "MIPS", "R2000" },            /* 0x01 */
     44        { "MIPS", "R3000" },            /* 0x02 */
     45        { "MIPS", "R6000" },            /* 0x03 */
     46        { "MIPS", " R4000/R4400" },     /* 0x04 */
     47        { "LSI Logic", "R3000" },       /* 0x05 */
     48        { "MIPS", "R6000A" },           /* 0x06 */
     49        { "IDT", "3051/3052" },         /* 0x07 */
     50        { "Invalid", "Invalid" },       /* 0x08 */
     51        { "MIPS", "R10000/T5" },        /* 0x09 */
     52        { "MIPS", "R4200" },            /* 0x0a */
     53        { "Unknown", "Unknown" },       /* 0x0b */
     54        { "Unknown", "Unknown" },       /* 0x0c */
     55        { "Invalid", "Invalid" },       /* 0x0d */
     56        { "Invalid", "Invalid" },       /* 0x0e */
     57        { "Invalid", "Invalid" },       /* 0x0f */
     58        { "MIPS", "R8000" },            /* 0x10 */
     59        { "Invalid", "Invalid" },       /* 0x11 */
     60        { "Invalid", "Invalid" },       /* 0x12 */
     61        { "Invalid", "Invalid" },       /* 0x13 */
     62        { "Invalid", "Invalid" },       /* 0x14 */
     63        { "Invalid", "Invalid" },       /* 0x15 */
     64        { "Invalid", "Invalid" },       /* 0x16 */
     65        { "Invalid", "Invalid" },       /* 0x17 */
     66        { "Invalid", "Invalid" },       /* 0x18 */
     67        { "Invalid", "Invalid" },       /* 0x19 */
     68        { "Invalid", "Invalid" },       /* 0x1a */
     69        { "Invalid", "Invalid" },       /* 0x1b */
     70        { "Invalid", "Invalid" },       /* 0x1c */
     71        { "Invalid", "Invalid" },       /* 0x1d */
     72        { "Invalid", "Invalid" },       /* 0x1e */
     73        { "Invalid", "Invalid" },       /* 0x1f */
     74        { "QED", "R4600" },             /* 0x20 */
     75        { "Sony", "R3000" },            /* 0x21 */
     76        { "Toshiba", "R3000" },         /* 0x22 */
     77        { "NKK", "R3000" }              /* 0x23 */
    7878};
    7979
  • arch/mips/src/interrupt.c

    re41c47e r76cec1e  
    3636pri_t cpu_priority_high(void)
    3737{
    38     pri_t pri = (pri_t) cp0_status_read();
    39     cp0_status_write(pri & ~cp0_status_ie_enabled_bit);
    40     return pri;
     38        pri_t pri = (pri_t) cp0_status_read();
     39        cp0_status_write(pri & ~cp0_status_ie_enabled_bit);
     40        return pri;
    4141}
    4242
    4343pri_t cpu_priority_low(void)
    4444{
    45     pri_t pri = (pri_t) cp0_status_read();
    46     cp0_status_write(pri | cp0_status_ie_enabled_bit);
    47     return pri;
     45        pri_t pri = (pri_t) cp0_status_read();
     46        cp0_status_write(pri | cp0_status_ie_enabled_bit);
     47        return pri;
    4848}
    4949
    5050void cpu_priority_restore(pri_t pri)
    5151{
    52     cp0_status_write(cp0_status_read() | (pri & cp0_status_ie_enabled_bit));
     52        cp0_status_write(cp0_status_read() | (pri & cp0_status_ie_enabled_bit));
    5353}
    5454
    5555pri_t cpu_priority_read(void)
    5656{
    57     return cp0_status_read();
     57        return cp0_status_read();
    5858}
    5959
     
    8585                                case 7: /* Timer Interrupt */
    8686                                        cp0_compare_write(cp0_compare_value); /* clear timer interrupt */
    87                                     /* start counting over again */
    88                                         cp0_count_write(0);                                 
     87                                        /* start counting over again */
     88                                        cp0_count_write(0);
    8989                                        clock();
    9090                                        break;
  • arch/mips/src/mips.c

    re41c47e r76cec1e  
    3838         */
    3939        cp0_status_write(cp0_status_read() & ~(cp0_status_bev_bootstrap_bit|cp0_status_erl_error_bit));
    40    
     40
    4141        /*
    4242         * Unmask hardware clock interrupt.
    4343         */
    4444        cp0_status_write(cp0_status_read() | (1<<cp0_status_im7_shift));
    45    
     45
    4646        /*
    4747         * Start hardware clock.
  • arch/mips/src/start.S

    re41c47e r76cec1e  
    5252        j cache_error_handler
    5353        nop
    54    
     54
    5555.org 0x180
    5656exception_entry:
     
    5858        sub $29, STACK_SPACE
    5959        REGISTERS_STORE $29
    60    
     60
    6161        jal exception
    6262        nop
    63    
     63
    6464        REGISTERS_LOAD $29
    6565        add $29, STACK_SPACE
     
    7070        sub $29, STACK_SPACE
    7171        REGISTERS_STORE $29
    72    
     72
    7373        jal tlb_refill
    7474        nop
    75    
     75
    7676        REGISTERS_LOAD $29
    7777        add $29, STACK_SPACE
    78    
     78
    7979        eret
    8080
     
    8585        jal cache_error
    8686        nop
    87    
     87
    8888        REGISTERS_LOAD $29
    8989        add $29, STACK_SPACE
  • arch/powerpc/_link.ld

    re41c47e r76cec1e  
    1111
    1212SECTIONS {
    13     .image 0x80000000: AT (0x80000000) {
    14         ktext_start = .;
    15         *(.text);
    16         ktext_end = .;
     13        .image 0x80000000: AT (0x80000000) {
     14                ktext_start = .;
     15                *(.text);
     16                ktext_end = .;
    1717
    18         kdata_start = .;
    19         kdata_end = .;
     18                kdata_start = .;
     19                kdata_end = .;
     20        } = 0x00000000
    2021
    21     } = 0x00000000
     22        . = ABSOLUTE(hardcoded_ktext_size);
     23        .patch_1 : {
     24                LONG(ktext_end - ktext_start);
     25        }
    2226
    23     . = ABSOLUTE(hardcoded_ktext_size);
    24     .patch_1 : {
    25         LONG(ktext_end - ktext_start);
    26     }
     27        . = ABSOLUTE(hardcoded_kdata_size);
     28        .patch_2 : {
     29                LONG(kdata_end - kdata_start);
     30        }
    2731
    28     . = ABSOLUTE(hardcoded_kdata_size);
    29     .patch_2 : {
    30         LONG(kdata_end - kdata_start);
    31     }
    32 
    33     . = ABSOLUTE(hardcoded_load_address);
    34     .patch_3 : {
    35         LONG(0x80000000);
    36     }
     32        . = ABSOLUTE(hardcoded_load_address);
     33        .patch_3 : {
     34                LONG(0x80000000);
     35        }
    3736
    3837}
  • include/mm/page.h

    re41c47e r76cec1e  
    4343#define PAGE_EXEC_SHIFT                 5
    4444
    45 #define PAGE_NOT_CACHEABLE      (0<<PAGE_CACHEABLE_SHIFT)
    46 #define PAGE_CACHEABLE          (1<<PAGE_CACHEABLE_SHIFT)
     45#define PAGE_NOT_CACHEABLE      (0<<PAGE_CACHEABLE_SHIFT)
     46#define PAGE_CACHEABLE          (1<<PAGE_CACHEABLE_SHIFT)
    4747
    48 #define PAGE_PRESENT            (0<<PAGE_PRESENT_SHIFT)
    49 #define PAGE_NOT_PRESENT        (1<<PAGE_PRESENT_SHIFT)
     48#define PAGE_PRESENT            (0<<PAGE_PRESENT_SHIFT)
     49#define PAGE_NOT_PRESENT        (1<<PAGE_PRESENT_SHIFT)
    5050
    51 #define PAGE_USER               (1<<PAGE_USER_SHIFT)
    52 #define PAGE_KERNEL             (0<<PAGE_USER_SHIFT)
     51#define PAGE_USER               (1<<PAGE_USER_SHIFT)
     52#define PAGE_KERNEL             (0<<PAGE_USER_SHIFT)
    5353
    5454#define PAGE_READ               (1<<PAGE_READ_SHIFT)
  • include/proc/thread.h

    re41c47e r76cec1e  
    7474        context_t saved_context;
    7575        context_t sleep_timeout_context;
    76         fpu_context_t saved_fpu_context;                       
    77         int fpu_context_exists;               
    78         int fpu_context_engaged;               /* Defined only if thread doesn't run. It means that fpu context is in CPU
    79                                                 that last time executes this thread. This disables migration */         
    80        
    81        
     76        fpu_context_t saved_fpu_context;
     77        int fpu_context_exists;
     78
     79        /*
     80         * Defined only if thread doesn't run.
     81         * It means that fpu context is in CPU that last time executes this thread.
     82         * This disables migration
     83         */
     84        int fpu_context_engaged;
     85
    8286        waitq_t *sleep_queue;
    8387        timeout_t sleep_timeout;
  • include/stackarg.h

    re41c47e r76cec1e  
    5151
    5252#define va_end(ap)
    53    
     53
    5454
    5555#endif
  • include/synch/semaphore.h

    re41c47e r76cec1e  
    3737struct semaphore
    3838{
    39     waitq_t wq;
     39        waitq_t wq;
    4040};
    4141
  • include/synch/waitq.h

    re41c47e r76cec1e  
    4040
    4141struct waitq {
    42     spinlock_t lock;
    43     int missed_wakeups;
    44     link_t head;
     42        spinlock_t lock;
     43        int missed_wakeups;
     44        link_t head;
    4545};
    4646
  • include/time/timeout.h

    re41c47e r76cec1e  
    3535#include <list.h>
    3636
    37 #define us2ticks(us)    ((__u64)(((__u32) (us)/(1000000/HZ))))
     37#define us2ticks(us)    ((__u64)(((__u32) (us)/(1000000/HZ))))
    3838
    3939typedef void (* timeout_handler)(void *arg);
  • src/cpu/cpu.c

    re41c47e r76cec1e  
    6767                memsetb((__address) cpu_private_data, sizeof(cpu_private_data_t) * config.cpu_count, 0);
    6868                memsetb((__address) cpus, sizeof(cpu_t) * config.cpu_count, 0);
    69    
     69
    7070                for (i=0; i < config.cpu_count; i++) {
    7171                        cpus[i].stack = (__u8 *) malloc(CPU_STACK_SIZE);
  • src/main/kinit.c

    re41c47e r76cec1e  
    9595#ifdef __SMP__
    9696        if (config.cpu_count > 1) {
    97                 /*
     97                /*
    9898                 * For each CPU, create its load balancing thread.
    9999                 */
  • src/mm/frame.c

    re41c47e r76cec1e  
    5555void frame_init(void)
    5656{
    57         if (config.cpu_active == 1) {
     57        if (config.cpu_active == 1) {
    5858
    59                 /*
    60                 * The bootstrap processor will allocate all necessary memory for frame allocation.
    61                 */
     59                /*
     60                * The bootstrap processor will allocate all necessary memory for frame allocation.
     61                */
    6262
    63                 frames = config.memory_size / FRAME_SIZE;
    64                 frame_bitmap_octets = frames / 8 + (frames % 8 > 0);
    65                 frame_bitmap = (__u8 *) malloc(frame_bitmap_octets);
    66                 if (!frame_bitmap)
    67                         panic("malloc/frame_bitmap\n");
     63                frames = config.memory_size / FRAME_SIZE;
     64                frame_bitmap_octets = frames / 8 + (frames % 8 > 0);
     65                frame_bitmap = (__u8 *) malloc(frame_bitmap_octets);
     66                if (!frame_bitmap)
     67                        panic("malloc/frame_bitmap\n");
    6868
    69                 /*
    70                 * Mark all frames free.
    71                 */
    72                 memsetb((__address) frame_bitmap, frame_bitmap_octets, 0);
    73                 frames_free = frames;
     69                /*
     70                * Mark all frames free.
     71                */
     72                memsetb((__address) frame_bitmap, frame_bitmap_octets, 0);
     73                frames_free = frames;
    7474        }
    7575
     
    8181
    8282        if (config.cpu_active == 1) {
    83                 /*
    84                 * Create the memory address space map. Marked frames and frame
    85                 * regions cannot be used for allocation.
    86                 */
     83                /*
     84                * Create the memory address space map. Marked frames and frame
     85                * regions cannot be used for allocation.
     86                */
    8787                frame_region_not_free(config.base, config.base + config.kernel_size);
    8888        }
  • src/mm/page.c

    re41c47e r76cec1e  
    5454
    5555        /* TODO: implement portable way of computing page address from address */
    56         length = size + (s - (s & 0xfffff000));
    57         cnt = length/PAGE_SIZE + (length%PAGE_SIZE>0);
     56        length = size + (s - (s & 0xfffff000));
     57        cnt = length/PAGE_SIZE + (length%PAGE_SIZE>0);
    5858
    59         for (i = 0; i < cnt; i++)
    60                 map_page_to_frame(s + i*PAGE_SIZE, s + i*PAGE_SIZE, PAGE_NOT_CACHEABLE, 0);
     59        for (i = 0; i < cnt; i++)
     60                map_page_to_frame(s + i*PAGE_SIZE, s + i*PAGE_SIZE, PAGE_NOT_CACHEABLE, 0);
    6161
    6262}
     
    7474void map_page_to_frame(__address page, __address frame, int flags, __address root)
    7575{
    76         pte_t *ptl0, *ptl1, *ptl2, *ptl3;
    77         __address newpt;
     76        pte_t *ptl0, *ptl1, *ptl2, *ptl3;
     77        __address newpt;
    7878
    79         ptl0 = (pte_t *) PA2KA(root ? root : (__address) GET_PTL0_ADDRESS());
     79        ptl0 = (pte_t *) PA2KA(root ? root : (__address) GET_PTL0_ADDRESS());
    8080
    81         if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) {
    82                 newpt = frame_alloc(FRAME_KA);
    83                 memsetb(newpt, PAGE_SIZE, 0);
    84                 SET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page), KA2PA(newpt));
    85                 SET_PTL1_FLAGS(ptl0, PTL0_INDEX(page), PAGE_PRESENT | PAGE_USER);
    86         }
     81        if (GET_PTL1_FLAGS(ptl0, PTL0_INDEX(page)) & PAGE_NOT_PRESENT) {
     82                newpt = frame_alloc(FRAME_KA);
     83                memsetb(newpt, PAGE_SIZE, 0);
     84                SET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page), KA2PA(newpt));
     85                SET_PTL1_FLAGS(ptl0, PTL0_INDEX(page), PAGE_PRESENT | PAGE_USER);
     86        }
    8787
    88         ptl1 = (pte_t *) PA2KA(GET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page)));
     88        ptl1 = (pte_t *) PA2KA(GET_PTL1_ADDRESS(ptl0, PTL0_INDEX(page)));
    8989
    90         if (GET_PTL2_FLAGS(ptl1, PTL1_INDEX(page)) & PAGE_NOT_PRESENT) {
    91                 newpt = frame_alloc(FRAME_KA);
    92                 memsetb(newpt, PAGE_SIZE, 0);
    93                 SET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page), KA2PA(newpt));
    94                 SET_PTL2_FLAGS(ptl1, PTL1_INDEX(page), PAGE_PRESENT | PAGE_USER);
    95         }
     90        if (GET_PTL2_FLAGS(ptl1, PTL1_INDEX(page)) & PAGE_NOT_PRESENT) {
     91                newpt = frame_alloc(FRAME_KA);
     92                memsetb(newpt, PAGE_SIZE, 0);
     93                SET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page), KA2PA(newpt));
     94                SET_PTL2_FLAGS(ptl1, PTL1_INDEX(page), PAGE_PRESENT | PAGE_USER);
     95        }
    9696
    97         ptl2 = (pte_t *) PA2KA(GET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page)));
     97        ptl2 = (pte_t *) PA2KA(GET_PTL2_ADDRESS(ptl1, PTL1_INDEX(page)));
    9898
    99         if (GET_PTL3_FLAGS(ptl2, PTL2_INDEX(page)) & PAGE_NOT_PRESENT) {
    100                 newpt = frame_alloc(FRAME_KA);
    101                 memsetb(newpt, PAGE_SIZE, 0);
    102                 SET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page), KA2PA(newpt));
    103                 SET_PTL3_FLAGS(ptl2, PTL2_INDEX(page), PAGE_PRESENT | PAGE_USER);
    104         }
     99        if (GET_PTL3_FLAGS(ptl2, PTL2_INDEX(page)) & PAGE_NOT_PRESENT) {
     100                newpt = frame_alloc(FRAME_KA);
     101                memsetb(newpt, PAGE_SIZE, 0);
     102                SET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page), KA2PA(newpt));
     103                SET_PTL3_FLAGS(ptl2, PTL2_INDEX(page), PAGE_PRESENT | PAGE_USER);
     104        }
    105105
    106         ptl3 = (pte_t *) PA2KA(GET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page)));
     106        ptl3 = (pte_t *) PA2KA(GET_PTL3_ADDRESS(ptl2, PTL2_INDEX(page)));
    107107
    108         SET_FRAME_ADDRESS(ptl3, PTL3_INDEX(page), frame);
    109         SET_FRAME_FLAGS(ptl3, PTL3_INDEX(page), flags);
     108        SET_FRAME_ADDRESS(ptl3, PTL3_INDEX(page), frame);
     109        SET_FRAME_FLAGS(ptl3, PTL3_INDEX(page), flags);
    110110}
  • src/proc/scheduler.c

    re41c47e r76cec1e  
    103103                 */
    104104                if (test_and_set(&CPU->kcpulbstarted) == 0) {
    105                         waitq_wakeup(&CPU->kcpulb_wq, 0);
     105                        waitq_wakeup(&CPU->kcpulb_wq, 0);
    106106                        goto loop;
    107107                }
     
    239239                         */
    240240                        before_thread_runs();
    241                         spinlock_unlock(&THREAD->lock);
     241                        spinlock_unlock(&THREAD->lock);
    242242                        cpu_priority_restore(THREAD->saved_context.pri);
    243243                        return;
     
    279279                switch (THREAD->state) {
    280280                    case Running:
    281                             THREAD->state = Ready;
    282                             spinlock_unlock(&THREAD->lock);
    283                             thread_ready(THREAD);
    284                             break;
     281                        THREAD->state = Ready;
     282                        spinlock_unlock(&THREAD->lock);
     283                        thread_ready(THREAD);
     284                        break;
    285285
    286286                    case Exiting:
    287                             frame_free((__address) THREAD->kstack);
    288                             if (THREAD->ustack) {
    289                                     frame_free((__address) THREAD->ustack);
    290                             }
    291                            
    292                             /*
    293                              * Detach from the containing task.
    294                              */
    295                             spinlock_lock(&TASK->lock);
    296                             list_remove(&THREAD->th_link);
    297                             spinlock_unlock(&TASK->lock);
    298 
    299                             spinlock_unlock(&THREAD->lock);
    300                            
    301                             spinlock_lock(&threads_lock);
    302                             list_remove(&THREAD->threads_link);
    303                             spinlock_unlock(&threads_lock);
    304 
    305                             spinlock_lock(&CPU->lock);
    306                             if(CPU->fpu_owner==THREAD) CPU->fpu_owner=NULL;
    307                             spinlock_unlock(&CPU->lock);
    308 
    309                            
    310                             free(THREAD);
    311                            
    312                             break;
    313                            
     287                        frame_free((__address) THREAD->kstack);
     288                        if (THREAD->ustack) {
     289                                frame_free((__address) THREAD->ustack);
     290                        }
     291
     292                        /*
     293                         * Detach from the containing task.
     294                         */
     295                        spinlock_lock(&TASK->lock);
     296                        list_remove(&THREAD->th_link);
     297                        spinlock_unlock(&TASK->lock);
     298
     299                        spinlock_unlock(&THREAD->lock);
     300   
     301                        spinlock_lock(&threads_lock);
     302                        list_remove(&THREAD->threads_link);
     303                        spinlock_unlock(&threads_lock);
     304
     305                        spinlock_lock(&CPU->lock);
     306                        if(CPU->fpu_owner==THREAD) CPU->fpu_owner=NULL;
     307                        spinlock_unlock(&CPU->lock);
     308
     309                        free(THREAD);
     310
     311                        break;
     312   
    314313                    case Sleeping:
    315                             /*
    316                              * Prefer the thread after it's woken up.
    317                              */
    318                             THREAD->pri = -1;
    319 
    320                             /*
    321                              * We need to release wq->lock which we locked in waitq_sleep().
    322                              * Address of wq->lock is kept in THREAD->sleep_queue.
    323                              */
    324                             spinlock_unlock(&THREAD->sleep_queue->lock);
    325 
    326                             /*
    327                              * Check for possible requests for out-of-context invocation.
    328                              */
    329                             if (THREAD->call_me) {
    330                                     THREAD->call_me(THREAD->call_me_with);
    331                                     THREAD->call_me = NULL;
    332                                     THREAD->call_me_with = NULL;
    333                             }
    334 
    335                             spinlock_unlock(&THREAD->lock);
    336                            
    337                             break;
     314                        /*
     315                         * Prefer the thread after it's woken up.
     316                         */
     317                        THREAD->pri = -1;
     318
     319                        /*
     320                         * We need to release wq->lock which we locked in waitq_sleep().
     321                         * Address of wq->lock is kept in THREAD->sleep_queue.
     322                         */
     323                        spinlock_unlock(&THREAD->sleep_queue->lock);
     324
     325                        /*
     326                         * Check for possible requests for out-of-context invocation.
     327                         */
     328                        if (THREAD->call_me) {
     329                                THREAD->call_me(THREAD->call_me_with);
     330                                THREAD->call_me = NULL;
     331                                THREAD->call_me_with = NULL;
     332                        }
     333
     334                        spinlock_unlock(&THREAD->lock);
     335
     336                        break;
    338337
    339338                    default:
    340                             /*
    341                              * Entering state is unexpected.
    342                              */
    343                             panic("tid%d: unexpected state %s\n", THREAD->tid, thread_states[THREAD->state]);
    344                             break;
     339                        /*
     340                         * Entering state is unexpected.
     341                         */
     342                        panic("tid%d: unexpected state %s\n", THREAD->tid, thread_states[THREAD->state]);
     343                        break;
    345344                }
    346345                THREAD = NULL;
    347346        }
    348    
     347
    349348        THREAD = find_best_thread();
    350349       
     
    470469                                t = list_get_instance(l, thread_t, rq_link);
    471470                                /*
    472                                  * We don't want to steal CPU-wired threads neither threads already stolen.
     471                                 * We don't want to steal CPU-wired threads neither threads already stolen.
    473472                                 * The latter prevents threads from migrating between CPU's without ever being run.
    474                                  * We don't want to steal threads whose FPU context is still in CPU.
     473                                 * We don't want to steal threads whose FPU context is still in CPU.
    475474                                 */
    476475                                spinlock_lock(&t->lock);
     
    498497                                        atomic_dec(&nrdy);
    499498
    500                                         r->n--;
     499                                        r->n--;
    501500                                        list_remove(&t->rq_link);
    502501
     
    528527                                       
    529528                                /*
    530                                  * We are not satisfied yet, focus on another CPU next time.
     529                                 * We are not satisfied yet, focus on another CPU next time.
    531530                                 */
    532531                                k++;
     
    553552               
    554553        goto not_satisfied;
    555    
     554
    556555satisfied:
    557556        /*
  • src/proc/thread.c

    re41c47e r76cec1e  
    147147        }       
    148148        spinlock_unlock(&cpu->lock);
    149    
     149
    150150        cpu_priority_restore(pri);
    151151}
     
    278278void thread_sleep(__u32 sec)
    279279{
    280         thread_usleep(sec*1000000);
     280        thread_usleep(sec*1000000);
    281281}
    282282
  • src/time/clock.c

    re41c47e r76cec1e  
    9090       
    9191                spinlock_lock(&THREAD->lock);
    92                 if (!THREAD->ticks--) {
     92                if (!THREAD->ticks--) {
    9393                        spinlock_unlock(&THREAD->lock);
    9494                        scheduler();
  • src/time/timeout.c

    re41c47e r76cec1e  
    106106        spinlock_lock(&CPU->timeoutlock);
    107107        spinlock_lock(&t->lock);
    108    
     108
    109109        if (t->cpu)
    110110                panic("t->cpu != 0");
     
    115115        t->handler = f;
    116116        t->arg = arg;
    117    
     117
    118118        /*
    119119         * Insert t into the active timeouts list according to t->ticks.
  • test/fpu/fpu1/test.c

    re41c47e r76cec1e  
    7676{
    7777        int i;
    78         double lpi, pi;
    79         double n, ab, ad;
     78        double lpi, pi;
     79        double n, ab, ad;
    8080
    8181        waitq_sleep(&can_start);
     
    8686                pi = 0;
    8787
    88                 for (n=2, ab = sqrt(2); lpi != pi; n *= 2, ab = ad) {
    89                         double sc, cd;
     88                for (n=2, ab = sqrt(2); lpi != pi; n *= 2, ab = ad) {
     89                        double sc, cd;
    9090
    91                         sc = sqrt(1 - (ab*ab/4));
    92                         cd = 1 - sc;
    93                         ad = sqrt(ab*ab/4 + cd*cd);
    94                         lpi = pi;
    95                         pi = 2 * n * ad;
    96                 }
     91                        sc = sqrt(1 - (ab*ab/4));
     92                        cd = 1 - sc;
     93                        ad = sqrt(ab*ab/4 + cd*cd);
     94                        lpi = pi;
     95                        pi = 2 * n * ad;
     96                }
    9797
    9898                if((int)(100000000*pi)!=PI_10e8)
Note: See TracChangeset for help on using the changeset viewer.