libski.h revision 83364
11638Srgrimes/*- 252696Sgreen * Copyright (c) 2001 Doug Rabson 31638Srgrimes * All rights reserved. 4156813Sru * 5155611Simp * Redistribution and use in source and binary forms, with or without 61988Swollman * modification, are permitted provided that the following conditions 7124747Sru * are met: 8172085Sjkoshy * 1. Redistributions of source code must retain the above copyright 9124747Sru * notice, this list of conditions and the following disclaimer. 10152999Semax * 2. Redistributions in binary form must reproduce the above copyright 11124747Sru * notice, this list of conditions and the following disclaimer in the 12124747Sru * documentation and/or other materials provided with the distribution. 13171851Sdanger * 14124747Sru * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15124747Sru * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16146329Skeramida * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17146329Skeramida * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18124747Sru * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19124747Sru * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20124747Sru * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21124747Sru * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22124747Sru * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23129759Sbrooks * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24163029Sru * SUCH DAMAGE. 25124747Sru * 26124747Sru * $FreeBSD: head/sys/boot/ia64/ski/libski.h 83364 2001-09-12 08:34:27Z dfr $ 27124747Sru */ 28161748Scperciva 29124747Sru/* 30124747Sru * SKI fully-qualified device descriptor 31124747Sru */ 32124747Srustruct ski_devdesc { 33124747Sru struct devsw *d_dev; 34124747Sru int d_type; 35124747Sru#define DEVT_NONE 0 36124747Sru#define DEVT_DISK 1 37124747Sru#define DEVT_NET 2 38124747Sru union { 39158381Sambrisko struct { 40124747Sru int unit; 41124747Sru int slice; 42124747Sru int partition; 43124747Sru } skidisk; 44153103Sdavidxu struct { 45124747Sru int unit; /* XXX net layer lives over these? */ 46108304Strhodes } netif; 47124747Sru } d_kind; 48124747Sru}; 49183631Sdanger 50124747Sruextern int ski_getdev(void **vdev, const char *devspec, const char **path); 51124747Sruextern char *ski_fmtdev(void *vdev); 52124747Sruextern int ski_setcurrdev(struct env_var *ev, int flags, void *value); 53124747Sru 54187825Stabthorpe#define MAXDEV 31 /* maximum number of distinct devices */ 55150665Sru 56124747Srutypedef unsigned long physaddr_t; 57124747Sru 58124747Sru/* exported devices XXX rename? */ 59124747Sruextern struct devsw skifs_dev; 60178354Ssamextern struct devsw ski_disk; 61158665Srodrigcextern struct netif_driver ski_net; 62124747Sru 63124747Sru/* Wrapper over SKI filesystems. */ 64124747Sruextern struct fs_ops ski_fsops; 65124747Sru 66156940Sru/* this is in startup code */ 67124747Sruextern void delay(int); 68124747Sruextern void reboot(void); 69124747Sru 70170811Sdelphijextern ssize_t ski_copyin(const void *src, vm_offset_t dest, size_t len); 71170828Srodrigcextern ssize_t ski_copyout(const vm_offset_t src, void *dest, size_t len); 72170828Srodrigcextern ssize_t ski_readin(int fd, vm_offset_t dest, size_t len); 731638Srgrimes 74124747Sruextern int ski_boot(void); 7532158Sbdeextern int ski_autoload(void); 7632158Sbde 77108414Strhodes#define SSC_CONSOLE_INIT 20 7877865Sru#define SSC_GETCHAR 21 7972875Snik#define SSC_PUTCHAR 31 80156709Sjcamou#define SSC_OPEN 50 8132158Sbde#define SSC_CLOSE 51 8232158Sbde#define SSC_READ 52 8332158Sbde#define SSC_WRITE 53 84156813Sru#define SSC_GET_COMPLETION 54 85148781Sphk#define SSC_WAIT_COMPLETION 55 86148781Sphk#define SSC_EXIT 66 87148781Sphk#define SSC_LOAD_SYMBOLS 69 88171851Sdanger 89171851Sdangeru_int64_t ssc(u_int64_t in0, u_int64_t in1, u_int64_t in2, u_int64_t in3, 90171851Sdanger int which); 91171851Sdanger