[BACK]Return to reloc.h CVS log [TXT][DIR] Up to [local] / sys / arch / alpha / include

File: [local] / sys / arch / alpha / include / reloc.h (download)

Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:04:51 2008 UTC (16 years, 3 months ago) by nbrk
Branch: OPENBSD_4_2_BASE, MAIN
CVS Tags: jornada-partial-support-wip, HEAD
Changes since 1.1: +0 -0 lines

Import of OpenBSD 4.2 release kernel tree with initial code to support 
Jornada 720/728, StrongARM 1110-based handheld PC.
At this point kernel roots on NFS and boots into vfs_mountroot() and traps.
What is supported:
- glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode
(needs some palette tweaks for non black/white/blue colors, i think)
- saic, SA11x0 interrupt controller (needs cleanup)
- sacom, SA11x0 UART (supported only as boot console for now)
- SA11x0 GPIO controller fully supported (but can't handle multiple interrupt
handlers on one gpio pin)
- sassp, SSP port on SA11x0 that attaches spibus
- Jornada microcontroller (jmcu) to control kbd, battery, etc throught
the SPI bus (wskbd attaches on jmcu, but not tested)
- tod functions seem work
- initial code for SA-1111 (chip companion) : this is TODO

Next important steps, i think:
- gpio and intc on sa1111
- pcmcia support for sa11x0 (and sa1111 help logic)
- REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs)
- root on wd0! (using already supported PCMCIA-ATA)

/*	$OpenBSD: reloc.h,v 1.2 2001/07/04 08:41:18 niklas Exp $	*/

#ifndef	_MACH_RELOC_H_
#define	_MACH_RELOC_H_

#define RELOC_NONE            0       /* No reloc */
#define RELOC_REFLONG         1       /* Direct 32 bit */
#define RELOC_REFQUAD         2       /* Direct 64 bit */
#define RELOC_GPREL32         3       /* GP relative 32 bit */
#define RELOC_LITERAL         4       /* GP relative 16 bit w/optimization */
#define RELOC_LITUSE          5       /* Optimization hint for LITERAL */
#define RELOC_GPDISP          6       /* Add displacement to GP */
#define RELOC_BRADDR          7       /* PC+4 relative 23 bit shifted */
#define RELOC_HINT            8       /* PC+4 relative 16 bit shifted */
#define RELOC_SREL16          9       /* PC relative 16 bit */
#define RELOC_SREL32          10      /* PC relative 32 bit */
#define RELOC_SREL64          11      /* PC relative 64 bit */
#define RELOC_OP_PUSH         12      /* OP stack push */
#define RELOC_OP_STORE        13      /* OP stack pop and store */
#define RELOC_OP_PSUB         14      /* OP stack subtract */
#define RELOC_OP_PRSHIFT      15      /* OP stack right shift */
#define RELOC_GPVALUE         16
#define RELOC_GPRELHIGH       17
#define RELOC_GPRELLOW        18
#define RELOC_IMMED_GP_16     19
#define RELOC_IMMED_GP_HI32   20
#define RELOC_IMMED_SCN_HI32  21
#define RELOC_IMMED_BRELOC_HI32   22
#define RELOC_IMMED_LO32      23
#define RELOC_COPY            24      /* Copy symbol at runtime */
#define RELOC_GLOB_DAT        25      /* Create GOT entry */
#define RELOC_JMP_SLOT        26      /* Create PLT entry */
#define RELOC_RELATIVE        27      /* Adjust by program base */

#define R_TYPE(X)	__CONCAT(RELOC_,X)

#endif	/* _MACH_RELOC_H_ */