Changes in / [7b2a7ad:ab34cc9] in mainline


Ignore:
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

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

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

    r7b2a7ad rab34cc9  
    312312
    313313#ifndef PROCESSOR_i486
    314 
    315314/** Write to MSR */
    316315NO_TRACE static inline void write_msr(uint32_t msr, uint64_t value)
     
    337336        return ((uint64_t) dx << 32) | ax;
    338337}
    339 
    340 #endif /* PROCESSOR_i486 */
     338#endif
    341339
    342340
  • kernel/arch/ia32/src/asm.S

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

    r7b2a7ad rab34cc9  
    4040
    4141#ifndef PROCESSOR_i486
    42 
    4342/** Enable & setup support for SYSENTER/SYSEXIT */
    4443void syscall_setup_cpu(void)
     
    5150        write_msr(IA32_MSR_SYSENTER_EIP, (uint32_t) sysenter_handler);
    5251}
    53 
    54 #endif /* PROCESSOR_i486 */
     52#endif
    5553
    5654/** @}
  • uspace/lib/c/arch/ia32/Makefile.common

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

    r7b2a7ad rab34cc9  
    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)
     570:
    5858#endif
    59        
    6059        #
    6160        # Create the first stack frame.
  • uspace/lib/c/generic/async.c

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

    r7b2a7ad rab34cc9  
    3838#include <async.h>
    3939#include <async_obsolete.h>
    40 #include "private/async.h"
    4140#undef LIBC_ASYNC_C_
    4241#undef LIBC_ASYNC_OBSOLETE_C_
     
    4544#include <malloc.h>
    4645#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

    r7b2a7ad rab34cc9  
    3636#define LIBC_PRIVATE_ASYNC_H_
    3737
    38 #include <async.h>
     38#include <ipc/common.h>
    3939#include <adt/list.h>
    4040#include <fibril.h>
    41 #include <fibril_synch.h>
    4241#include <sys/time.h>
    4342#include <bool.h>
    44 
    45 /** Session data */
    46 struct _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 */
    73 struct _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 };
    8643
    8744/** Structures of this type are used to track the timeout events. */
  • uspace/lib/c/include/async.h

    r7b2a7ad rab34cc9  
    4242#include <ipc/common.h>
    4343#include <fibril.h>
     44#include <fibril_synch.h>
    4445#include <sys/time.h>
    4546#include <atomic.h>
     
    9596} exch_mgmt_t;
    9697
    97 /** Forward declarations */
    98 struct _async_exch;
    99 struct _async_sess;
    100 
    101 typedef struct _async_sess async_sess_t;
    102 typedef struct _async_exch async_exch_t;
     98/** Session data */
     99typedef 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 */
     126typedef 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;
    103139
    104140extern atomic_t threads_in_ipc_wait;
Note: See TracChangeset for help on using the changeset viewer.