Changeset f9d0a86 in mainline for uspace/lib/c


Ignore:
Timestamp:
2017-11-14T12:24:42Z (8 years ago)
Author:
Aearsis <Hlavaty.Ondrej@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
6cad776
Parents:
887c9de (diff), d2d142a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Aearsis <Hlavaty.Ondrej@…> (2017-11-14 01:04:19)
git-committer:
Aearsis <Hlavaty.Ondrej@…> (2017-11-14 12:24:42)
Message:

Merge tag '0.7.1'

The merge wasn't clean, because of changes in build system. The most
significant change was partial revert of usbhc callback refactoring,
which now does not take usb transfer batch, but few named fields again.

Location:
uspace/lib/c
Files:
1 added
30 deleted
45 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/Makefile

    r887c9de rf9d0a86  
    3232
    3333CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config
    34 COMMON_HEADER_ARCH = arch/$(UARCH)/include/libarch/common.h
    3534
    3635LINKER_SCRIPTS = \
     
    4039        $(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld
    4140
    42 PRE_DEPEND = $(COMMON_HEADER_ARCH)
     41PRE_DEPEND =
    4342EXTRA_OUTPUT = $(LINKER_SCRIPTS)
    44 EXTRA_CLEAN = $(COMMON_HEADER_ARCH) $(LINKER_SCRIPTS)
     43EXTRA_CLEAN = $(LINKER_SCRIPTS)
    4544LIBRARY = libc
    46 SLIBRARY = libc.so.0.0
    47 LSONAME = libc.so.0
     45SOVERSION = 0.0
    4846
    4947-include $(CONFIG_MAKEFILE)
     
    208206$(LIBC_PREFIX)/arch/$(UARCH)/_link-dlexe.ld: $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld.in
    209207        $(CC) $(DEFS) $(CFLAGS) -DLIBC_PATH=$(CURDIR) -DDLEXE -E -x c $< | grep -v "^\#" > $@
    210 
    211 $(COMMON_HEADER_ARCH): $(COMMON_HEADER)
    212         ln -sfn ../../../../$< $@
  • uspace/lib/c/arch/abs32le/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.c \
    3130        arch/$(UARCH)/src/entryjmp.c \
    3231        arch/$(UARCH)/src/thread_entry.c \
     
    3635        arch/$(UARCH)/src/stacktrace.c
    3736
    38 .PRECIOUS: arch/$(UARCH)/src/entry.o
     37EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/abs32le/include/libarch/ddi.h

    r887c9de rf9d0a86  
    5050}
    5151
     52static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     53{
     54        *port = v;
     55}
     56
    5257static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    5358{
     
    6570}
    6671
     72static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     73{
     74        return *port;
     75}
     76
    6777#endif
  • uspace/lib/c/arch/amd64/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4140        arch/$(UARCH)/include/libarch/fibril_context.ag
    4241
    43 .PRECIOUS: arch/$(UARCH)/src/entry.o
     42EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
    4443
  • uspace/lib/c/arch/arm32/Makefile.common

    r887c9de rf9d0a86  
    3535ifeq ($(CONFIG_FPU),y)
    3636        COMMON_CFLAGS += -mfloat-abi=hard
    37 else
    38         BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    3937endif
    4038
  • uspace/lib/c/arch/arm32/Makefile.inc

    r887c9de rf9d0a86  
    2929
    3030ARCH_SOURCES = \
    31         arch/$(UARCH)/src/entry.S \
    3231        arch/$(UARCH)/src/entryjmp.S \
    3332        arch/$(UARCH)/src/thread_entry.S \
     
    4342        arch/$(UARCH)/include/libarch/fibril_context.ag
    4443
    45 .PRECIOUS: arch/$(UARCH)/src/entry.o
     44EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
    4645
  • uspace/lib/c/arch/arm32/include/libarch/ddi.h

    r887c9de rf9d0a86  
    5151}
    5252
     53static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     54{
     55        *port = v;
     56}
     57
    5358static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    5459{
     
    6671}
    6772
     73static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     74{
     75        return *port;
     76}
     77
    6878#endif
  • uspace/lib/c/arch/ia32/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4342        arch/$(UARCH)/include/libarch/fibril_context.ag
    4443
    45 .PRECIOUS: arch/$(UARCH)/src/entry.o
     44EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ia32/include/libarch/ddi.h

    r887c9de rf9d0a86  
    8686}
    8787
     88static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     89{
     90        return (uint64_t) *port;
     91}
     92
    8893static inline void arch_pio_write_8(ioport8_t *port, uint8_t val)
    8994{
     
    119124}
    120125
     126static inline void arch_pio_write_64(ioport64_t *port, uint64_t val)
     127{
     128        *port = val;
     129}
     130
    121131#endif
  • uspace/lib/c/arch/ia64/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4241        arch/$(UARCH)/include/libarch/fibril_context.ag
    4342
    44 .PRECIOUS: arch/$(UARCH)/src/entry.o
     43EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ia64/include/libarch/ddi.h

    r887c9de rf9d0a86  
    9494}
    9595
     96static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     97{
     98        *port = v;
     99
     100        asm volatile ("mf\n" ::: "memory");
     101        asm volatile ("mf.a\n" ::: "memory");
     102}
     103
    96104static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    97105{
     
    154162}
    155163
     164static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     165{
     166        uint64_t v;
     167
     168        asm volatile ("mf\n" ::: "memory");
     169
     170        v = *port;
     171
     172        asm volatile ("mf.a\n" ::: "memory");
     173
     174        return v;
     175}
     176
    156177#endif
    157178
  • uspace/lib/c/arch/ia64/include/libarch/faddr.h

    r887c9de rf9d0a86  
    3838#include <types/common.h>
    3939
     40typedef struct {
     41        uintptr_t fnc;
     42        uintptr_t gp;
     43} __attribute__((may_alias)) fncptr_t;
     44
    4045/**
    4146 *
  • uspace/lib/c/arch/ia64/src/entry.S

    r887c9de rf9d0a86  
    4242       
    4343        # Pass PCB pointer as the first argument to __main
    44         mov out0 = r2
     44        mov out0 = r2 ;;
    4545        br.call.sptk.many b0 = __main
    4646
  • uspace/lib/c/arch/ia64/src/thread_entry.S

    r887c9de rf9d0a86  
    4343        #
    4444       
    45         mov out0 = r8
     45        mov out0 = r8 ;;
    4646        br.call.sptk.many b0 = __thread_main
    4747       
  • uspace/lib/c/arch/mips32/Makefile.common

    r887c9de rf9d0a86  
    2828
    2929COMMON_CFLAGS += -msoft-float -mabi=32
    30 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    3130AS_PROLOG = .module softfloat;.abicalls;
    3231LFLAGS += --gc-sections
  • uspace/lib/c/arch/mips32/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4140        arch/$(UARCH)/include/libarch/fibril_context.ag
    4241
    43 .PRECIOUS: arch/$(UARCH)/src/entry.o
     42EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/mips32/include/libarch/ddi.h

    r887c9de rf9d0a86  
    5151}
    5252
     53static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     54{
     55        *port = v;
     56}
     57
    5358static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    5459{
     
    6671}
    6772
     73static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     74{
     75        return *port;
     76}
     77
    6878#endif
  • uspace/lib/c/arch/mips32/src/entry.S

    r887c9de rf9d0a86  
    6262        #
    6363        addiu $sp, ABI_STACK_FRAME
     64        .end __entry
    6465FUNCTION_END(__entry)
  • uspace/lib/c/arch/mips32/src/thread_entry.S

    r887c9de rf9d0a86  
    6262        #
    6363        addiu $sp, ABI_STACK_FRAME
     64        .end __thread_entry
  • uspace/lib/c/arch/mips32eb/Makefile.common

    r887c9de rf9d0a86  
    2828
    2929COMMON_CFLAGS += -msoft-float -mabi=32
    30 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    3130AS_PROLOG = .module softfloat;.abicalls;
    3231LFLAGS += --gc-sections
  • uspace/lib/c/arch/mips32eb/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4140        arch/$(UARCH)/include/libarch/fibril_context.ag
    4241
    43 .PRECIOUS: arch/$(UARCH)/src/entry.o
     42EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ppc32/Makefile.common

    r887c9de rf9d0a86  
    3434
    3535COMMON_CFLAGS += -mcpu=powerpc -m$(FLOATS)-float -m32
    36 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    3736AFLAGS += -a32
    3837LFLAGS += --gc-sections
  • uspace/lib/c/arch/ppc32/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4140        arch/$(UARCH)/include/libarch/fibril_context.ag
    4241
    43 .PRECIOUS: arch/$(UARCH)/src/entry.o
     42EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/ppc32/include/libarch/ddi.h

    r887c9de rf9d0a86  
    5151}
    5252
     53static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     54{
     55        *port = v;
     56}
     57
    5358static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    5459{
     
    6671}
    6772
     73static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     74{
     75        return *port;
     76}
     77
    6878#endif
  • uspace/lib/c/arch/riscv64/Makefile.common

    r887c9de rf9d0a86  
    2727#
    2828
    29 BASE_LIBS += $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a
    30 
    3129ENDIANESS = LE
    3230
  • uspace/lib/c/arch/riscv64/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.c \
    3130        arch/$(UARCH)/src/entryjmp.c \
    3231        arch/$(UARCH)/src/thread_entry.c \
     
    4039        arch/$(UARCH)/include/libarch/fibril_context.ag
    4140
    42 .PRECIOUS: arch/$(UARCH)/src/entry.o
     41EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/riscv64/include/libarch/ddi.h

    r887c9de rf9d0a86  
    5050}
    5151
     52static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     53{
     54        *port = v;
     55}
     56
    5257static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    5358{
     
    6570}
    6671
     72static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     73{
     74        return *port;
     75}
     76
    6777#endif
  • uspace/lib/c/arch/sparc64/Makefile.inc

    r887c9de rf9d0a86  
    2828
    2929ARCH_SOURCES = \
    30         arch/$(UARCH)/src/entry.S \
    3130        arch/$(UARCH)/src/entryjmp.S \
    3231        arch/$(UARCH)/src/thread_entry.S \
     
    4039        arch/$(UARCH)/include/libarch/fibril_context.ag
    4140
    42 .PRECIOUS: arch/$(UARCH)/src/entry.o
     41EXTRA_OUTPUT += arch/$(UARCH)/src/entry.o
  • uspace/lib/c/arch/sparc64/include/libarch/ddi.h

    r887c9de rf9d0a86  
    6262}
    6363
     64static inline void arch_pio_write_64(ioport64_t *port, uint64_t v)
     65{
     66        *port = v;
     67        memory_barrier();
     68}
     69
     70
    6471static inline uint8_t arch_pio_read_8(const ioport8_t *port)
    6572{
     
    9299}
    93100
     101static inline uint64_t arch_pio_read_64(const ioport64_t *port)
     102{
     103        uint64_t rv;
     104
     105        rv = *port;
     106        memory_barrier();
     107
     108        return rv;
     109}
     110
    94111#endif
  • uspace/lib/c/generic/ddi.c

    r887c9de rf9d0a86  
    338338}
    339339
     340void pio_write_64(ioport64_t *reg, uint64_t val)
     341{
     342        pio_trace_log(reg, val, true);
     343        arch_pio_write_64(reg, val);
     344}
     345
    340346uint8_t pio_read_8(const ioport8_t *reg)
    341347{
     
    359365}
    360366
     367uint64_t pio_read_64(const ioport64_t *reg)
     368{
     369        const uint64_t val = arch_pio_read_64(reg);
     370        pio_trace_log(reg, val, false);
     371        return val;
     372}
     373
    361374/** @}
    362375 */
  • uspace/lib/c/generic/double_to_str.c

    r887c9de rf9d0a86  
    3232#include <ieee_double.h>
    3333
     34#include <limits.h>
    3435#include <stdint.h>
    3536#include <stdbool.h>
  • uspace/lib/c/generic/gsort.c

    r887c9de rf9d0a86  
    4141
    4242#include <gsort.h>
     43#include <inttypes.h>
    4344#include <mem.h>
    4445#include <malloc.h>
  • uspace/lib/c/generic/inet/addr.c

    r887c9de rf9d0a86  
    4141#include <malloc.h>
    4242#include <bitops.h>
     43#include <inttypes.h>
    4344
    4445#define INET_PREFIXSTRSIZE  5
  • uspace/lib/c/generic/io/printf_core.c

    r887c9de rf9d0a86  
    4646#include <assert.h>
    4747#include <macros.h>
     48#include <wchar.h>
    4849
    4950
     
    114115        PrintfQualifierLongLong,
    115116        PrintfQualifierPointer,
    116         PrintfQualifierSize
     117        PrintfQualifierSize,
     118        PrintfQualifierMax
    117119} qualifier_t;
    118120
     
    14841486                                uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
    14851487                                break;
     1488                        case 'j':
     1489                                qualifier = PrintfQualifierMax;
     1490                                i = nxt;
     1491                                uc = str_decode(fmt, &nxt, STR_NO_LIMIT);
     1492                                break;
    14861493                        default:
    14871494                                /* Default type */
     
    16291636                                number = (uint64_t) va_arg(ap, size_t);
    16301637                                break;
     1638                        case PrintfQualifierMax:
     1639                                size = sizeof(uintmax_t);
     1640                                number = (uint64_t) va_arg(ap, uintmax_t);
     1641                                break;
    16311642                        default:
    16321643                                /* Unknown qualifier */
  • uspace/lib/c/generic/ipc.c

    r887c9de rf9d0a86  
    148148        }
    149149       
    150         if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
    151                 futex_unlock(&ipc_futex);
    152                
    153                 call->u.msg.phoneid = phoneid;
    154                
    155                 futex_down(&async_futex);
    156                 list_append(&call->list, &queued_calls);
    157                
    158                 call->fid = fibril_get_id();
    159                 fibril_switch(FIBRIL_TO_MANAGER);
    160                 /* Async futex unlocked by previous call */
    161                
    162                 return;
    163         }
    164        
    165150        call->u.callid = callid;
    166151       
     
    210195        ipc_callid_t callid = __SYSCALL6(SYS_IPC_CALL_ASYNC_FAST, phoneid,
    211196            imethod, arg1, arg2, arg3, arg4);
    212        
    213         if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY) {
    214                 if (!call) {
    215                         call = ipc_prepare_async(private, callback);
    216                         if (!call) {
    217                                 futex_unlock(&ipc_futex);
    218                                 return;
    219                         }
    220                 }
    221                
    222                 IPC_SET_IMETHOD(call->u.msg.data, imethod);
    223                 IPC_SET_ARG1(call->u.msg.data, arg1);
    224                 IPC_SET_ARG2(call->u.msg.data, arg2);
    225                 IPC_SET_ARG3(call->u.msg.data, arg3);
    226                 IPC_SET_ARG4(call->u.msg.data, arg4);
    227                
    228                 /*
    229                  * To achieve deterministic behavior, we always zero out the
    230                  * arguments that are beyond the limits of the fast version.
    231                  */
    232                
    233                 IPC_SET_ARG5(call->u.msg.data, 0);
    234         }
    235197       
    236198        ipc_finish_async(callid, phoneid, call);
     
    351313                ipc_callid_t callid =
    352314                    ipc_call_async_internal(call->u.msg.phoneid, &call->u.msg.data);
    353                
    354                 if (callid == (ipc_callid_t) IPC_CALLRET_TEMPORARY)
    355                         break;
    356315               
    357316                list_remove(&call->list);
  • uspace/lib/c/generic/loc.c

    r887c9de rf9d0a86  
    247247        sysarg_t retval = async_data_write_start(exch, name, str_size(name));
    248248       
    249         loc_exchange_end(exch);
    250        
    251249        if (retval != EOK) {
    252250                async_forget(req);
    253                 return retval;
    254         }
    255        
    256         exch = loc_exchange_begin(INTERFACE_LOC_SUPPLIER);
     251                loc_exchange_end(exch);
     252                return retval;
     253        }
     254       
    257255        async_connect_to_me(exch, 0, 0, 0);
    258         loc_exchange_end(exch);
    259        
     256
     257        /*
     258         * First wait for the answer and then end the exchange. The opposite
     259         * order is generally wrong because it may lead to a deadlock under
     260         * certain circumstances.
     261         */
    260262        async_wait_for(req, &retval);
     263        loc_exchange_end(exch);
     264       
    261265        return retval;
    262266}
     
    276280        sysarg_t retval = async_data_write_start(exch, fqsn, str_size(fqsn));
    277281       
    278        
    279282        if (retval != EOK) {
    280283                async_forget(req);
     
    283286        }
    284287       
     288        /*
     289         * First wait for the answer and then end the exchange. The opposite
     290         * order is generally wrong because it may lead to a deadlock under
     291         * certain circumstances.
     292         */
    285293        async_wait_for(req, &retval);
    286294        loc_exchange_end(exch);
  • uspace/lib/c/generic/pio_trace.c

    r887c9de rf9d0a86  
    9191
    9292
    93 void pio_trace_log(const volatile void *r, uint32_t val, bool write)
     93void pio_trace_log(const volatile void *r, uint64_t val, bool write)
    9494{
    9595        pio_regions_t *regions = get_regions();
  • uspace/lib/c/generic/str.c

    r887c9de rf9d0a86  
    4646#include <align.h>
    4747#include <mem.h>
     48#include <limits.h>
    4849
    4950/** Check the condition if wchar_t is signed */
    50 #ifdef WCHAR_IS_UNSIGNED
     51#ifdef __WCHAR_UNSIGNED__
    5152        #define WCHAR_SIGNED_CHECK(cond)  (true)
    5253#else
  • uspace/lib/c/include/ddi.h

    r887c9de rf9d0a86  
    5252typedef volatile uint16_t ioport16_t;
    5353typedef volatile uint32_t ioport32_t;
    54 
    55 extern int device_assign_devno(void);
     54typedef volatile uint64_t ioport64_t;
    5655
    5756extern int physmem_map(uintptr_t, size_t, unsigned int, void **);
     
    6968extern int pio_disable(void *, size_t);
    7069
    71 typedef void (*trace_fnc)(const volatile void *place, uint32_t val,
     70typedef void (*trace_fnc)(const volatile void *place, uint64_t val,
    7271    volatile void* base, size_t size, void *data, bool write);
    7372
    7473extern int pio_trace_enable(void *, size_t, trace_fnc, void *);
    75 extern void pio_trace_log(const volatile void *, uint32_t val, bool write);
     74extern void pio_trace_log(const volatile void *, uint64_t val, bool write);
    7675extern void pio_trace_disable(void *);
    7776
     
    7978extern void pio_write_16(ioport16_t *, uint16_t);
    8079extern void pio_write_32(ioport32_t *, uint32_t);
     80extern void pio_write_64(ioport64_t *, uint64_t);
    8181
    8282extern uint8_t pio_read_8(const ioport8_t *);
    8383extern uint16_t pio_read_16(const ioport16_t *);
    8484extern uint32_t pio_read_32(const ioport32_t *);
     85extern uint64_t pio_read_64(const ioport64_t *);
    8586
    8687static inline uint8_t pio_change_8(ioport8_t *reg, uint8_t val, uint8_t mask,
     
    111112}
    112113
     114static inline uint64_t pio_change_64(ioport64_t *reg, uint64_t val,
     115    uint64_t mask, useconds_t delay)
     116{
     117        uint64_t v = pio_read_64(reg);
     118        udelay(delay);
     119        pio_write_64(reg, (v & ~mask) | val);
     120        return v;
     121}
     122
    113123static inline uint8_t pio_set_8(ioport8_t *r, uint8_t v, useconds_t d)
    114124{
     
    122132{
    123133        return pio_change_32(r, v, 0, d);
     134}
     135static inline uint64_t pio_set_64(ioport64_t *r, uint64_t v, useconds_t d)
     136{
     137        return pio_change_64(r, v, 0, d);
    124138}
    125139
     
    136150        return pio_change_32(r, 0, v, d);
    137151}
     152static inline uint64_t pio_clear_64(ioport64_t *r, uint64_t v, useconds_t d)
     153{
     154        return pio_change_64(r, 0, v, d);
     155}
    138156
    139157#endif
  • uspace/lib/c/include/inttypes.h

    r887c9de rf9d0a86  
    3636#define LIBC_INTTYPES_H_
    3737
    38 #include <libarch/inttypes.h>
     38#include <_bits/inttypes.h>
    3939
    4040#endif
  • uspace/lib/c/include/io/charfield.h

    r887c9de rf9d0a86  
    3838
    3939#include <stdbool.h>
     40#include <wchar.h>
    4041#include <io/color.h>
    4142#include <io/style.h>
  • uspace/lib/c/include/limits.h

    r887c9de rf9d0a86  
    3636#define LIBC_LIMITS_H_
    3737
    38 /* XXX Make this more accurate */
    39 #include <stdint.h>
    40 #include <libarch/stdint.h>
     38#include <_bits/limits.h>
    4139
    4240#endif
  • uspace/lib/c/include/stddef.h

    r887c9de rf9d0a86  
    3636#define LIBC_STDDEF_H_
    3737
    38 #include <libarch/stddef.h>
     38#include <_bits/size_t.h>
     39#include <_bits/ptrdiff_t.h>
     40#include <_bits/wchar_t.h>
    3941
    40 #ifndef NULL
    41         #define NULL  ((void *) 0)
    42 #endif
     42#include <_bits/NULL.h>
    4343
    4444#define offsetof(type, member) \
  • uspace/lib/c/include/stdint.h

    r887c9de rf9d0a86  
    3636#define LIBC_STDINT_H_
    3737
    38 #define INT8_MIN  INT8_C(0x80)
    39 #define INT8_MAX  INT8_C(0x7F)
    40 
    41 #define UINT8_MIN  UINT8_C(0)
    42 #define UINT8_MAX  UINT8_C(0xFF)
    43 
    44 #define INT16_MIN  INT16_C(0x8000)
    45 #define INT16_MAX  INT16_C(0x7FFF)
    46 
    47 #define UINT16_MIN  UINT16_C(0)
    48 #define UINT16_MAX  UINT16_C(0xFFFF)
    49 
    50 #define INT32_MIN  INT32_C(0x80000000)
    51 #define INT32_MAX  INT32_C(0x7FFFFFFF)
    52 
    53 #define UINT32_MIN  UINT32_C(0)
    54 #define UINT32_MAX  UINT32_C(0xFFFFFFFF)
    55 
    56 #define INT64_MIN  INT64_C(0x8000000000000000)
    57 #define INT64_MAX  INT64_C(0x7FFFFFFFFFFFFFFF)
    58 
    59 #define UINT64_MIN  UINT64_C(0)
    60 #define UINT64_MAX  UINT64_C(0xFFFFFFFFFFFFFFFF)
    61 
    62 #include <libarch/stdint.h>
     38#include <_bits/stdint.h>
    6339
    6440#endif
  • uspace/lib/c/include/types/common.h

    r887c9de rf9d0a86  
    3636#define LIBC_TYPES_COMMON_H_
    3737
    38 #include <libarch/types.h>
     38#if __SIZEOF_POINTER__ == 4
     39#define __32_BITS__
     40#elif __SIZEOF_POINTER__ == 8
     41#define __64_BITS__
     42#else
     43#error __SIZEOF_POINTER__ is not defined.
     44#endif
     45
     46#include <_bits/all.h>
    3947
    4048#endif
Note: See TracChangeset for help on using the changeset viewer.