diff options
author | 2007-04-05 02:38:28 +0000 | |
---|---|---|
committer | 2007-04-05 02:38:28 +0000 | |
commit | 936f8bb2f79c9a4a7c3723a84aaf27e7496b3949 (patch) | |
tree | 791d47e92796a74a7a328c1bd49175cf42b8a0d4 | |
parent | regen (diff) | |
download | wireguard-openbsd-936f8bb2f79c9a4a7c3723a84aaf27e7496b3949.tar.xz wireguard-openbsd-936f8bb2f79c9a4a7c3723a84aaf27e7496b3949.zip |
start defining the scatter/gather bits and the port request blocks (PRBs).
-rw-r--r-- | sys/dev/ic/silireg.h | 51 | ||||
-rw-r--r-- | sys/dev/pci/sili_pci.c | 5 |
2 files changed, 54 insertions, 2 deletions
diff --git a/sys/dev/ic/silireg.h b/sys/dev/ic/silireg.h index e050dcbc717..754abc97827 100644 --- a/sys/dev/ic/silireg.h +++ b/sys/dev/ic/silireg.h @@ -1,4 +1,4 @@ -/* $OpenBSD: silireg.h,v 1.14 2007/04/04 11:38:35 dlg Exp $ */ +/* $OpenBSD: silireg.h,v 1.15 2007/04/05 02:38:28 dlg Exp $ */ /* * Copyright (c) 2007 David Gwynne <dlg@openbsd.org> @@ -133,3 +133,52 @@ #define SILI_MAX_CMDS 31 + + +struct sili_sge { + u_int32_t addr_lo; + u_int32_t addr_hi; + u_int32_t data_count; + u_int32_t flags; +#define SILI_SGE_TRM (1<<31) +#define SILI_SGE_LNK (1<<30) +#define SILI_SGE_DRD (1<<29) +#define SILI_SGE_XCF (1<<28) +} __packed; + +struct sili_prb_ata { + u_int16_t control; + u_int16_t protocol_override; + u_int32_t rx_count; + + u_int8_t fis[ATA_FIS_LENGTH]; + + u_int32_t reserved; + + struct sili_sge sgl[2]; +} __packed; + +struct sili_prb_packet { + u_int16_t control; + u_int16_t protocol_override; + u_int32_t rx_count; + + u_int8_t fis[ATA_FIS_LENGTH]; + + u_int32_t reserved; + + u_int8_t cdb[16]; + + struct sili_sge sgl[1]; +} __packed; + +struct sili_prb_softreset { + u_int16_t control; + u_int16_t reserved1; + u_int32_t reserved2; + + u_int8_t fis[ATA_FIS_LENGTH]; + + u_int32_t reserved3[9]; +} __packed; + diff --git a/sys/dev/pci/sili_pci.c b/sys/dev/pci/sili_pci.c index d0a6ecdeac2..217642e91f5 100644 --- a/sys/dev/pci/sili_pci.c +++ b/sys/dev/pci/sili_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sili_pci.c,v 1.4 2007/03/31 23:42:18 jsg Exp $ */ +/* $OpenBSD: sili_pci.c,v 1.5 2007/04/05 02:38:28 dlg Exp $ */ /* * Copyright (c) 2007 David Gwynne <dlg@openbsd.org> @@ -21,6 +21,7 @@ #include <sys/kernel.h> #include <sys/malloc.h> #include <sys/device.h> +#include <sys/timeout.h> #include <machine/bus.h> @@ -28,6 +29,8 @@ #include <dev/pci/pcivar.h> #include <dev/pci/pcidevs.h> +#include <dev/ata/atascsi.h> + #include <dev/ic/silireg.h> #include <dev/ic/silivar.h> |