biosdisk.c (193719) | biosdisk.c (195045) |
---|---|
1/*- 2 * Copyright (c) 1998 Michael Smith <msmith@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 1998 Michael Smith <msmith@freebsd.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 11 unchanged lines hidden (view full) --- 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 */ 26 27#include <sys/cdefs.h> |
28__FBSDID("$FreeBSD: head/sys/boot/i386/libi386/biosdisk.c 193719 2009-06-08 15:07:35Z jhb $"); | 28__FBSDID("$FreeBSD: head/sys/boot/i386/libi386/biosdisk.c 195045 2009-06-26 09:32:31Z rpaulo $"); |
29 30/* 31 * BIOS disk device handling. 32 * 33 * Ideas and algorithms from: 34 * 35 * - NetBSD libi386/biosdisk.c 36 * - FreeBSD biosboot/disk.c --- 838 unchanged lines hidden (view full) --- 875 return (ENXIO); 876 877 /* Check for GPT slice. */ 878 part = 0; 879 dp = (struct dos_partition *)(tbl + DOSPARTOFF); 880 for (i = 0; i < NDOSPART; i++) { 881 if (dp[i].dp_typ == 0xee) 882 part++; | 29 30/* 31 * BIOS disk device handling. 32 * 33 * Ideas and algorithms from: 34 * 35 * - NetBSD libi386/biosdisk.c 36 * - FreeBSD biosboot/disk.c --- 838 unchanged lines hidden (view full) --- 875 return (ENXIO); 876 877 /* Check for GPT slice. */ 878 part = 0; 879 dp = (struct dos_partition *)(tbl + DOSPARTOFF); 880 for (i = 0; i < NDOSPART; i++) { 881 if (dp[i].dp_typ == 0xee) 882 part++; |
883 else if (dp[i].dp_typ != 0x00) | 883 else if ((part != 1) && (dp[i].dp_typ != 0x00)) |
884 return (EINVAL); 885 } 886 if (part != 1) 887 return (EINVAL); 888 889 /* Read primary GPT table header. */ 890 if (bd_read(od, 1, 1, gpt)) { 891 DEBUG("error reading GPT header"); --- 528 unchanged lines hidden --- | 884 return (EINVAL); 885 } 886 if (part != 1) 887 return (EINVAL); 888 889 /* Read primary GPT table header. */ 890 if (bd_read(od, 1, 1, gpt)) { 891 DEBUG("error reading GPT header"); --- 528 unchanged lines hidden --- |