source: trunk/packages/xen-common/xen-common/tools/firmware/rombios/32bit/util.h @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 1.2 KB
Line 
1#ifndef UTIL_H
2#define UTIL_H
3
4void outb(uint16_t addr, uint8_t val);
5void outw(uint16_t addr, uint16_t val);
6void outl(uint16_t addr, uint32_t val);
7uint8_t inb(uint16_t addr);
8uint16_t inw(uint16_t addr);
9uint32_t inl(uint16_t addr);
10void mssleep(uint32_t time);
11
12char *itoa(char *a, unsigned int i);
13int strcmp(const char *cs, const char *ct);
14int strncmp(const char *s1, const char *s2, uint32_t n);
15void *memcpy(void *dest, const void *src, unsigned n);
16void *memmove(void *dest, const void *src, unsigned n);
17char *strcpy(char *dest, const char *src);
18char *strncpy(char *dest, const char *src, unsigned n);
19unsigned strlen(const char *s);
20void * memset(void *s, int c, unsigned n);
21int memcmp(const void *s1, const void *s2, unsigned n);
22void cpuid(uint32_t idx, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx);
23void byte_to_hex(char *digits, uint8_t byte);
24void uuid_to_string(char *dest, uint8_t *uuid);
25int printf(const char *fmt, ...);
26
27static inline uint8_t mmio_readb(uint8_t *addr)
28{
29        return *(volatile uint8_t *)addr;
30}
31
32static inline uint16_t mmio_readw(uint16_t *addr)
33{
34        return *(volatile uint16_t *)addr;
35}
36
37static inline uint32_t mmio_readl(uint32_t *addr)
38{
39        return *(volatile uint32_t *)addr;
40}
41
42
43#endif
Note: See TracBrowser for help on using the repository browser.