Changeset b0bf501 in mainline for arch/ia32/src


Ignore:
Timestamp:
2005-06-06T20:42:06Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a7a10630
Parents:
e3f41b6
Message:

Define two placeholder functions for atomic_inc and atomic_dec on IA-64.

Add Ondrej Palkovsky to doc/AUTHORS.

Tweaks in IA-32 low level code to bring SMP back to life. (SMP still broken)

Location:
arch/ia32/src
Files:
4 edited

Legend:

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

    re3f41b6 rb0bf501  
    4848        orl $0x1,%eax
    4949        movl %eax,%cr0
    50         jmp 0f
    51 0:
     50        jmpl $8,$meeting_point
     51meeting_point:
     52.code32
     53
    5254        movw $16,%ax
    5355        movw %ax,%es
     
    5759        movw %ax,%ss
    5860        movl $0x7c00,%esp
    59         jmpl $8,$meeting_point
    60 meeting_point:
    61 .code32
    6261
    6362        lidt idtr
     
    9796        orl $(1<<31), %ebx
    9897        movl %ebx, %cr0
     98        jmp 0f
     990:
    99100        ret
    100101
  • arch/ia32/src/pm.c

    re3f41b6 rb0bf501  
    7272void gdt_setbase(struct descriptor *d, __address base)
    7373{
    74         d->base_0_15 = KA2PA(base) & 0xffff;
    75         d->base_16_23 = (KA2PA(base) >> 16) & 0xff;
    76         d->base_24_31 = (KA2PA(base) >> 24) & 0xff;
     74        d->base_0_15 = base & 0xffff;
     75        d->base_16_23 = ((base) >> 16) & 0xff;
     76        d->base_24_31 = ((base) >> 24) & 0xff;
    7777
    7878}
     
    8686void idt_setoffset(struct idescriptor *d, __address offset)
    8787{
    88         d->offset_0_15 = KA2PA(offset) & 0xffff;
    89         d->offset_16_31 = KA2PA(offset) >> 16;
     88        /*
     89         * Offset is a linear address.
     90         */
     91        d->offset_0_15 = offset & 0xffff;
     92        d->offset_16_31 = offset >> 16;
    9093}
    9194
  • arch/ia32/src/smp/ap.S

    re3f41b6 rb0bf501  
    5555        orl $1,%eax
    5656        movl %eax,%cr0
    57         jmp 0f
    58 0:
    59         ljmp $KTEXT,$jump_to_kernel
    60 
    61 # this is where the AP enters the kernel space
     57        jmpl $KTEXT,$jump_to_kernel
    6258jump_to_kernel:
    6359.code32
  • arch/ia32/src/smp/apic.c

    re3f41b6 rb0bf501  
    4444 * Advanced Programmable Interrupt Controller for MP systems.
    4545 * Tested on:
    46  *      Bochs 2.0.2 - Bochs 2.2-cvs with 2-8 CPUs
     46 *      Bochs 2.0.2 - Bochs 2.2 with 2-8 CPUs
    4747 *      ASUS P/I-P65UP5 + ASUS C-P55T2D REV. 1.41 with 2x 200Mhz Pentium CPUs
    4848 */
Note: See TracChangeset for help on using the changeset viewer.