1/*
2 * Copyright 2011, Fran��ois Revol, revol@free.fr.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef KERNEL_BOOT_PLATFORM_CFE_CFE_H
6#define KERNEL_BOOT_PLATFORM_CFE_CFE_H
7
8
9#include <SupportDefs.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15#define CFE_EPTSEAL	0x43464531	/* 'CFE1' */
16#define CFE_MAGIC	CFE_EPTSEAL
17
18// cfe/include/cfe_timer.h
19#define CFE_HZ		10
20
21/* CFE sources declare this separately in cfe_api.h */
22
23/* (let's hope it's always built-in,
24   unlike u-boot's API which never is... */
25
26#define CFE_FLG_COLDSTART		0x00000000
27#define CFE_FLG_WARMSTART		0x00000001
28
29#define CFE_STDHANDLE_CONSOLE	0
30
31int cfe_init(uint64 handle, uint64 entry);
32
33int cfe_exit(int32 warm, int32 status);
34uint64 cfe_getticks(void);
35
36int cfe_enumdev(int idx, char *name, int namelen);
37
38int cfe_getstdhandle(int flag);
39int cfe_open(const char *name);
40int cfe_close(int handle);
41
42int cfe_readblk(int handle, int64 offset, void *buffer, int length);
43int cfe_writeblk(int handle, int64 offset, const void *buffer, int length);
44
45#define CFE_OK			0
46#define CFE_ERR			-1
47
48status_t cfe_error(int32 err);
49
50#ifdef __cplusplus
51}
52#endif
53
54#endif	/* KERNEL_BOOT_PLATFORM_CFE_CFE_H */
55