XenevaOS
Loading...
Searching...
No Matches
hal.h
Go to the documentation of this file.
1
30#ifndef __HAL_H__
31#define __HAL_H__
32
33#include <stdint.h>
34#include <time.h>
35#include <aurora.h>
36
37#ifdef __cplusplus
39#endif
40
41/*
42* AuHalInitialise -- initialise the
43* hardware abstraction layer
44* @param info -- kernel boot information structure
45*/
46extern void AuHalInitialise(KERNEL_BOOT_INFO* info);
47
48/*
49* AuHalPostInitialise -- post sybsystems
50* initialisation process
51*/
52extern void AuHalPostInitialise();
53/*
54* Registers an IRQ to a vector
55* @param vector -- vector number
56* @param fn -- handler function pointer
57* @param irq -- IRQ number
58* @param level -- is this a level interrupt ?
59*/
60AU_EXPORT void AuHalRegisterIRQ(size_t vector, void(*fn)(size_t, void*), uint8_t irq, BOOL level);
61
62/*
63* AuHalMaskIRQ -- mask an irq
64* @param irq -- IRQ number
65* @param value -- if true, mask it else unmask it
66*/
67AU_EXPORT void AuHalMaskIRQ(uint8_t irq, BOOL value);
68
69/*
70* AuInterruptEnd -- sends end_of_interrupt to
71* interrupt controller
72* @param irq -- IRQ number __UNUSED__
73*/
75
76/*
77* AuHalFlushCache -- flush the cache
78*/
80
81/*
82* AuDisableInterrupt -- disable interrupts
83*/
85
86/*
87* AuEnableInterrupt -- enable interrupts
88*/
90
91/*
92* AuGetTimeOfTheDay -- return current time in unix
93* format
94* @param tv -- timeval structure
95*/
97
98#ifdef __cplusplus
99}
100#endif
101
102#endif
#define AU_EXTERN
Definition aurora.h:50
#define AU_EXPORT
Definition aurora.h:38
unsigned char BOOL
Definition stdint.h:37
unsigned char uint8_t
Definition acefiex.h:161
AU_EXPORT void AuInterruptEnd(uint8_t irq)
Definition hal.cpp:85
AU_EXPORT int AuGetTimeOfTheDay(timeval *tv)
Definition hal.cpp:115
void AuHalInitialise(KERNEL_BOOT_INFO *info)
Definition hal.cpp:43
void AuHalPostInitialise()
Definition hal.cpp:54
AU_EXPORT void AuEnableInterrupt()
Definition hal.cpp:106
AU_EXPORT void AuHalRegisterIRQ(size_t vector, void(*fn)(size_t, void *), uint8_t irq, BOOL level)
Definition hal.cpp:67
AU_EXPORT void AuHalFlushCache()
Definition hal.cpp:92
AU_EXPORT void AuDisableInterrupt()
Definition hal.cpp:99
AU_EXPORT void AuHalMaskIRQ(uint8_t irq, BOOL value)
Definition hal.cpp:76
Definition aurora.h:99
Definition time.h:52