blob: 619a68a2c6ee5d5b69c36a2af4c1955b96283d4c [file] [log] [blame]
Patrick Georgi1e916e02011-01-28 07:54:11 +00001#include <assert.h>
2#include "cmos_lowlevel.h"
3
4static void mem_hal_init(void* data);
5static unsigned char mem_hal_read(unsigned addr);
6static void mem_hal_write(unsigned addr, unsigned char value);
7static void mem_set_iopl(int level);
8
9static unsigned char* mem_hal_data = (unsigned char*)-1;
10static void mem_hal_init(void *data)
11{
12 mem_hal_data = data;
13}
14
15static unsigned char mem_hal_read(unsigned index)
16{
17 assert(mem_hal_data != (unsigned char*)-1);
18 return mem_hal_data[index];
19}
20
21static void mem_hal_write(unsigned index, unsigned char value)
22{
23 assert(mem_hal_data != (unsigned char*)-1);
24 mem_hal_data[index] = value;
25}
26
27static void mem_set_iopl(__attribute__ ((unused)) int level)
28{
29}
30
31cmos_access_t memory_hal = {
32 .init = mem_hal_init,
33 .read = mem_hal_read,
34 .write = mem_hal_write,
35 .set_iopl = mem_set_iopl,
36};