1 /* $NetBSD: data.h,v 1.5 2017/05/22 16:59:32 ragge Exp $ */ 2 /* 3 * Copyright (c) 1995 Ludd, University of Lule}, Sweden. 4 * All rights reserved. 5 * 6 * This code is derived from software contributed to Ludd by 7 * Bertram Barth. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted provided that the following conditions 11 * are met: 12 * 1. Redistributions of source code must retain the above copyright 13 * notice, this list of conditions and the following disclaimer. 14 * 2. Redistributions in binary form must reproduce the above copyright 15 * notice, this list of conditions and the following disclaimer in the 16 * documentation and/or other materials provided with the distribution. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 */ 29 30 /* All bugs are subject to removal without further notice */ 31 32 33 34 /* 35 * rpb->iovec gives pointer to this structure. 36 * 37 * bqo->unit_init() is used to initialize the controller, 38 * bqo->qio() is used to read from boot-device 39 */ 40 41 struct bqo { 42 long qio; /* 4 QIO entry */ 43 long map; /* 4 Mapping entry */ 44 long select; /* 4 Selection entry */ 45 long drivrname; /* 4 Offset to driver name */ 46 short version; /* 2 Version number of VMB */ 47 short vercheck; /* 2 Check field */ 48 /* offset: 20 */ 49 long reselect; /* 4 Reselection entry */ 50 long move; /* 4 Move driver entry */ 51 long unit_init; /* 4 Unit initialization entry */ 52 long auxdrname; /* 4 Offset to auxiliary driver name */ 53 long umr_dis; /* 4 UNIBUS Map Registers to disable */ 54 /* offset: 40 */ 55 long ucode; /* 4 Absolute address of booting microcode */ 56 long unit_disc; /* 4 Unit disconnecting entry */ 57 long devname; /* 4 Offset to boot device name */ 58 long umr_tmpl; /* 4 UNIBUS map register template */ 59 /* offset: 60 */ 60 /* 61 * the rest is unknown / unnecessary ... 62 */ 63 long xxx[6]; /* 24 -- total: 84 bytes */ 64 }; 65