OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [include/] [l4/] [api/] [kip.h] - Rev 6

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * Kernel Interface Page
 *
 * Copyright (C) 2007 Bahadir Balban
 */
 
#ifndef __KIP_H__
#define __KIP_H__
 
#define __YEAR__ ((((__DATE__ [7] - '0') * 10 + (__DATE__ [8] - '0')) * 10 \
			+ (__DATE__ [9] - '0')) * 10 + (__DATE__ [10] - '0'))
 
#define __MONTH__ (__DATE__ [2] == 'n' ? (__DATE__ [1] == 'a' ? 0 : 5) \
		: __DATE__ [2] == 'b' ? 1 \
		: __DATE__ [2] == 'r' ? (__DATE__ [0] == 'M' ? 2 : 3) \
		: __DATE__ [2] == 'y' ? 4 \
		: __DATE__ [2] == 'l' ? 6 \
		: __DATE__ [2] == 'g' ? 7 \
		: __DATE__ [2] == 'p' ? 8 \
		: __DATE__ [2] == 't' ? 9 \
		: __DATE__ [2] == 'v' ? 10 : 11)
 
#define __DAY__ ((__DATE__ [4] == ' ' ? 0 : __DATE__ [4] - '0') * 10 \
		+ (__DATE__ [5] - '0'))
 
 
#define CODEZERO_VERSION		0
#define CODEZERO_SUBVERSION		2
#define KDESC_DATE_SIZE			12
#define KDESC_TIME_SIZE			9
 
struct kernel_descriptor {
	u32 version;
	u32 subversion;
	u32 magic;
	char date[KDESC_DATE_SIZE];
	char time[KDESC_TIME_SIZE];
} __attribute__((__packed__));
 
/* Experimental KIP with non-standard offsets */
struct kip {
	/* System descriptions */
	u32 magic;
	u16 version_rsrv;
	u8  api_subversion;
	u8  api_version;
	u32 api_flags;
 
	u32 container_control;
	u32 time;
 
	u32 irq_control;
	u32 thread_control;
	u32 ipc_control;
	u32 map;
	u32 ipc;
	u32 capability_control;
	u32 unmap;
	u32 exchange_registers;
	u32 thread_switch;
	u32 schedule;
	u32 getid;
	u32 mutex_control;
	u32 cache_control;
 
	u32 arch_syscall0;
	u32 arch_syscall1;
	u32 arch_syscall2;
 
	u32 utcb;
 
	struct kernel_descriptor kdesc;
} __attribute__((__packed__));
 
 
#if defined (__KERNEL__)
extern struct kip kip;
#endif /* __KERNEL__ */
 
 
#endif /* __KIP_H__ */
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.