Changeset afa6e74 in mainline for libc


Ignore:
Timestamp:
2006-05-16T23:37:58Z (19 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
04a73cdf
Parents:
6efe0ddf
Message:

Earliest version of Userspace Framebuffer driver, with stream support in libc.
Also Virtual framebuffers made as split on main fb and its usage by streams

(please test it and report)

Location:
libc
Files:
3 added
7 edited

Legend:

Unmodified
Added
Removed
  • libc/Makefile

    r6efe0ddf rafa6e74  
    5353        generic/io/io.c \
    5454        generic/io/printf.c \
     55        generic/io/stream.c \
    5556        generic/io/sprintf.c \
    5657        generic/io/snprintf.c \
  • libc/Makefile.toolchain

    r6efe0ddf rafa6e74  
    2828
    2929DEFS = -DARCH=$(ARCH)
    30 CFLAGS = -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -I$(LIBC_PREFIX)/include
     30CFLAGS = -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -O3 -nostdlib -nostdinc -I$(LIBC_PREFIX)/include
    3131LFLAGS = -M -N $(SOFTINT_PREFIX)/softint.a
    3232AFLAGS =
    33 
     33#-Werror
    3434
    3535## Setup platform configuration
  • libc/generic/as.c

    r6efe0ddf rafa6e74  
    7070
    7171static size_t heapsize = 0;
     72static size_t maxheapsize = (size_t)(-1);
    7273/* Start of heap linker symbol */
    7374extern char _heap;
     
    9293        if (incr < 0 && incr+heapsize > heapsize)
    9394                return NULL;
     95        /* Check for user limit */
     96        if ((maxheapsize!=(size_t)(-1)) && (heapsize + incr)>maxheapsize) return NULL;
    9497
    9598        rc = as_area_resize(&_heap, heapsize + incr,0);
     
    104107        return res;
    105108}
     109
     110void *set_maxheapsize(size_t mhs)
     111{
     112        maxheapsize=mhs;
     113        /* Return pointer to area not managed by sbrk */
     114        return (void *)&_heap + maxheapsize;
     115
     116}
  • libc/generic/io/io.c

    r6efe0ddf rafa6e74  
    9393        return EOF;
    9494}
    95 
     95/*
    9696ssize_t write(int fd, const void * buf, size_t count)
    9797{
    9898        return (ssize_t) __SYSCALL3(SYS_IO, (sysarg_t) fd, (sysarg_t) buf, (sysarg_t) count);
    99 }
     99}*/
    100100
    101101
     102
     103
  • libc/generic/libc.c

    r6efe0ddf rafa6e74  
    3232#include <malloc.h>
    3333#include <psthread.h>
     34#include <io/stream.h>
     35
     36int __DONT_OPEN_STDIO__;
    3437
    3538/* We should probably merge libc and libipc together */
     
    4245void __main(void) {
    4346        tcb_t *tcb;
     47       
     48        if(!__DONT_OPEN_STDIO__)
     49        {
     50                open("stdin",0);
     51                open("stdout",0);
     52                open("stderr",0);
     53        }       
    4454       
    4555        tcb = __make_tls();
  • libc/include/as.h

    r6efe0ddf rafa6e74  
    3232#include <types.h>
    3333#include <task.h>
     34#include <kernel/arch/mm/as.h>
    3435#include <kernel/mm/as.h>
     36
     37#define USER_ADDRESS_SPACE_SIZE_ARCH (USER_ADDRESS_SPACE_END_ARCH-USER_ADDRESS_SPACE_START_ARCH+1)
    3538
    3639extern void *as_area_create(void *address, size_t size, int flags);
    3740extern int as_area_resize(void *address, size_t size, int flags);
    3841extern int as_area_destroy(void *address);
     42extern void *set_maxheapsize(size_t mhs);
    3943
    4044#endif
  • libc/include/ipc/services.h

    r6efe0ddf rafa6e74  
    3838#define SERVICE_FRAME_BUFFER    2
    3939#define SERVICE_KEYBOARD        3
     40#define SERVICE_VIDEO   4
    4041
    4142#endif
Note: See TracChangeset for help on using the changeset viewer.