Module Name: src
Committed By: jakllsch
Date: Mon Jun 8 15:09:35 UTC 2009
Modified Files:
src/sys/dev/ata: atareg.h wd.c
Log Message:
Add atap_max_lba member to ataparams for LBA48 Maximum Address. From OpenBSD.
While here, renumber some __reserved member names to be sequential.
Also, add a member for the World Wide Name.
Use atap_max_lba in wd.c instead of offsets into a __reserved member.
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/sys/dev/ata/atareg.h
cvs rdiff -u -r1.377 -r1.378 src/sys/dev/ata/wd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ata/atareg.h
diff -u src/sys/dev/ata/atareg.h:1.32 src/sys/dev/ata/atareg.h:1.33
--- src/sys/dev/ata/atareg.h:1.32 Tue Dec 25 18:33:36 2007
+++ src/sys/dev/ata/atareg.h Mon Jun 8 15:09:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: atareg.h,v 1.32 2007/12/25 18:33:36 perry Exp $ */
+/* $NetBSD: atareg.h,v 1.33 2009/06/08 15:09:35 jakllsch Exp $ */
/*
* Copyright (c) 1998, 2001 Manuel Bouyer.
@@ -438,7 +438,11 @@
u_int16_t atap_seu_time; /* 89: Sec. Erase Unit compl. time */
u_int16_t atap_eseu_time; /* 90: Enhanced SEU compl. time */
u_int16_t atap_apm_val; /* 91: current APM value */
- u_int16_t __reserved6[35]; /* 92-126: reserved */
+ u_int16_t __reserved5[8]; /* 92-99: reserved */
+ u_int16_t atap_max_lba[4]; /* 100-103: Max. user LBA addr */
+ u_int16_t __reserved6[4]; /* 104-107: reserved */
+ u_int16_t atap_wwn[4]; /* 108-111: World Wide Name */
+ u_int16_t __reserved7[15]; /* 112-126: reserved */
u_int16_t atap_rmsn_supp; /* 127: remov. media status notif. */
#define WDC_RMSN_SUPP_MASK 0x0003
#define WDC_RMSN_SUPP 0x0001
Index: src/sys/dev/ata/wd.c
diff -u src/sys/dev/ata/wd.c:1.377 src/sys/dev/ata/wd.c:1.378
--- src/sys/dev/ata/wd.c:1.377 Wed May 20 03:26:21 2009
+++ src/sys/dev/ata/wd.c Mon Jun 8 15:09:35 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: wd.c,v 1.377 2009/05/20 03:26:21 dyoung Exp $ */
+/* $NetBSD: wd.c,v 1.378 2009/06/08 15:09:35 jakllsch Exp $ */
/*
* Copyright (c) 1998, 2001 Manuel Bouyer. All rights reserved.
@@ -59,7 +59,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.377 2009/05/20 03:26:21 dyoung Exp $");
+__KERNEL_RCSID(0, "$NetBSD: wd.c,v 1.378 2009/06/08 15:09:35 jakllsch Exp $");
#include "opt_ata.h"
@@ -375,10 +375,10 @@
if ((wd->sc_flags & WDF_LBA48) != 0) {
aprint_verbose(" LBA48 addressing\n");
wd->sc_capacity =
- ((u_int64_t) wd->sc_params.__reserved6[11] << 48) |
- ((u_int64_t) wd->sc_params.__reserved6[10] << 32) |
- ((u_int64_t) wd->sc_params.__reserved6[9] << 16) |
- ((u_int64_t) wd->sc_params.__reserved6[8] << 0);
+ ((u_int64_t) wd->sc_params.atap_max_lba[3] << 48) |
+ ((u_int64_t) wd->sc_params.atap_max_lba[2] << 32) |
+ ((u_int64_t) wd->sc_params.atap_max_lba[1] << 16) |
+ ((u_int64_t) wd->sc_params.atap_max_lba[0] << 0);
} else if ((wd->sc_flags & WDF_LBA) != 0) {
aprint_verbose(" LBA addressing\n");
wd->sc_capacity =