source: soft/giet_vm/libs/stdio.h @ 254

Last change on this file since 254 was 253, checked in by alain, 11 years ago

1/ introducing support to display images on the frame buffer
with the vci_chbuf_dma (in stdio.c and drivers.c)
2/ introducing support for mem_cache configuration segment
as the memory cache is considered as another addressable peripheral type
(in drivers.c)
3/ Introducing the new "increment" parameter in the mapping header.
This parameter define the virtual address increment for the vsegs
associated to the replicated peripherals (ICU, XICU, MDMA, TIMER, MMC).
This parameter is mandatory, and all map.xml files the "mappings"
directory have been updated.

File size: 2.9 KB
Line 
1//////////////////////////////////////////////////////////////////////////////////
2// File     : stdio.h         
3// Date     : 01/04/2010
4// Author   : alain greiner & Joel Porquet
5// Copyright (c) UPMC-LIP6
6///////////////////////////////////////////////////////////////////////////////////
7
8#ifndef _STDIO_H
9#define _STDIO_H
10
11/* MIPS32 related functions */
12unsigned int giet_procid();
13unsigned int giet_proctime();
14
15/* TTY device related functions */
16unsigned int giet_tty_putc(char byte);
17unsigned int giet_tty_puts(char* buf);
18unsigned int giet_tty_putw(unsigned int val);
19unsigned int giet_tty_getc_no_irq(char* byte);
20unsigned int giet_tty_getc(char* byte);
21unsigned int giet_tty_gets(char* buf, unsigned int bufsize);
22unsigned int giet_tty_getw(unsigned int* val);
23unsigned int giet_tty_printf(char* format,...);
24
25/* TIMER device related functions */
26unsigned int giet_timer_start();
27unsigned int giet_timer_stop();
28 
29/* GCD coprocessor related functions */
30unsigned int giet_gcd_set_opa(unsigned int val);
31unsigned int giet_gcd_set_opb(unsigned int val);
32unsigned int giet_gcd_start();
33unsigned int giet_gcd_get_result(unsigned int* val);
34unsigned int giet_gcd_get_status(unsigned int* val);
35
36/* Block device related functions */
37unsigned int giet_ioc_read(unsigned int lba, void* buffer, unsigned int count);
38unsigned int giet_ioc_write(unsigned int lba, void* buffer, unsigned int count);
39unsigned int giet_ioc_completed();
40unsigned int giet_ioc_block_size();
41
42/* Frame buffer device related functions */
43unsigned int giet_fb_sync_read(unsigned int offset, void* buffer, unsigned int length );
44unsigned int giet_fb_sync_write(unsigned int offset, void* buffer, unsigned int length);
45unsigned int giet_fb_dma_read(unsigned int offset, void* buffer, unsigned int length);
46unsigned int giet_fb_dma_write(unsigned int offset, void* buffer, unsigned int length);
47unsigned int giet_fb_dma_completed();
48unsigned int giet_fb_cma_init(void* buf0, void* buf1, unsigned int length);
49unsigned int giet_fb_cma_write(unsigned int buf_id);
50unsigned int giet_fb_cma_stop();
51
52/* Network controller relate functions */
53unsigned int giet_nic_cma_rx_init(void* buf0, void* buf1, unsigned int length);
54unsigned int giet_nic_cma_tx_init(void* buf0, void* buf1, unsigned int length);
55unsigned int giet_nic_cma_stop();
56
57/* Misc */
58unsigned int giet_vobj_get_vbase(char* vspace_name, char* vobj_name, 
59                                 unsigned int vobj_type, unsigned int* vobj_vaddr);
60unsigned int giet_procnumber();
61void giet_exit();
62unsigned int giet_context_switch();
63unsigned int giet_proc_task_id();
64unsigned int giet_heap_info(unsigned int* vaddr, unsigned int* size);
65unsigned int giet_global_task_id();
66void giet_assert( unsigned int, char* string);
67unsigned int giet_rand();
68
69#endif
70
71// Local Variables:
72// tab-width: 4
73// c-basic-offset: 4
74// c-file-offsets:((innamespace . 0)(inline-open . 0))
75// indent-tabs-mode: nil
76// End:
77// vim: filetype=c:expandtab:shiftwidth=4:tabstop=4:softtabstop=4
78
Note: See TracBrowser for help on using the repository browser.