5f7e80a834
NetBSD/emips port runs on Xilinx and Beecube FPGA systems and the Giano system simulator. eMIPS is a platform developed at Microsoft Research for researching reconfigurable computing. eMIPS allows dynamic loading and scheduling of application-specific circuits for the purpose of accelerating computations based on the current workload. NetBSD eMIPS support for NetBSD 4.x was written at Microsoft Research by Alessandro Forin and Neil Pittman. Microsoft Corporation has donated full copyright to The NetBSD Foundation. Platform support for eMIPS is the first part of Microsoft's contribution. The second part includes the hardware accelerator framework and will be proposed on tech-kern soon.
73 lines
2.2 KiB
C
73 lines
2.2 KiB
C
/* $NetBSD: bootinfo.h,v 1.1 2011/01/26 01:18:51 pooka Exp $ */
|
|
|
|
/*
|
|
* Copyright (c) 1997
|
|
* Matthias Drochner. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
|
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*/
|
|
|
|
#ifndef _EMIPS_BOOTINFO_H_
|
|
#define _EMIPS_BOOTINFO_H_
|
|
|
|
#define BOOTINFO_MAGIC 0xb007babe
|
|
#define BOOTINFO_SIZE 1024
|
|
|
|
/*
|
|
* The bootinfo structure is at the end of the 64kB hole between
|
|
* 0x80010000 to 0x8001ffff that neither NetBSD nor the PROM uses.
|
|
*/
|
|
#define BOOTINFO_ADDR 0x8001fc00
|
|
|
|
struct btinfo_common {
|
|
int next; /* offset of next item, or zero */
|
|
int type;
|
|
};
|
|
|
|
#define BTINFO_MAGIC 1
|
|
#define BTINFO_BOOTPATH 2
|
|
#define BTINFO_SYMTAB 3
|
|
|
|
struct btinfo_magic {
|
|
struct btinfo_common common;
|
|
int magic;
|
|
};
|
|
|
|
#define BTINFO_BOOTPATH_LEN 80
|
|
struct btinfo_bootpath {
|
|
struct btinfo_common common;
|
|
char bootpath[BTINFO_BOOTPATH_LEN];
|
|
};
|
|
|
|
struct btinfo_symtab {
|
|
struct btinfo_common common;
|
|
int nsym;
|
|
int ssym;
|
|
int esym;
|
|
};
|
|
|
|
#ifdef _KERNEL
|
|
void *lookup_bootinfo __P((int));
|
|
#endif
|
|
|
|
#endif /* !_EMIPS_BOOTINFO_H_ */
|