/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright (c) 1989-1998 by Sun Microsystems, Inc. * All rights reserved. */ #ifndef _SYS_BUSTYPES_H #define _SYS_BUSTYPES_H #pragma ident "%Z%%M% %I% %E% SMI" /* SVr4 */ #ifdef __cplusplus extern "C" { #endif /* * Defines for bus types. These are magic cookies passed between drivers * and their parents to describe their address space. Configuration mechanisms * use this as well. Root nexus drivers on implementations using * "generic-addressing" also use these to describe register properties. * Generally, this will be non-self configuring architectures. * * * On machines supporting "generic-addressing" in the root nexus, * the generic cookies described in the bootom of the file are used * to distinguish the spaces described by device regsiters. * * Sun machines generally support OBMEM and OBIO spaces. */ #define SP_VIRTUAL 0x0100 /* virtual address */ #define SP_OBMEM 0x0200 /* on board memory */ #define SP_OBIO 0x0210 /* on board i/o */ /* * The following are some Cookie name/value suggestions... * and are not necessarily supported at all (nexi for these devices * must handle and convert any requests for these spaces.) */ #define SP_SBUS 0x0400 /* SBus device bus */ #define SB_XBOX 0x0500 /* XBox device bus */ #define SP_MBMEM 0x1000 /* MultiBus memory */ #define SP_MBIO 0x1100 /* MultiBus IO */ #define SP_ATMEM 0x2000 /* AT Bus Memory */ #define SP_ATIO 0x2100 /* AT IO */ #define SP_FBMEM 0x3000 /* FutureBus Memory */ #define SP_FBIO 0x3100 /* FutureBus IO */ #define SP_UBMEM 0x4000 /* Arbitrary user bus memory space */ #define SP_UBIO 0x4100 /* Arbitrary user bus IO space */ #define SP_INVALID ((unsigned)-1) /* This value reserved */ /* * Anything in the range 0x4000 - 0x4FFF reserved for arbitrary 3rd party use. */ #ifdef __cplusplus } #endif #endif /* _SYS_BUSTYPES_H */