Changeset 3156582 in mainline for arch/amd64


Ignore:
Timestamp:
2005-09-11T12:48:42Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
8e3fb24c
Parents:
8491c48
Message:

Updated symtab so that it works correctly with BE architectures.
Changed compiler for BE MIPS to be mips-sgi-irix5, because
mipsel -EB does not behave correctly.
Doc updates to amd64.
Added ARC BIOS support to MIPS architecture. Putchar works correctly,
kernel passed FPU & some rwlock tests.

Location:
arch/amd64
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/_link.ld.in

    r8491c48 r3156582  
    6363        _hardcoded_kernel_size = (ktext_end - ktext_start) + (unmapped_ktext_end - unmapped_ktext_start) + (kdata_end - kdata_start) + (unmapped_kdata_end - unmapped_kdata_start);
    6464
     65        /* Symbols that need to be accessed both from real mode & long mode */
     66        /* e820*_boot is real mode (pre-above-1MB-move), e820* is */
     67        /* kernel mapped above-1MB-physical copied symbol */
    6568        e820table_boot = KA2PA(e820table) - BOOT_OFFSET;
    6669        e820counter_boot = KA2PA(e820counter) - BOOT_OFFSET;
     70
     71        /* real_bootstrap_gdtr is mapped real_bootstrap_gdtr_boot */
     72        /* It is physically outside of kernel area, we have to access */
     73        /* it after modification from long mode for booting */
     74        /* SMP slave processors */
    6775        real_bootstrap_gdtr = PA2KA(real_bootstrap_gdtr_boot);
    6876}
  • arch/amd64/include/byteorder.h

    r8491c48 r3156582  
    3131
    3232/* AMD64 is little-endian */
    33 #define native_le2host(n)               n
     33#define native_le2host(n)               (n)
     34#define u64_le2host(n)          (n)
    3435
    3536#endif
  • arch/amd64/src/asm_utils.S

    r8491c48 r3156582  
    5959.global utext
    6060utext:
    61         xor %ax,%ax;
    62         mov %ax,%ds;
    63         mov %ax,%es;
    64         mov %ax,%fs;
    65         mov %ax,%gs;
    66610:
    6762        int $48
     
    178173        push_all_gpr
    179174
    180         # trap_dispatcher(i, stack)
    181175        movq $(\i),%rdi   # %rdi - first parameter
    182176        movq %rbp, %rsi
    183177        addq $8, %rsi     # %rsi - second parameter - original stack
    184         call trap_dispatcher
     178        call trap_dispatcher    # trap_dispatcher(i, stack)
    185179
    186180# Test if this is interrupt with error word or not
     
    217211h_start:
    218212        handler 0 IDT_ITEMS
    219 #       handler 64 128 
    220 #       handler 128 192
    221 #       handler 192 256
    222213h_end:
    223214       
  • arch/amd64/src/fpu_context.c

    r8491c48 r3156582  
    3232#include <cpu.h>
    3333
     34/** Save FPU (mmx, sse) context using fxsave instruction */
    3435void fpu_context_save(fpu_context_t *fctx)
    3536{
     
    4445}
    4546
     47/** Restore FPU (mmx,sse) context using fxrstor instruction */
    4648void fpu_context_restore(fpu_context_t *fctx)
    4749{
  • arch/amd64/src/pm.c

    r8491c48 r3156582  
    9292          .granularity = 1,
    9393          .base_24_31  = 0 },
    94         /* KTEXT 32-bit protected */
     94        /* KTEXT 32-bit protected, for protected mode before long mode */
    9595        { .limit_0_15  = 0xffff,
    9696          .base_0_15   = 0,
Note: See TracChangeset for help on using the changeset viewer.