Changes in / [ab34cc9:7b2a7ad] in mainline


Ignore:
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    rab34cc9 r7b2a7ad  
    7070@ "pentium4" Pentium 4
    7171@ "pentium3" Pentium 3
    72 @ "i486" i486
    7372@ "core" Core Solo/Duo
    7473@ "athlon_xp" Athlon XP
    7574@ "athlon_mp" Athlon MP
     75@ "i486" i486
    7676! [PLATFORM=ia32] PROCESSOR (choice)
    7777
  • kernel/arch/ia32/Makefile.inc

    rab34cc9 r7b2a7ad  
    4444#
    4545
     46ifeq ($(PROCESSOR),i486)
     47        CMN2 = -march=i486
     48endif
     49
    4650ifeq ($(PROCESSOR),athlon_xp)
    4751        CMN2 = -march=athlon-xp
     
    6266        CMN2 = -march=pentium4
    6367        SUNCC_CFLAGS += -xarch=sse2
    64 endif
    65 
    66 ifeq ($(PROCESSOR),i486)
    67         CMN2 = -march=i486
    6868endif
    6969
  • kernel/arch/ia32/include/asm.h

    rab34cc9 r7b2a7ad  
    312312
    313313#ifndef PROCESSOR_i486
     314
    314315/** Write to MSR */
    315316NO_TRACE static inline void write_msr(uint32_t msr, uint64_t value)
     
    336337        return ((uint64_t) dx << 32) | ax;
    337338}
    338 #endif
     339
     340#endif /* PROCESSOR_i486 */
    339341
    340342
  • kernel/arch/ia32/src/asm.S

    rab34cc9 r7b2a7ad  
    407407#ifdef PROCESSOR_i486
    408408        jz 0f
    409         movl %eax, %ebp
    410 0:
     409                movl %eax, %ebp
     410        0:
    411411#else
    412412        cmovnzl %eax, %ebp
  • kernel/arch/ia32/src/syscall.c

    rab34cc9 r7b2a7ad  
    4040
    4141#ifndef PROCESSOR_i486
     42
    4243/** Enable & setup support for SYSENTER/SYSEXIT */
    4344void syscall_setup_cpu(void)
     
    5051        write_msr(IA32_MSR_SYSENTER_EIP, (uint32_t) sysenter_handler);
    5152}
    52 #endif
     53
     54#endif /* PROCESSOR_i486 */
    5355
    5456/** @}
  • uspace/lib/c/arch/ia32/Makefile.common

    rab34cc9 r7b2a7ad  
    2828
    2929CLANG_ARCH = i386
     30
    3031ifeq ($(PROCESSOR),i486)
    31 GCC_CFLAGS += -march=i486 -fno-omit-frame-pointer
     32        GCC_CFLAGS += -march=i486 -fno-omit-frame-pointer
    3233else
    33 GCC_CFLAGS += -march=pentium -fno-omit-frame-pointer
     34        GCC_CFLAGS += -march=pentium -fno-omit-frame-pointer
    3435endif
    3536
  • uspace/lib/c/arch/ia32/src/entry.S

    rab34cc9 r7b2a7ad  
    4646        mov %ax, %fs
    4747        # Do not set %gs, it contains descriptor that can see TLS
    48 
     48       
    4949#ifndef PROCESSOR_i486 
    5050        # Detect the mechanism used for making syscalls
     
    5353        bt $(INTEL_SEP), %edx
    5454        jnc 0f
    55         leal __syscall_fast_func, %eax
    56         movl $__syscall_fast, (%eax)
    57 0:
     55                leal __syscall_fast_func, %eax
     56                movl $__syscall_fast, (%eax)
     57        0:
    5858#endif
     59       
    5960        #
    6061        # Create the first stack frame.
  • uspace/lib/c/generic/async.c

    rab34cc9 r7b2a7ad  
    9898#include <ipc/ipc.h>
    9999#include <async.h>
     100#include "private/async.h"
    100101#undef LIBC_ASYNC_C_
    101102
     
    113114#include <stdlib.h>
    114115#include <macros.h>
    115 #include "private/async.h"
    116116
    117117#define CLIENT_HASH_TABLE_BUCKETS  32
  • uspace/lib/c/generic/async_obsolete.c

    rab34cc9 r7b2a7ad  
    3838#include <async.h>
    3939#include <async_obsolete.h>
     40#include "private/async.h"
    4041#undef LIBC_ASYNC_C_
    4142#undef LIBC_ASYNC_OBSOLETE_C_
     
    4445#include <malloc.h>
    4546#include <errno.h>
    46 #include "private/async.h"
    4747
    4848/** Send message and return id of the sent message.
  • uspace/lib/c/generic/private/async.h

    rab34cc9 r7b2a7ad  
    3636#define LIBC_PRIVATE_ASYNC_H_
    3737
    38 #include <ipc/common.h>
     38#include <async.h>
    3939#include <adt/list.h>
    4040#include <fibril.h>
     41#include <fibril_synch.h>
    4142#include <sys/time.h>
    4243#include <bool.h>
     44
     45/** Session data */
     46struct _async_sess {
     47        /** List of inactive exchanges */
     48        list_t exch_list;
     49       
     50        /** Exchange management style */
     51        exch_mgmt_t mgmt;
     52       
     53        /** Session identification */
     54        int phone;
     55       
     56        /** First clone connection argument */
     57        sysarg_t arg1;
     58       
     59        /** Second clone connection argument */
     60        sysarg_t arg2;
     61       
     62        /** Third clone connection argument */
     63        sysarg_t arg3;
     64       
     65        /** Exchange mutex */
     66        fibril_mutex_t mutex;
     67       
     68        /** Number of opened exchanges */
     69        atomic_t refcnt;
     70};
     71
     72/** Exchange data */
     73struct _async_exch {
     74        /** Link into list of inactive exchanges */
     75        link_t sess_link;
     76       
     77        /** Link into global list of inactive exchanges */
     78        link_t global_link;
     79       
     80        /** Session pointer */
     81        async_sess_t *sess;
     82       
     83        /** Exchange identification */
     84        int phone;
     85};
    4386
    4487/** Structures of this type are used to track the timeout events. */
  • uspace/lib/c/include/async.h

    rab34cc9 r7b2a7ad  
    4242#include <ipc/common.h>
    4343#include <fibril.h>
    44 #include <fibril_synch.h>
    4544#include <sys/time.h>
    4645#include <atomic.h>
     
    9695} exch_mgmt_t;
    9796
    98 /** Session data */
    99 typedef struct {
    100         /** List of inactive exchanges */
    101         list_t exch_list;
    102        
    103         /** Exchange management style */
    104         exch_mgmt_t mgmt;
    105        
    106         /** Session identification */
    107         int phone;
    108        
    109         /** First clone connection argument */
    110         sysarg_t arg1;
    111        
    112         /** Second clone connection argument */
    113         sysarg_t arg2;
    114        
    115         /** Third clone connection argument */
    116         sysarg_t arg3;
    117        
    118         /** Exchange mutex */
    119         fibril_mutex_t mutex;
    120        
    121         /** Number of opened exchanges */
    122         atomic_t refcnt;
    123 } async_sess_t;
    124 
    125 /** Exchange data */
    126 typedef struct {
    127         /** Link into list of inactive exchanges */
    128         link_t sess_link;
    129        
    130         /** Link into global list of inactive exchanges */
    131         link_t global_link;
    132        
    133         /** Session pointer */
    134         async_sess_t *sess;
    135        
    136         /** Exchange identification */
    137         int phone;
    138 } async_exch_t;
     97/** Forward declarations */
     98struct _async_exch;
     99struct _async_sess;
     100
     101typedef struct _async_sess async_sess_t;
     102typedef struct _async_exch async_exch_t;
    139103
    140104extern atomic_t threads_in_ipc_wait;
Note: See TracChangeset for help on using the changeset viewer.