1*021d832aSchristos /* $NetBSD: disklabel.h,v 1.5 2019/04/03 22:10:49 christos Exp $ */ 204faabf0Stsutsui 304faabf0Stsutsui /*- 404faabf0Stsutsui * Copyright (c) 2004 The NetBSD Foundation, Inc. 504faabf0Stsutsui * All rights reserved. 604faabf0Stsutsui * 704faabf0Stsutsui * This code is derived from software contributed to The NetBSD Foundation 804faabf0Stsutsui * by UCHIYAMA Yasushi. 904faabf0Stsutsui * 1004faabf0Stsutsui * Redistribution and use in source and binary forms, with or without 1104faabf0Stsutsui * modification, are permitted provided that the following conditions 1204faabf0Stsutsui * are met: 1304faabf0Stsutsui * 1. Redistributions of source code must retain the above copyright 1404faabf0Stsutsui * notice, this list of conditions and the following disclaimer. 1504faabf0Stsutsui * 2. Redistributions in binary form must reproduce the above copyright 1604faabf0Stsutsui * notice, this list of conditions and the following disclaimer in the 1704faabf0Stsutsui * documentation and/or other materials provided with the distribution. 1804faabf0Stsutsui * 1904faabf0Stsutsui * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 2004faabf0Stsutsui * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 2104faabf0Stsutsui * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2204faabf0Stsutsui * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2304faabf0Stsutsui * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2404faabf0Stsutsui * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2504faabf0Stsutsui * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2604faabf0Stsutsui * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2704faabf0Stsutsui * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2804faabf0Stsutsui * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2904faabf0Stsutsui * POSSIBILITY OF SUCH DAMAGE. 3004faabf0Stsutsui */ 3104faabf0Stsutsui 3204faabf0Stsutsui #ifndef _EWS4800MIPS_DISKLABEL_H_ 3304faabf0Stsutsui #define _EWS4800MIPS_DISKLABEL_H_ 3404faabf0Stsutsui 3504faabf0Stsutsui #if HAVE_NBTOOL_CONFIG_H 3604faabf0Stsutsui #include <nbinclude/machine/pdinfo.h> 3704faabf0Stsutsui #include <nbinclude/machine/vtoc.h> 3804faabf0Stsutsui #else 3904faabf0Stsutsui #include <machine/pdinfo.h> 4004faabf0Stsutsui #include <machine/vtoc.h> 4104faabf0Stsutsui #endif 4204faabf0Stsutsui 4304faabf0Stsutsui /* 4404faabf0Stsutsui * UX reserved partition 4504faabf0Stsutsui * 0 / 4604faabf0Stsutsui * 1 swap 4704faabf0Stsutsui * 2 /usr 4804faabf0Stsutsui * 3 /stand (bfs) 4904faabf0Stsutsui * 6 whole disk 5004faabf0Stsutsui * 7 boot block (VTOC) 5104faabf0Stsutsui * 8 /var 5204faabf0Stsutsui * 9 /home 5304faabf0Stsutsui */ 5404faabf0Stsutsui 5504faabf0Stsutsui #define MAXPARTITIONS 16 5604faabf0Stsutsui /* 'p'-partition is mostly familiar with EWS-UX */ 5704faabf0Stsutsui #define RAW_PART 15 5804faabf0Stsutsui 59a47e2eb7Sbouyer #define LABELUSESMBR 0 /* no MBR partitionning */ 6004faabf0Stsutsui #define LABELSECTOR 9 /* See ews4800mips/disksubr/disksubr_conv.c */ 6104faabf0Stsutsui #define LABELOFFSET 0 6204faabf0Stsutsui 6304faabf0Stsutsui struct cpu_disklabel { 6404faabf0Stsutsui /* EWS-UX native disklabel */ 6504faabf0Stsutsui struct pdinfo_sector pdinfo; 6604faabf0Stsutsui struct vtoc_sector vtoc; 6704faabf0Stsutsui }; 6804faabf0Stsutsui 6904faabf0Stsutsui #if defined(_KERNEL) 7004faabf0Stsutsui /* VTOC <-> disklabel conversion ops. */ 7104faabf0Stsutsui struct disklabel; 7204faabf0Stsutsui void vtoc_set_default(struct cpu_disklabel *, struct disklabel *); 7304faabf0Stsutsui void disklabel_to_vtoc(struct cpu_disklabel *, struct disklabel *); 7404faabf0Stsutsui void vtoc_to_disklabel(struct cpu_disklabel *, struct disklabel *); 7504faabf0Stsutsui void disklabel_set_default(struct disklabel *); 76712239e3Sthorpej bool disklabel_sanity(struct disklabel *); 77*021d832aSchristos 78*021d832aSchristos #define __HAVE_SETDISKLABEL 7904faabf0Stsutsui #endif 8004faabf0Stsutsui 81*021d832aSchristos 8204faabf0Stsutsui #endif /* _EWS4800MIPS_DISKLABEL_H_ */ 83