diff options
author | Steve Murphree <smurph@cvs.openbsd.org> | 2002-07-05 05:41:04 +0000 |
---|---|---|
committer | Steve Murphree <smurph@cvs.openbsd.org> | 2002-07-05 05:41:04 +0000 |
commit | b9f69a8a4d8fcf7c22970f3a751c586506bc7660 (patch) | |
tree | df1f0c09fc13a8fb6c80c3ae00df8298ae823710 /sys/dev | |
parent | 1b9150acab5574d57215c7b08f8f761af9ecd8ad (diff) |
attempt to make ahc smaller. change PCI interrupt handler.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/aic7xxx.c | 6 | ||||
-rw-r--r-- | sys/dev/ic/aic7xxx.h | 12 | ||||
-rw-r--r-- | sys/dev/ic/aic7xxx_openbsd.c | 207 | ||||
-rw-r--r-- | sys/dev/ic/aic7xxx_openbsd.h | 46 | ||||
-rw-r--r-- | sys/dev/ic/aic7xxxreg.h | 6 | ||||
-rw-r--r-- | sys/dev/microcode/aic7xxx/aic7xxx.seq | 11 | ||||
-rw-r--r-- | sys/dev/microcode/aic7xxx/aic7xxx_seq.h | 1096 | ||||
-rw-r--r-- | sys/dev/pci/ahc_pci.c | 13 |
8 files changed, 749 insertions, 648 deletions
diff --git a/sys/dev/ic/aic7xxx.c b/sys/dev/ic/aic7xxx.c index ff610c24f37..7388d771c62 100644 --- a/sys/dev/ic/aic7xxx.c +++ b/sys/dev/ic/aic7xxx.c @@ -28,10 +28,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.c,v 1.40 2002/06/28 00:34:54 smurph Exp $ + * $Id: aic7xxx.c,v 1.41 2002/07/05 05:41:03 smurph Exp $ * * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx.c,v 1.80 2001/12/16 17:38:30 gibbs Exp $ - * $OpenBSD: aic7xxx.c,v 1.40 2002/06/28 00:34:54 smurph Exp $ + * $OpenBSD: aic7xxx.c,v 1.41 2002/07/05 05:41:03 smurph Exp $ */ #ifdef __OpenBSD__ @@ -596,7 +596,7 @@ ahc_handle_seqint(struct ahc_softc *ahc, u_int intstat) printf("%s:%c:%d: no active SCB for reconnecting " "target - issuing BUS DEVICE RESET\n", ahc_name(ahc), devinfo.channel, devinfo.target); - printf("SAVED_SCSIID == 0x%x, SAVED_LUN == 0x%x, " + printf("SAVED_SCSIID == 0x%02x, SAVED_LUN == 0x%x, " "ARG_1 == 0x%x ACCUM = 0x%x\n", ahc_inb(ahc, SAVED_SCSIID), ahc_inb(ahc, SAVED_LUN), ahc_inb(ahc, ARG_1), ahc_inb(ahc, ACCUM)); diff --git a/sys/dev/ic/aic7xxx.h b/sys/dev/ic/aic7xxx.h index 29ac6feb435..b9fbd32af33 100644 --- a/sys/dev/ic/aic7xxx.h +++ b/sys/dev/ic/aic7xxx.h @@ -1,5 +1,5 @@ /* - * $OpenBSD: aic7xxx.h,v 1.4 2002/06/28 00:34:54 smurph Exp $ + * $OpenBSD: aic7xxx.h,v 1.5 2002/07/05 05:41:03 smurph Exp $ * Core definitions and data structures shareable across OS platforms. * * Copyright (c) 1994-2001 Justin T. Gibbs. @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx.h,v 1.4 2002/06/28 00:34:54 smurph Exp $ + * $Id: aic7xxx.h,v 1.5 2002/07/05 05:41:03 smurph Exp $ * * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx.h,v 1.40 2001/07/18 21:39:47 gibbs Exp $ */ @@ -438,8 +438,8 @@ struct hardware_scb { */ /*20*/ uint32_t sgptr; #define SG_PTR_MASK 0xFFFFFFF8 -/*24*/ uint8_t control; /* See SCB_CONTROL in aic7xxx.reg for details */ -/*25*/ uint8_t scsiid; /* what to load in the SCSIID register */ +/*24*/ uint8_t control; /* See SCB_CONTROL in aic7xxx.reg for details */ +/*25*/ uint8_t scsiid; /* what to load in the SCSIID register */ /*26*/ uint8_t lun; /*27*/ uint8_t tag; /* * Index into our kernel SCB array. @@ -1116,11 +1116,7 @@ int ahc_reset(struct ahc_softc *ahc); void ahc_shutdown(void *arg); /*************************** Interrupt Services *******************************/ -#ifdef __OpenBSD__ -int ahc_pci_intr(struct ahc_softc *ahc); -#else void ahc_pci_intr(struct ahc_softc *ahc); -#endif void ahc_clear_intstat(struct ahc_softc *ahc); void ahc_run_qoutfifo(struct ahc_softc *ahc); #ifdef AHC_TARGET_MODE diff --git a/sys/dev/ic/aic7xxx_openbsd.c b/sys/dev/ic/aic7xxx_openbsd.c index 4441d87853c..684cf73c467 100644 --- a/sys/dev/ic/aic7xxx_openbsd.c +++ b/sys/dev/ic/aic7xxx_openbsd.c @@ -29,10 +29,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx_openbsd.c,v 1.7 2002/07/01 23:31:05 smurph Exp $ + * $Id: aic7xxx_openbsd.c,v 1.8 2002/07/05 05:41:03 smurph Exp $ * * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_freebsd.c,v 1.26 2001/07/18 21:39:47 gibbs Exp $ - * $OpenBSD: aic7xxx_openbsd.c,v 1.7 2002/07/01 23:31:05 smurph Exp $ + * $OpenBSD: aic7xxx_openbsd.c,v 1.8 2002/07/05 05:41:03 smurph Exp $ */ #include <dev/ic/aic7xxx_openbsd.h> @@ -100,14 +100,11 @@ void ahc_check_tags(struct ahc_softc *ahc, * have to pause the sequencer for chips that don't have the * auto-pause feature. XXX smurph */ -static __inline u_int ahc_pause_index_busy_tcl(struct ahc_softc *ahc, - u_int tcl); -static __inline void ahc_pause_unbusy_tcl(struct ahc_softc *ahc, - u_int tcl); -static __inline void ahc_pause_busy_tcl(struct ahc_softc *ahc, - u_int tcl, u_int busyid); - -static __inline u_int +u_int ahc_pause_index_busy_tcl(struct ahc_softc *ahc, u_int tcl); +void ahc_pause_unbusy_tcl(struct ahc_softc *ahc, u_int tcl); +void ahc_pause_busy_tcl(struct ahc_softc *ahc, u_int tcl, u_int busyid); + +u_int ahc_pause_index_busy_tcl(ahc, tcl) struct ahc_softc *ahc; u_int tcl; @@ -123,7 +120,7 @@ ahc_pause_index_busy_tcl(ahc, tcl) return retval; } -static __inline void +void ahc_pause_unbusy_tcl(ahc, tcl) struct ahc_softc *ahc; u_int tcl; @@ -137,7 +134,7 @@ ahc_pause_unbusy_tcl(ahc, tcl) } } -static __inline void +void ahc_pause_busy_tcl(ahc, tcl, busyid) struct ahc_softc *ahc; u_int tcl; @@ -199,7 +196,6 @@ ahc_createdmamem(ahc, dmat, size, mapp, vaddr, baddr, seg, nseg, what) { int error, level = 0; int dma_flags = BUS_DMA_NOWAIT; - const char *myname = ahc_name(ahc); dmat = ahc->parent_dmat; @@ -208,32 +204,32 @@ ahc_createdmamem(ahc, dmat, size, mapp, vaddr, baddr, seg, nseg, what) if ((error = bus_dmamem_alloc(dmat, size, NBPG, 0, seg, 1, nseg, BUS_DMA_NOWAIT)) != 0) { - printf("%s: failed to allocate DMA mem for %s, error = %d\n", - myname, what, error); + printf("%s: failed to %s DMA map for %s, error = %d\n", + "allocate", ahc_name(ahc), what, error); goto out; } level++; if ((error = bus_dmamem_map(dmat, seg, *nseg, size, vaddr, BUS_DMA_NOWAIT|BUS_DMA_COHERENT)) != 0) { - printf("%s: failed to map DMA mem for %s, error = %d\n", - myname, what, error); + printf("%s: failed to %s DMA map for %s, error = %d\n", + "map", ahc_name(ahc), what, error); goto out; } level++; if ((error = bus_dmamap_create(dmat, size, 1, size, 0, dma_flags, mapp)) != 0) { - printf("%s: failed to create DMA map for %s, error = %d\n", - myname, what, error); + printf("%s: failed to %s DMA map for %s, error = %d\n", + "create", ahc_name(ahc), what, error); goto out; } level++; if ((error = bus_dmamap_load(dmat, *mapp, *vaddr, size, NULL, BUS_DMA_NOWAIT)) != 0) { - printf("%s: failed to load DMA map for %s, error = %d\n", - myname, what, error); + printf("%s: failed to %s DMA map for %s, error = %d\n", + "load", ahc_name(ahc), what, error); goto out; } @@ -428,8 +424,7 @@ ahc_init_scbdata(ahc) ahc_alloc_scbs(ahc); if (scb_data->numscbs == 0) { - printf("%s: ahc_init_scbdata - " - "Unable to allocate initial scbs\n", + printf("%s: Unable to allocate initial scbs\n", ahc_name(ahc)); goto error_exit; } @@ -519,7 +514,7 @@ ahc_attach(ahc) ahc_lock(ahc, &s); ahc_controller_info(ahc, ahc_info); - printf("%s: %s %s\n", ahc_name(ahc), ahc_info, (ahc->flags & AHC_SCB_BTT) ? "BTT" : ""); + printf("%s: %s\n", ahc_name(ahc), ahc_info); /* * Initialize the software queue. */ @@ -595,26 +590,18 @@ ahc_platform_intr(arg) intstat = ahc_inb(ahc, INTSTAT); if ((intstat & INT_PEND) == 0) { - if (ahc->platform_data->pci_intr_func && - (int)ahc->platform_data->pci_intr_func(ahc)) { -#ifdef AHC_DEBUG - printf("%s: bus intr: CCHADDR %x HADDR %x SEQADDR %x\n", - ahc_name(ahc), - ahc_inb(ahc, CCHADDR) | - (ahc_inb(ahc, CCHADDR+1) << 8) - | (ahc_inb(ahc, CCHADDR+2) << 16) - | (ahc_inb(ahc, CCHADDR+3) << 24), - ahc_inb(ahc, HADDR) | (ahc_inb(ahc, HADDR+1) << 8) - | (ahc_inb(ahc, HADDR+2) << 16) - | (ahc_inb(ahc, HADDR+3) << 24), - ahc_inb(ahc, SEQADDR0) | - (ahc_inb(ahc, SEQADDR1) << 8)); -#endif - return 1; + if (ahc->unsolicited_ints > 500) { + ahc->unsolicited_ints = 0; + if ((ahc->chip & AHC_PCI) != 0 + && (ahc_inb(ahc, ERROR) & PCIERRSTAT) != 0){ + ahc->bus_intr(ahc); + + } } - return 0; + ahc->unsolicited_ints++; + return 1; } - + ahc_intr(ahc); return 1; } @@ -637,6 +624,16 @@ ahc_done(ahc, scb) SC_DEBUG(xs->sc_link, SDEV_DB2, ("ahc_done\n")); +#ifdef maybe_not_such_a_good_idea + /* Don't smash a disconnected SCB */ + if ((scb->hscb->control & DISCONNECTED) != 0){ + printf("disconnected sbc (tag %d) in ahc_done(ahc)!!!\n"); + if ((xs = ahc->platform_data->sc_xxxq.lh_first) != NULL) + (void) ahc_action(xs); + return; + } +#endif + LIST_REMOVE(scb, pending_links); if ((scb->flags & SCB_UNTAGGEDQ) != 0) { struct scb_tailq *untagged_q; @@ -926,9 +923,9 @@ get_scb: panic("ahc: queuing for busy target"); #endif - scb->flags = SCB_FREE; scb->io_ctx = xs; hscb = scb->hscb; + hscb->control = 0; timeout_set(&xs->stimeout, ahc_timeout, scb); @@ -1117,6 +1114,18 @@ ahc_execute_scb(arg, dm_segs, nsegments) LIST_INSERT_HEAD(&ahc->pending_scbs, scb, pending_links); +#ifdef AHC_DEBUG + if ((ahc_debug & AHC_SHOWCMDS)) { + ahc_print_path(ahc, scb); + printf("opcode 0x%x tag %x len %d flags %x " + "control %x fpos %u rate %x\n", + xs->cmdstore.opcode, scb->hscb->tag, + scb->hscb->cdb_len, scb->flags, + scb->hscb->control, ahc->qinfifonext, + scb->hscb->scsirate); + } +#endif + /* * We only allow one untagged transaction * per target in the initiator role unless @@ -1138,7 +1147,7 @@ ahc_execute_scb(arg, dm_segs, nsegments) scb->flags |= SCB_UNTAGGEDQ; if (TAILQ_FIRST(untagged_q) != scb) { ahc_unlock(ahc, &s); - return (COMPLETE); + return (SUCCESSFULLY_QUEUED); } } @@ -1160,17 +1169,6 @@ ahc_execute_scb(arg, dm_segs, nsegments) ahc_queue_scb(ahc, scb); } -#ifdef AHC_DEBUG - if ((ahc_debug & AHC_SHOWCMDS)) { - ahc_print_path(ahc, scb); - printf("opcode 0x%x tag %x len %d flags %x " - "control %x fpos %u rate %x\n", - xs->cmdstore.opcode, scb->hscb->tag, - scb->hscb->cdb_len, scb->flags, - scb->hscb->control, ahc->qinfifonext, - scb->hscb->scsirate); - } -#endif if (!(xs->flags & SCSI_POLL)) { ahc_unlock(ahc, &s); @@ -1199,9 +1197,9 @@ ahc_poll(ahc, wait) int wait; /* in msec */ { while (--wait) { - if (ahc->platform_data->pci_intr_func) - (void)ahc->platform_data->pci_intr_func(ahc); DELAY(1000); + if ((ahc->chip & AHC_PCI) != 0 && (ahc_inb(ahc, ERROR) & PCIERRSTAT) != 0) + ahc->bus_intr(ahc); if (ahc_inb(ahc, INTSTAT) & INT_PEND) break; } @@ -1602,7 +1600,6 @@ ahc_platform_alloc(ahc, platform_arg) /* Just do some initialization... */ ahc->scb_data = NULL; ahc->platform_data->ih = NULL; - ahc->platform_data->pci_intr_func = NULL; ahc->platform_data->channel_b_primary = FALSE; return (0); @@ -1638,18 +1635,18 @@ ahc_check_tags(ahc, xs) return; ahc_compile_devinfo(&devinfo, - SCSI_SCSI_ID(ahc, xs->sc_link), - XS_SCSI_ID(xs), - XS_LUN(xs), - SCSI_CHANNEL(ahc, xs->sc_link), - ROLE_INITIATOR); + SCSI_SCSI_ID(ahc, xs->sc_link), + XS_SCSI_ID(xs), + XS_LUN(xs), + SCSI_CHANNEL(ahc, xs->sc_link), + ROLE_INITIATOR); ahc_set_tags(ahc, &devinfo, AHC_QUEUE_TAGGED); printf("%s: target %d using tagged queuing\n", - ahc_name(ahc), XS_SCSI_ID(xs)); + ahc_name(ahc), XS_SCSI_ID(xs)); - if (ahc->scb_data->maxhscbs >= 16 || + if (ahc->scb_data->maxhscbs >= 16 || (ahc->flags & AHC_PAGESCBS)) { /* Default to 16 tags */ xs->sc_link->openings += 14; @@ -1729,3 +1726,83 @@ ahc_dump_targcmd(cmd) } #endif +#ifndef AHC_INLINES +/* + * This is a hack to keep from modifying the main + * driver code as much as possible. This function + * does CAM to SCSI api stuff. + */ +void ahc_set_transaction_status(scb, status) + struct scb *scb; + uint32_t status; +{ + /* don't wipe the error */ + if (scb->io_ctx->error == XS_NOERROR){ + switch (status) { + case CAM_CMD_TIMEOUT: + status = XS_TIMEOUT; + break; + case CAM_BDR_SENT: + case CAM_SCSI_BUS_RESET: + status = XS_RESET; + break; + case CAM_UNEXP_BUSFREE: + case CAM_REQ_TOO_BIG: + case CAM_REQ_ABORTED: + case CAM_AUTOSENSE_FAIL: + case CAM_NO_HBA: + status = XS_DRIVER_STUFFUP; + break; + case CAM_SEL_TIMEOUT: + status = XS_SELTIMEOUT; + break; + case CAM_REQUEUE_REQ: + scb->platform_data->flags |= SCB_REQUEUE; + scb->io_ctx->error = XS_NOERROR; + break; + case CAM_SCSI_STATUS_ERROR: + default: + status = scb->io_ctx->error; + break; + } + } else { + status = scb->io_ctx->error; + } + scb->io_ctx->error = status; +} + +void ahc_set_transaction_tag(scb, enabled, type) + struct scb *scb; + int enabled; + u_int type; +{ + struct scsi_xfer *xs = scb->io_ctx; + switch (type) { + case MSG_SIMPLE_TASK: + if (enabled) + xs->sc_link->quirks &= ~SDEV_NOTAGS; + else + xs->sc_link->quirks |= SDEV_NOTAGS; + break; + } +} + +void ahc_platform_scb_free(ahc, scb) + struct ahc_softc *ahc; + struct scb *scb; +{ + int s; + + ahc_lock(ahc, &s); + + if ((ahc->flags & AHC_RESOURCE_SHORTAGE) != 0 || + (scb->flags & SCB_RECOVERY_SCB) != 0) { + ahc->flags &= ~AHC_RESOURCE_SHORTAGE; + ahc->platform_data->queue_blocked = 0; + } + + timeout_del(&scb->io_ctx->stimeout); + + ahc_unlock(ahc, &s); +} +#endif diff --git a/sys/dev/ic/aic7xxx_openbsd.h b/sys/dev/ic/aic7xxx_openbsd.h index 7f1a9f7a59a..1bee8d7bb32 100644 --- a/sys/dev/ic/aic7xxx_openbsd.h +++ b/sys/dev/ic/aic7xxx_openbsd.h @@ -30,10 +30,10 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: aic7xxx_openbsd.h,v 1.6 2002/07/01 23:31:05 smurph Exp $ + * $Id: aic7xxx_openbsd.h,v 1.7 2002/07/05 05:41:03 smurph Exp $ * * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx_freebsd.h,v 1.12 2001/07/18 21:39:47 gibbs Exp $ - * $OpenBSD: aic7xxx_openbsd.h,v 1.6 2002/07/01 23:31:05 smurph Exp $ + * $OpenBSD: aic7xxx_openbsd.h,v 1.7 2002/07/05 05:41:03 smurph Exp $ */ #ifndef _AIC7XXX_OPENBSD_H_ @@ -253,9 +253,6 @@ struct ahc_platform_data { void *ih; int channel_b_primary; - /* for pci error interrupts */ - int(*pci_intr_func)(struct ahc_softc *); - /* queue management */ int queue_blocked; u_int16_t devqueue_blocked[AHC_NUM_TARGETS]; @@ -311,6 +308,7 @@ struct scb_platform_data { #define ahc_insb(ahc, port, valp, count) \ bus_space_read_multi_1((ahc)->tag, (ahc)->bsh, port, valp, count) + static __inline void ahc_flush_device_writes(struct ahc_softc *); static __inline void @@ -323,6 +321,7 @@ ahc_flush_device_writes(ahc) /**************************** Locking Primitives ******************************/ /* Lock protecting internal data structures */ +#ifdef AHC_INLINES static __inline void ahc_lockinit(struct ahc_softc *); static __inline void ahc_lock(struct ahc_softc *, int *flags); static __inline void ahc_unlock(struct ahc_softc *, int *flags); @@ -379,15 +378,37 @@ ahc_done_unlock(ahc, flags) /* Nothing to do here for OpenBSD */ } +#else + +#define ahc_lockinit(ahc); +#define ahc_lock(ahc, flags) *(flags) = splbio() +#define ahc_unlock(ahc, flags) splx(*(flags)) +#define ahc_done_lockinit(ahc); +#define ahc_done_lock(ahc, flags); +#define ahc_done_unlock(ahc, flags); + +#endif + /****************************** OS Primitives *********************************/ #define ahc_delay delay /************************** Transaction Operations ****************************/ + +#ifdef AHC_INLINES static __inline void ahc_set_transaction_status(struct scb *, uint32_t); +static __inline void ahc_set_transaction_tag(struct scb *, int, u_int); +static __inline void ahc_platform_scb_free(struct ahc_softc *ahc, + struct scb *scb); +#else +void ahc_set_transaction_status(struct scb *, uint32_t); +void ahc_set_transaction_tag(struct scb *, int, u_int); +void ahc_platform_scb_free(struct ahc_softc *ahc, + struct scb *scb); +#endif + static __inline void ahc_set_scsi_status(struct scb *, uint32_t); static __inline uint32_t ahc_get_transaction_status(struct scb *); static __inline uint32_t ahc_get_scsi_status(struct scb *); -static __inline void ahc_set_transaction_tag(struct scb *, int, u_int); static __inline u_long ahc_get_transfer_length(struct scb *); static __inline int ahc_get_transfer_dir(struct scb *); static __inline void ahc_set_residual(struct scb *, u_long); @@ -398,16 +419,14 @@ static __inline uint32_t ahc_get_sense_bufsize(struct ahc_softc*, struct scb*); static __inline void ahc_freeze_scb(struct scb *scb); static __inline void ahc_platform_freeze_devq(struct ahc_softc *, struct scb *); static __inline int ahc_platform_abort_scbs(struct ahc_softc *ahc, int target, - char channel, int lun, u_int tag, + char channel, int lun, u_int tag, role_t role, uint32_t status); -static __inline void ahc_platform_scb_free(struct ahc_softc *ahc, - struct scb *scb); - /* * This is a hack to keep from modifying the main * driver code as much as possible. This function * does CAM to SCSI api stuff. */ +#ifdef AHC_INLINES static __inline void ahc_set_transaction_status(scb, status) struct scb *scb; @@ -447,7 +466,7 @@ void ahc_set_transaction_status(scb, status) } scb->io_ctx->error = status; } - +#endif static __inline void ahc_set_scsi_status(scb, status) struct scb *scb; @@ -476,6 +495,7 @@ uint32_t ahc_get_scsi_status(scb) return (scb->io_ctx->status); } +#ifdef AHC_INLINE static __inline void ahc_set_transaction_tag(scb, enabled, type) struct scb *scb; @@ -492,7 +512,7 @@ void ahc_set_transaction_tag(scb, enabled, type) break; } } - +#endif static __inline u_long ahc_get_transfer_length(scb) struct scb *scb; @@ -582,6 +602,7 @@ ahc_platform_abort_scbs(ahc, target, channel, lun, tag, role, status) return (0); } +#ifdef AHC_INLINE static __inline void ahc_platform_scb_free(ahc, scb) struct ahc_softc *ahc; @@ -601,6 +622,7 @@ ahc_platform_scb_free(ahc, scb) ahc_unlock(ahc, &s); } +#endif /********************************** PCI ***************************************/ #ifdef AHC_PCI_CONFIG diff --git a/sys/dev/ic/aic7xxxreg.h b/sys/dev/ic/aic7xxxreg.h index af493294aa1..a551d49ba8a 100644 --- a/sys/dev/ic/aic7xxxreg.h +++ b/sys/dev/ic/aic7xxxreg.h @@ -1,10 +1,10 @@ -/* $OpenBSD: aic7xxxreg.h,v 1.11 2002/06/30 19:39:09 smurph Exp $ */ +/* $OpenBSD: aic7xxxreg.h,v 1.12 2002/07/05 05:41:03 smurph Exp $ */ /* * DO NOT EDIT - This file is automatically generated * from the following source files: * - * $Id: aic7xxxreg.h,v 1.11 2002/06/30 19:39:09 smurph Exp $ - * $Id: aic7xxxreg.h,v 1.11 2002/06/30 19:39:09 smurph Exp $ + * $Id: aic7xxxreg.h,v 1.12 2002/07/05 05:41:03 smurph Exp $ + * $Id: aic7xxxreg.h,v 1.12 2002/07/05 05:41:03 smurph Exp $ */ #define SCSISEQ 0x00 diff --git a/sys/dev/microcode/aic7xxx/aic7xxx.seq b/sys/dev/microcode/aic7xxx/aic7xxx.seq index 66bdf6f42bf..b8122d7ad5d 100644 --- a/sys/dev/microcode/aic7xxx/aic7xxx.seq +++ b/sys/dev/microcode/aic7xxx/aic7xxx.seq @@ -1,4 +1,4 @@ -/* $OpenBSD: aic7xxx.seq,v 1.12 2002/06/30 18:25:58 smurph Exp $ */ +/* $OpenBSD: aic7xxx.seq,v 1.13 2002/07/05 05:41:03 smurph Exp $ */ /* * Adaptec 274x/284x/294x device driver firmware for Linux and FreeBSD. * @@ -32,7 +32,7 @@ * $FreeBSD: src/sys/dev/aic7xxx/aic7xxx.seq,v 1.119 2001/08/05 22:20:12 gibbs Exp $ */ -VERSION = "$Id: aic7xxx.seq,v 1.12 2002/06/30 18:25:58 smurph Exp $" +VERSION = "$Id: aic7xxx.seq,v 1.13 2002/07/05 05:41:03 smurph Exp $" PATCH_ARG_LIST = "struct ahc_softc *ahc" #include <dev/microcode/aic7xxx/aic7xxx.reg> @@ -335,8 +335,10 @@ if ((ahc->flags & AHC_INITIATORROLE) != 0) { */ initiator_reselect: /* XXX test for and handle ONE BIT condition */ - or SXFRCTL0, SPIOEN|CLRSTCNT|CLRCHN; - and SAVED_SCSIID, SELID_MASK, SELID; + test SELID, ONEBIT jnz await_busfree; + + or SXFRCTL0, SPIOEN|CLRSTCNT|CLRCHN; + and SAVED_SCSIID, SELID_MASK, SELID; if ((ahc->features & AHC_ULTRA2) != 0) { and A, OID, SCSIID_ULTRA2; } else { @@ -1647,6 +1649,7 @@ mesgin_disconnect: test SCSISIGI, ATNI jnz mesgin_done; */ + test SCSISIGI, ATNI jnz mesgin_done; or SCB_CONTROL,DISCONNECTED; if ((ahc->flags & AHC_PAGESCBS) != 0) { call add_scb_to_disc_list; diff --git a/sys/dev/microcode/aic7xxx/aic7xxx_seq.h b/sys/dev/microcode/aic7xxx/aic7xxx_seq.h index 81359508043..9362e42b28c 100644 --- a/sys/dev/microcode/aic7xxx/aic7xxx_seq.h +++ b/sys/dev/microcode/aic7xxx/aic7xxx_seq.h @@ -1,15 +1,15 @@ -/* $OpenBSD: aic7xxx_seq.h,v 1.9 2002/06/30 18:25:58 smurph Exp $ */ +/* $OpenBSD: aic7xxx_seq.h,v 1.10 2002/07/05 05:41:03 smurph Exp $ */ /* * DO NOT EDIT - This file is automatically generated * from the following source files: * - * $Id: aic7xxx_seq.h,v 1.9 2002/06/30 18:25:58 smurph Exp $ - * $Id: aic7xxx_seq.h,v 1.9 2002/06/30 18:25:58 smurph Exp $ + * $Id: aic7xxx_seq.h,v 1.10 2002/07/05 05:41:03 smurph Exp $ + * $Id: aic7xxx_seq.h,v 1.10 2002/07/05 05:41:03 smurph Exp $ */ static u_int8_t seqprog[] = { 0xb2, 0x00, 0x00, 0x08, 0xf7, 0x11, 0x22, 0x08, - 0x00, 0x65, 0xde, 0x59, + 0x00, 0x65, 0xe0, 0x59, 0xf7, 0x01, 0x02, 0x08, 0xff, 0x6a, 0x24, 0x08, 0x40, 0x00, 0x40, 0x68, @@ -22,15 +22,15 @@ static u_int8_t seqprog[] = { 0x01, 0x4d, 0xc8, 0x30, 0x00, 0x4c, 0x12, 0x70, 0x01, 0x39, 0xa2, 0x30, - 0x00, 0x6a, 0xa6, 0x5e, + 0x00, 0x6a, 0xaa, 0x5e, 0x01, 0x51, 0x20, 0x31, 0x01, 0x57, 0xae, 0x00, 0x0d, 0x6a, 0x76, 0x00, - 0x00, 0x51, 0xf8, 0x5d, + 0x00, 0x51, 0xfc, 0x5d, 0x01, 0x51, 0xc8, 0x30, - 0x00, 0x39, 0xd8, 0x60, + 0x00, 0x39, 0xda, 0x60, 0x00, 0xbb, 0x30, 0x70, - 0xc1, 0x6a, 0xbe, 0x5e, + 0xc1, 0x6a, 0xc2, 0x5e, 0x01, 0xbf, 0x72, 0x30, 0x01, 0x40, 0x7e, 0x31, 0x01, 0x90, 0x80, 0x30, @@ -38,22 +38,22 @@ static u_int8_t seqprog[] = { 0x01, 0x4d, 0x9a, 0x18, 0xfe, 0x57, 0xae, 0x08, 0x01, 0x40, 0x20, 0x31, - 0x00, 0x65, 0xdc, 0x58, + 0x00, 0x65, 0xde, 0x58, 0x60, 0x0b, 0x40, 0x78, 0x08, 0x6a, 0x18, 0x00, 0x08, 0x11, 0x22, 0x00, 0x60, 0x0b, 0x00, 0x78, - 0x40, 0x0b, 0x0c, 0x69, + 0x40, 0x0b, 0x0e, 0x69, 0x80, 0x0b, 0xc6, 0x78, 0x20, 0x6a, 0x16, 0x00, 0xa4, 0x6a, 0x06, 0x00, 0x08, 0x3c, 0x78, 0x00, 0x01, 0x50, 0xc8, 0x30, 0xe0, 0x6a, 0xcc, 0x00, - 0x48, 0x6a, 0xe2, 0x5d, + 0x48, 0x6a, 0xe6, 0x5d, 0x01, 0x6a, 0xdc, 0x01, 0x88, 0x6a, 0xcc, 0x00, - 0x48, 0x6a, 0xe2, 0x5d, + 0x48, 0x6a, 0xe6, 0x5d, 0x01, 0x6a, 0x26, 0x01, 0xf0, 0x19, 0x7a, 0x08, 0x0f, 0x18, 0xc8, 0x08, @@ -64,81 +64,82 @@ static u_int8_t seqprog[] = { 0x80, 0x3d, 0x7a, 0x00, 0x01, 0x3d, 0xd8, 0x31, 0x01, 0x3d, 0x32, 0x31, - 0x10, 0x03, 0x56, 0x79, - 0x00, 0x65, 0x04, 0x59, + 0x10, 0x03, 0x58, 0x79, + 0x00, 0x65, 0x06, 0x59, 0x80, 0x66, 0xa2, 0x78, 0x01, 0x66, 0xd8, 0x31, 0x01, 0x66, 0x32, 0x31, 0x40, 0x66, 0x80, 0x68, 0x01, 0x3c, 0x78, 0x00, 0x10, 0x03, 0xaa, 0x78, - 0x00, 0x65, 0x04, 0x59, + 0x00, 0x65, 0x06, 0x59, 0xe0, 0x66, 0xc8, 0x18, 0x00, 0x65, 0xaa, 0x50, 0xdd, 0x66, 0xc8, 0x18, 0x00, 0x65, 0xaa, 0x48, 0x01, 0x66, 0xd8, 0x31, 0x01, 0x66, 0x32, 0x31, - 0x10, 0x03, 0x56, 0x79, - 0x00, 0x65, 0x04, 0x59, + 0x10, 0x03, 0x58, 0x79, + 0x00, 0x65, 0x06, 0x59, 0x01, 0x66, 0xd8, 0x31, 0x01, 0x66, 0x32, 0x31, 0x01, 0x66, 0xac, 0x30, 0x40, 0x3c, 0x78, 0x00, 0x10, 0x03, 0xa0, 0x78, - 0x00, 0x65, 0x04, 0x59, + 0x00, 0x65, 0x06, 0x59, 0x00, 0x65, 0xaa, 0x40, - 0x61, 0x6a, 0xbe, 0x5e, - 0x08, 0x51, 0x2e, 0x71, + 0x61, 0x6a, 0xc2, 0x5e, + 0x08, 0x51, 0x30, 0x71, 0x02, 0x0b, 0xa6, 0x78, 0x00, 0x65, 0xa2, 0x40, 0x80, 0x86, 0xc8, 0x08, 0x01, 0x4f, 0xc8, 0x30, 0x00, 0x50, 0xbc, 0x60, - 0xc4, 0x6a, 0x54, 0x5d, + 0xc4, 0x6a, 0x58, 0x5d, 0x40, 0x3c, 0xb8, 0x78, - 0x28, 0x6a, 0x6a, 0x5d, - 0x00, 0x65, 0x54, 0x41, - 0x08, 0x6a, 0x6a, 0x5d, - 0x00, 0x65, 0x54, 0x41, + 0x28, 0x6a, 0x6e, 0x5d, + 0x00, 0x65, 0x56, 0x41, + 0x08, 0x6a, 0x6e, 0x5d, + 0x00, 0x65, 0x56, 0x41, 0xff, 0x6a, 0xd8, 0x01, 0xff, 0x6a, 0x32, 0x01, 0x90, 0x3c, 0x78, 0x00, - 0x10, 0x03, 0x4a, 0x69, - 0x00, 0x65, 0x2e, 0x41, + 0x10, 0x03, 0x4c, 0x69, + 0x00, 0x65, 0x30, 0x41, + 0x08, 0x19, 0xd2, 0x69, 0x1a, 0x01, 0x02, 0x00, 0xf0, 0x19, 0x7a, 0x08, 0x0f, 0x0f, 0xc8, 0x08, 0x0f, 0x05, 0xc8, 0x08, 0x00, 0x3d, 0x7a, 0x00, - 0x08, 0x1f, 0xd4, 0x78, + 0x08, 0x1f, 0xd6, 0x78, 0x80, 0x3d, 0x7a, 0x00, 0x20, 0x6a, 0x16, 0x00, - 0x00, 0x65, 0xbe, 0x41, - 0x00, 0x65, 0x98, 0x5e, + 0x00, 0x65, 0xc0, 0x41, + 0x00, 0x65, 0x9c, 0x5e, 0x00, 0x65, 0x12, 0x40, - 0x20, 0x11, 0xe2, 0x68, + 0x20, 0x11, 0xe4, 0x68, 0x20, 0x6a, 0x18, 0x00, 0x20, 0x11, 0x22, 0x00, 0xf7, 0x1f, 0xca, 0x08, - 0x80, 0xb9, 0xe8, 0x78, + 0x80, 0xb9, 0xea, 0x78, 0x08, 0x65, 0xca, 0x00, 0x01, 0x65, 0x3e, 0x30, 0x01, 0xb9, 0x1e, 0x30, 0x7f, 0xb9, 0x0a, 0x08, 0x01, 0xb9, 0x0a, 0x30, 0x01, 0x54, 0xca, 0x30, - 0x80, 0xb8, 0xf6, 0x78, + 0x80, 0xb8, 0xf8, 0x78, 0x80, 0x65, 0xca, 0x00, 0x01, 0x65, 0x00, 0x34, 0x01, 0x54, 0x00, 0x34, 0x1a, 0x01, 0x02, 0x00, - 0x08, 0xb8, 0x00, 0x79, + 0x08, 0xb8, 0x02, 0x79, 0x20, 0x01, 0x02, 0x00, 0x02, 0xbd, 0x08, 0x34, 0x01, 0xbd, 0x08, 0x34, 0x08, 0x01, 0x02, 0x00, - 0x02, 0x0b, 0x06, 0x79, + 0x02, 0x0b, 0x08, 0x79, 0xf7, 0x01, 0x02, 0x08, 0x01, 0x06, 0xcc, 0x34, 0xb2, 0x00, 0x00, 0x08, @@ -147,105 +148,105 @@ static u_int8_t seqprog[] = { 0x01, 0xbf, 0x80, 0x30, 0x01, 0xb9, 0x7a, 0x30, 0x01, 0xba, 0x7c, 0x30, - 0x00, 0x65, 0xfa, 0x58, - 0x80, 0x0b, 0xba, 0x79, - 0xe4, 0x6a, 0x54, 0x5d, - 0x80, 0xba, 0x6a, 0x5d, - 0x20, 0xb8, 0x26, 0x79, - 0x20, 0x6a, 0x6a, 0x5d, - 0x00, 0xa3, 0x6a, 0x5d, + 0x00, 0x65, 0xfc, 0x58, + 0x80, 0x0b, 0xbc, 0x79, + 0xe4, 0x6a, 0x58, 0x5d, + 0x80, 0xba, 0x6e, 0x5d, + 0x20, 0xb8, 0x28, 0x79, + 0x20, 0x6a, 0x6e, 0x5d, + 0x00, 0xa3, 0x6e, 0x5d, 0x01, 0xa0, 0x78, 0x30, - 0x10, 0xb8, 0x2e, 0x79, - 0xe4, 0x6a, 0x54, 0x5d, + 0x10, 0xb8, 0x30, 0x79, + 0xe4, 0x6a, 0x58, 0x5d, 0x00, 0x65, 0xa2, 0x40, - 0x10, 0x03, 0x46, 0x69, - 0x08, 0x3c, 0x62, 0x69, - 0x04, 0x3c, 0x88, 0x69, - 0x02, 0x3c, 0x8e, 0x69, - 0x01, 0x3c, 0x4c, 0x79, + 0x10, 0x03, 0x48, 0x69, + 0x08, 0x3c, 0x64, 0x69, + 0x04, 0x3c, 0x8a, 0x69, + 0x02, 0x3c, 0x90, 0x69, + 0x01, 0x3c, 0x4e, 0x79, 0x01, 0x6a, 0xa2, 0x30, - 0x00, 0x65, 0x9a, 0x59, - 0x04, 0x51, 0x3c, 0x61, - 0x00, 0x6a, 0xa6, 0x5e, + 0x00, 0x65, 0x9c, 0x59, + 0x04, 0x51, 0x3e, 0x61, + 0x00, 0x6a, 0xaa, 0x5e, 0x0d, 0x6a, 0x76, 0x00, - 0x00, 0xbb, 0xf8, 0x5d, - 0x00, 0x65, 0x26, 0x41, + 0x00, 0xbb, 0xfc, 0x5d, + 0x00, 0x65, 0x28, 0x41, 0xa4, 0x6a, 0x06, 0x00, - 0x00, 0x65, 0x04, 0x59, + 0x00, 0x65, 0x06, 0x59, 0x00, 0x65, 0xa2, 0x40, - 0xe4, 0x6a, 0x54, 0x5d, - 0x20, 0x3c, 0x52, 0x79, - 0x02, 0x6a, 0x6a, 0x5d, - 0x04, 0x6a, 0x6a, 0x5d, - 0x01, 0x03, 0x54, 0x69, + 0xe4, 0x6a, 0x58, 0x5d, + 0x20, 0x3c, 0x54, 0x79, + 0x02, 0x6a, 0x6e, 0x5d, + 0x04, 0x6a, 0x6e, 0x5d, + 0x01, 0x03, 0x56, 0x69, 0xf7, 0x11, 0x22, 0x08, 0xff, 0x6a, 0x24, 0x08, 0xff, 0x6a, 0x06, 0x08, 0x01, 0x6a, 0x7e, 0x00, - 0x00, 0x65, 0x9a, 0x59, + 0x00, 0x65, 0x9c, 0x59, 0x00, 0x65, 0x04, 0x40, - 0x84, 0x6a, 0x54, 0x5d, - 0x00, 0x65, 0x04, 0x59, + 0x84, 0x6a, 0x58, 0x5d, + 0x00, 0x65, 0x06, 0x59, 0x01, 0x66, 0xc8, 0x30, 0x01, 0x64, 0xd8, 0x31, 0x01, 0x64, 0x32, 0x31, 0x5b, 0x64, 0xc8, 0x28, 0x30, 0x64, 0xca, 0x18, 0x01, 0x6c, 0xc8, 0x30, - 0xff, 0x64, 0x84, 0x79, + 0xff, 0x64, 0x86, 0x79, 0x08, 0x01, 0x02, 0x00, - 0x02, 0x0b, 0x76, 0x79, - 0x01, 0x64, 0x7c, 0x61, + 0x02, 0x0b, 0x78, 0x79, + 0x01, 0x64, 0x7e, 0x61, 0xf7, 0x01, 0x02, 0x08, 0x01, 0x06, 0xd8, 0x31, 0x01, 0x06, 0x32, 0x31, 0xff, 0x64, 0xc8, 0x18, - 0xff, 0x64, 0x76, 0x69, + 0xff, 0x64, 0x78, 0x69, 0xf7, 0x3c, 0x78, 0x08, - 0x00, 0x65, 0x2e, 0x41, + 0x00, 0x65, 0x30, 0x41, 0x40, 0xa1, 0x7e, 0x10, - 0x04, 0xa1, 0x54, 0x5d, - 0x00, 0x65, 0x50, 0x42, - 0xc4, 0x6a, 0x54, 0x5d, + 0x04, 0xa1, 0x58, 0x5d, + 0x00, 0x65, 0x52, 0x42, + 0xc4, 0x6a, 0x58, 0x5d, 0xc0, 0x6a, 0x7e, 0x00, - 0x00, 0xa2, 0x6a, 0x5d, + 0x00, 0xa2, 0x6e, 0x5d, 0xe4, 0x6a, 0x06, 0x00, - 0x00, 0x6a, 0x6a, 0x5d, - 0x00, 0x65, 0x54, 0x41, - 0x10, 0x3c, 0x9e, 0x69, - 0x00, 0xbb, 0x74, 0x44, + 0x00, 0x6a, 0x6e, 0x5d, + 0x00, 0x65, 0x56, 0x41, + 0x10, 0x3c, 0xa0, 0x69, + 0x00, 0xbb, 0x76, 0x44, 0x18, 0x6a, 0xda, 0x01, 0x01, 0x69, 0xd8, 0x31, 0x1c, 0x6a, 0xd0, 0x01, 0x09, 0xee, 0xdc, 0x01, - 0x80, 0xee, 0xa6, 0x79, + 0x80, 0xee, 0xa8, 0x79, 0xff, 0x6a, 0xdc, 0x09, 0x01, 0x93, 0x26, 0x01, 0x03, 0x6a, 0x2a, 0x01, 0x01, 0x69, 0x32, 0x31, - 0x1c, 0x6a, 0xc6, 0x5d, + 0x1c, 0x6a, 0xca, 0x5d, 0x0a, 0x93, 0x26, 0x01, - 0x00, 0x65, 0x8e, 0x5e, + 0x00, 0x65, 0x92, 0x5e, 0x01, 0x50, 0xa0, 0x18, 0x02, 0x6a, 0x22, 0x05, 0x80, 0x6a, 0x74, 0x00, 0x80, 0x3c, 0x78, 0x00, - 0x00, 0x65, 0xbe, 0x5d, + 0x00, 0x65, 0xc2, 0x5d, 0x01, 0x3f, 0xc8, 0x30, - 0xbf, 0x64, 0x50, 0x7a, - 0x80, 0x64, 0x9a, 0x73, - 0xa0, 0x64, 0xf8, 0x73, - 0xc0, 0x64, 0xec, 0x73, - 0xe0, 0x64, 0x28, 0x74, - 0x01, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0xbe, 0x41, + 0xbf, 0x64, 0x52, 0x7a, + 0x80, 0x64, 0x9c, 0x73, + 0xa0, 0x64, 0xfa, 0x73, + 0xc0, 0x64, 0xee, 0x73, + 0xe0, 0x64, 0x2a, 0x74, + 0x01, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0xc0, 0x41, 0xf7, 0x11, 0x22, 0x08, 0x01, 0x06, 0xd4, 0x30, 0xff, 0x6a, 0x24, 0x08, 0xf7, 0x01, 0x02, 0x08, - 0x09, 0x0c, 0xd8, 0x79, + 0x09, 0x0c, 0xda, 0x79, 0x08, 0x0c, 0x04, 0x68, - 0xb1, 0x6a, 0xbe, 0x5e, + 0xb1, 0x6a, 0xc2, 0x5e, 0xff, 0x6a, 0x26, 0x09, 0x12, 0x01, 0x02, 0x00, 0x02, 0x6a, 0x08, 0x30, @@ -258,33 +259,33 @@ static u_int8_t seqprog[] = { 0x00, 0xa5, 0x4a, 0x21, 0x00, 0xa6, 0x4c, 0x21, 0x00, 0xa7, 0x4e, 0x25, - 0x08, 0xeb, 0xc2, 0x7e, - 0x80, 0xeb, 0xf8, 0x79, + 0x08, 0xeb, 0xc6, 0x7e, + 0x80, 0xeb, 0xfa, 0x79, 0xff, 0x6a, 0xd6, 0x09, - 0x08, 0xeb, 0xfc, 0x69, + 0x08, 0xeb, 0xfe, 0x69, 0xff, 0x6a, 0xd4, 0x0c, - 0x80, 0xa3, 0xc2, 0x6e, - 0x88, 0xeb, 0x12, 0x72, - 0x08, 0xeb, 0xc2, 0x6e, - 0x04, 0xea, 0x16, 0xe2, - 0x08, 0xee, 0xc2, 0x6e, + 0x80, 0xa3, 0xc6, 0x6e, + 0x88, 0xeb, 0x14, 0x72, + 0x08, 0xeb, 0xc6, 0x6e, + 0x04, 0xea, 0x18, 0xe2, + 0x08, 0xee, 0xc6, 0x6e, 0x04, 0x6a, 0xd0, 0x81, 0x05, 0xa4, 0xc0, 0x89, 0x03, 0xa5, 0xc2, 0x31, 0x09, 0x6a, 0xd6, 0x05, - 0x00, 0x65, 0xfa, 0x59, + 0x00, 0x65, 0xfc, 0x59, 0x06, 0xa4, 0xd4, 0x89, - 0x80, 0x94, 0xc2, 0x7e, + 0x80, 0x94, 0xc6, 0x7e, 0x07, 0xe9, 0x10, 0x31, - 0x01, 0x8c, 0x1e, 0x7a, + 0x01, 0x8c, 0x20, 0x7a, 0x01, 0x55, 0xaa, 0x10, 0x01, 0xe9, 0x46, 0x31, - 0x00, 0xa3, 0xa0, 0x5e, - 0x00, 0x65, 0xec, 0x59, + 0x00, 0xa3, 0xa4, 0x5e, + 0x00, 0x65, 0xee, 0x59, 0x01, 0xa4, 0xca, 0x30, - 0x01, 0x55, 0x2a, 0x7a, + 0x01, 0x55, 0x2c, 0x7a, 0x04, 0x65, 0xca, 0x00, - 0x80, 0xa3, 0x2e, 0x7a, + 0x80, 0xa3, 0x30, 0x7a, 0x02, 0x65, 0xca, 0x00, 0x01, 0x65, 0xf8, 0x31, 0x80, 0x93, 0x26, 0x01, @@ -292,168 +293,168 @@ static u_int8_t seqprog[] = { 0x01, 0x8c, 0xc8, 0x30, 0x00, 0x88, 0xc8, 0x18, 0x02, 0x64, 0xc8, 0x88, - 0xff, 0x64, 0xc2, 0x7e, - 0xff, 0x8d, 0x44, 0x6a, - 0xff, 0x8e, 0x44, 0x6a, + 0xff, 0x64, 0xc6, 0x7e, + 0xff, 0x8d, 0x46, 0x6a, + 0xff, 0x8e, 0x46, 0x6a, 0x03, 0x8c, 0xd4, 0x98, - 0x00, 0x65, 0xc2, 0x56, + 0x00, 0x65, 0xc6, 0x56, 0x01, 0x64, 0x70, 0x30, 0xff, 0x64, 0xc8, 0x10, 0x01, 0x64, 0xc8, 0x18, 0x00, 0x8c, 0x18, 0x19, 0xff, 0x8d, 0x1a, 0x21, 0xff, 0x8e, 0x1c, 0x25, - 0x80, 0x3c, 0x54, 0x6a, - 0x21, 0x6a, 0xbe, 0x46, + 0x80, 0x3c, 0x56, 0x6a, + 0x21, 0x6a, 0xc2, 0x46, 0xa8, 0x6a, 0x76, 0x00, 0x79, 0x6a, 0x76, 0x00, - 0x40, 0x3f, 0x5c, 0x6a, + 0x40, 0x3f, 0x5e, 0x6a, 0x04, 0x3b, 0x76, 0x00, 0x04, 0x6a, 0xd4, 0x81, - 0x20, 0x3c, 0x64, 0x7a, - 0x51, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0x7e, 0x42, + 0x20, 0x3c, 0x66, 0x7a, + 0x51, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0x80, 0x42, 0x20, 0x3c, 0x78, 0x00, - 0x00, 0xb3, 0xa0, 0x5e, + 0x00, 0xb3, 0xa4, 0x5e, 0x07, 0xac, 0x10, 0x31, 0x05, 0xb3, 0x46, 0x31, 0x88, 0x6a, 0xcc, 0x00, - 0xac, 0x6a, 0xd4, 0x5d, + 0xac, 0x6a, 0xd8, 0x5d, 0xa3, 0x6a, 0xcc, 0x00, - 0xb3, 0x6a, 0xd8, 0x5d, - 0x00, 0x65, 0x34, 0x5a, + 0xb3, 0x6a, 0xdc, 0x5d, + 0x00, 0x65, 0x36, 0x5a, 0xfd, 0xa4, 0x48, 0x09, 0x01, 0x8c, 0xaa, 0x08, 0x03, 0x8c, 0x10, 0x30, - 0x00, 0x65, 0xcc, 0x5d, - 0x01, 0xa4, 0x90, 0x7a, + 0x00, 0x65, 0xd0, 0x5d, + 0x01, 0xa4, 0x92, 0x7a, 0x04, 0x3b, 0x76, 0x08, 0x01, 0x3b, 0x26, 0x31, 0x80, 0x02, 0x04, 0x00, - 0x10, 0x0c, 0x86, 0x7a, - 0x03, 0x9e, 0x88, 0x6a, + 0x10, 0x0c, 0x88, 0x7a, + 0x03, 0x9e, 0x8a, 0x6a, 0x7f, 0x02, 0x04, 0x08, - 0x91, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0xbe, 0x41, + 0x91, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0xc0, 0x41, 0x01, 0xa4, 0xca, 0x30, - 0x80, 0xa3, 0x96, 0x7a, + 0x80, 0xa3, 0x98, 0x7a, 0x02, 0x65, 0xca, 0x00, - 0x01, 0x55, 0x9a, 0x7a, + 0x01, 0x55, 0x9c, 0x7a, 0x04, 0x65, 0xca, 0x00, 0x01, 0x65, 0xf8, 0x31, 0x01, 0x3b, 0x26, 0x31, - 0x00, 0x65, 0x00, 0x5a, - 0x01, 0xfc, 0xa8, 0x6a, - 0x80, 0x0b, 0x9e, 0x6a, - 0x10, 0x0c, 0x9e, 0x7a, - 0x20, 0x93, 0x9e, 0x6a, + 0x00, 0x65, 0x02, 0x5a, + 0x01, 0xfc, 0xaa, 0x6a, + 0x80, 0x0b, 0xa0, 0x6a, + 0x10, 0x0c, 0xa0, 0x7a, + 0x20, 0x93, 0xa0, 0x6a, 0x02, 0x93, 0x26, 0x01, - 0x02, 0xfc, 0xb2, 0x7a, - 0x40, 0x0d, 0xcc, 0x6a, + 0x02, 0xfc, 0xb4, 0x7a, + 0x40, 0x0d, 0xce, 0x6a, 0x01, 0xa4, 0x48, 0x01, - 0x00, 0x65, 0xcc, 0x42, - 0x40, 0x0d, 0xb8, 0x6a, - 0x00, 0x65, 0x00, 0x5a, - 0x00, 0x65, 0xaa, 0x42, - 0x80, 0xfc, 0xc2, 0x7a, - 0x80, 0xa4, 0xc2, 0x6a, + 0x00, 0x65, 0xce, 0x42, + 0x40, 0x0d, 0xba, 0x6a, + 0x00, 0x65, 0x02, 0x5a, + 0x00, 0x65, 0xac, 0x42, + 0x80, 0xfc, 0xc4, 0x7a, + 0x80, 0xa4, 0xc4, 0x6a, 0xff, 0xa5, 0x4a, 0x19, 0xff, 0xa6, 0x4c, 0x21, 0xff, 0xa7, 0x4e, 0x21, 0xf8, 0xfc, 0x48, 0x09, 0xff, 0x6a, 0xaa, 0x08, - 0x04, 0xfc, 0xca, 0x7a, + 0x04, 0xfc, 0xcc, 0x7a, 0x01, 0x55, 0xaa, 0x00, 0xff, 0x6a, 0x46, 0x09, - 0x04, 0x3b, 0xe4, 0x6a, + 0x04, 0x3b, 0xe6, 0x6a, 0x02, 0x93, 0x26, 0x01, - 0x01, 0x94, 0xce, 0x7a, - 0x01, 0x94, 0xce, 0x7a, - 0x01, 0x94, 0xce, 0x7a, - 0x01, 0x94, 0xce, 0x7a, - 0x01, 0x94, 0xce, 0x7a, - 0x01, 0xa4, 0xe2, 0x7a, - 0x01, 0xfc, 0xdc, 0x7a, - 0x01, 0x94, 0xe4, 0x6a, - 0x00, 0x65, 0x7e, 0x42, - 0x01, 0x94, 0xe2, 0x7a, - 0x10, 0x94, 0xe4, 0x6a, + 0x01, 0x94, 0xd0, 0x7a, + 0x01, 0x94, 0xd0, 0x7a, + 0x01, 0x94, 0xd0, 0x7a, + 0x01, 0x94, 0xd0, 0x7a, + 0x01, 0x94, 0xd0, 0x7a, + 0x01, 0xa4, 0xe4, 0x7a, + 0x01, 0xfc, 0xde, 0x7a, + 0x01, 0x94, 0xe6, 0x6a, + 0x00, 0x65, 0x80, 0x42, + 0x01, 0x94, 0xe4, 0x7a, + 0x10, 0x94, 0xe6, 0x6a, 0xd7, 0x93, 0x26, 0x09, - 0x28, 0x93, 0xe8, 0x6a, + 0x28, 0x93, 0xea, 0x6a, 0x01, 0x85, 0x0a, 0x01, - 0x02, 0xfc, 0xf0, 0x6a, + 0x02, 0xfc, 0xf2, 0x6a, 0x01, 0x14, 0x46, 0x31, 0xff, 0x6a, 0x10, 0x09, 0xfe, 0x85, 0x0a, 0x09, - 0xff, 0x38, 0xfe, 0x6a, - 0x80, 0xa3, 0xfe, 0x7a, - 0x80, 0x0b, 0xfc, 0x7a, - 0x04, 0x3b, 0xfe, 0x7a, + 0xff, 0x38, 0x00, 0x6b, + 0x80, 0xa3, 0x00, 0x7b, + 0x80, 0x0b, 0xfe, 0x7a, + 0x04, 0x3b, 0x00, 0x7b, 0xbf, 0x3b, 0x76, 0x08, 0x01, 0x3b, 0x26, 0x31, - 0x00, 0x65, 0x00, 0x5a, - 0x01, 0x0b, 0x0c, 0x6b, - 0x10, 0x0c, 0x00, 0x7b, - 0x04, 0x93, 0x0a, 0x6b, - 0x01, 0x94, 0x08, 0x7b, - 0x10, 0x94, 0x0a, 0x6b, + 0x00, 0x65, 0x02, 0x5a, + 0x01, 0x0b, 0x0e, 0x6b, + 0x10, 0x0c, 0x02, 0x7b, + 0x04, 0x93, 0x0c, 0x6b, + 0x01, 0x94, 0x0a, 0x7b, + 0x10, 0x94, 0x0c, 0x6b, 0xc7, 0x93, 0x26, 0x09, 0x01, 0x99, 0xd4, 0x30, - 0x38, 0x93, 0x0e, 0x6b, - 0xff, 0x08, 0x60, 0x6b, - 0xff, 0x09, 0x60, 0x6b, - 0xff, 0x0a, 0x60, 0x6b, - 0xff, 0x38, 0x2a, 0x7b, + 0x38, 0x93, 0x10, 0x6b, + 0xff, 0x08, 0x62, 0x6b, + 0xff, 0x09, 0x62, 0x6b, + 0xff, 0x0a, 0x62, 0x6b, + 0xff, 0x38, 0x2c, 0x7b, 0x04, 0x14, 0x10, 0x31, 0x01, 0x38, 0x18, 0x31, 0x02, 0x6a, 0x1a, 0x31, 0x88, 0x6a, 0xcc, 0x00, - 0x14, 0x6a, 0xda, 0x5d, - 0x00, 0x38, 0xc6, 0x5d, + 0x14, 0x6a, 0xde, 0x5d, + 0x00, 0x38, 0xca, 0x5d, 0xff, 0x6a, 0x70, 0x08, - 0x00, 0x65, 0x56, 0x43, - 0x80, 0xa3, 0x30, 0x7b, + 0x00, 0x65, 0x58, 0x43, + 0x80, 0xa3, 0x32, 0x7b, 0x01, 0xa4, 0x48, 0x01, - 0x00, 0x65, 0x60, 0x43, - 0x08, 0xeb, 0x36, 0x7b, - 0x00, 0x65, 0x00, 0x5a, - 0x08, 0xeb, 0x32, 0x6b, + 0x00, 0x65, 0x62, 0x43, + 0x08, 0xeb, 0x38, 0x7b, + 0x00, 0x65, 0x02, 0x5a, + 0x08, 0xeb, 0x34, 0x6b, 0x07, 0xe9, 0x10, 0x31, 0x01, 0xe9, 0xca, 0x30, 0x01, 0x65, 0x46, 0x31, - 0x00, 0x6a, 0xa0, 0x5e, + 0x00, 0x6a, 0xa4, 0x5e, 0x88, 0x6a, 0xcc, 0x00, - 0xa4, 0x6a, 0xda, 0x5d, - 0x08, 0x6a, 0xc6, 0x5d, + 0xa4, 0x6a, 0xde, 0x5d, + 0x08, 0x6a, 0xca, 0x5d, 0x0d, 0x93, 0x26, 0x01, - 0x00, 0x65, 0x8e, 0x5e, + 0x00, 0x65, 0x92, 0x5e, 0x88, 0x6a, 0xcc, 0x00, - 0x00, 0x65, 0x70, 0x5e, + 0x00, 0x65, 0x74, 0x5e, 0x01, 0x99, 0x46, 0x31, - 0x00, 0xa3, 0xa0, 0x5e, + 0x00, 0xa3, 0xa4, 0x5e, 0x01, 0x88, 0x10, 0x31, - 0x00, 0x65, 0x34, 0x5a, - 0x00, 0x65, 0xec, 0x59, + 0x00, 0x65, 0x36, 0x5a, + 0x00, 0x65, 0xee, 0x59, 0x03, 0x8c, 0x10, 0x30, - 0x00, 0x65, 0xcc, 0x5d, - 0x01, 0x8c, 0x5e, 0x7b, + 0x00, 0x65, 0xd0, 0x5d, + 0x01, 0x8c, 0x60, 0x7b, 0x01, 0x55, 0xaa, 0x10, - 0x80, 0x0b, 0x7e, 0x6a, - 0x80, 0x0b, 0x68, 0x6b, - 0x01, 0x0c, 0x62, 0x7b, - 0x10, 0x0c, 0x7e, 0x7a, - 0x03, 0x9e, 0x7e, 0x6a, - 0x00, 0x65, 0xf6, 0x59, - 0x00, 0x6a, 0xa0, 0x5e, - 0x01, 0xa4, 0x88, 0x6b, - 0xff, 0x38, 0x7e, 0x7b, + 0x80, 0x0b, 0x80, 0x6a, + 0x80, 0x0b, 0x6a, 0x6b, + 0x01, 0x0c, 0x64, 0x7b, + 0x10, 0x0c, 0x80, 0x7a, + 0x03, 0x9e, 0x80, 0x6a, + 0x00, 0x65, 0xf8, 0x59, + 0x00, 0x6a, 0xa4, 0x5e, + 0x01, 0xa4, 0x8a, 0x6b, + 0xff, 0x38, 0x80, 0x7b, 0x01, 0x38, 0xc8, 0x30, 0x00, 0x08, 0x40, 0x19, 0xff, 0x6a, 0xc8, 0x08, 0x00, 0x09, 0x42, 0x21, 0x00, 0x0a, 0x44, 0x21, 0xff, 0x6a, 0x70, 0x08, - 0x00, 0x65, 0x80, 0x43, + 0x00, 0x65, 0x82, 0x43, 0x03, 0x08, 0x40, 0x31, 0x03, 0x08, 0x40, 0x31, 0x01, 0x08, 0x40, 0x31, @@ -462,14 +463,14 @@ static u_int8_t seqprog[] = { 0xfd, 0xb4, 0x68, 0x09, 0x12, 0x01, 0x02, 0x00, 0x12, 0x01, 0x02, 0x00, - 0x04, 0x3c, 0xbe, 0x79, + 0x04, 0x3c, 0xc0, 0x79, 0xfb, 0x3c, 0x78, 0x08, - 0x04, 0x93, 0x2e, 0x79, - 0x01, 0x0c, 0x94, 0x6b, - 0x00, 0x65, 0x2e, 0x41, - 0x00, 0x65, 0xbe, 0x41, - 0x80, 0x3c, 0x9e, 0x6b, - 0x21, 0x6a, 0xbe, 0x46, + 0x04, 0x93, 0x30, 0x79, + 0x01, 0x0c, 0x96, 0x6b, + 0x00, 0x65, 0x30, 0x41, + 0x00, 0x65, 0xc0, 0x41, + 0x80, 0x3c, 0xa0, 0x6b, + 0x21, 0x6a, 0xc2, 0x46, 0x01, 0xbc, 0x18, 0x31, 0x02, 0x6a, 0x1a, 0x31, 0x02, 0x6a, 0xf8, 0x01, @@ -479,16 +480,16 @@ static u_int8_t seqprog[] = { 0xff, 0x6a, 0x12, 0x08, 0xff, 0x6a, 0x14, 0x08, 0xf3, 0xbc, 0xd4, 0x18, - 0xa0, 0x6a, 0xc4, 0x53, + 0xa0, 0x6a, 0xc6, 0x53, 0x04, 0xa0, 0x10, 0x31, 0xac, 0x6a, 0x26, 0x01, 0x04, 0xa0, 0x10, 0x31, 0x03, 0x08, 0x18, 0x31, 0x88, 0x6a, 0xcc, 0x00, - 0xa0, 0x6a, 0xda, 0x5d, - 0x00, 0xbc, 0xc6, 0x5d, + 0xa0, 0x6a, 0xde, 0x5d, + 0x00, 0xbc, 0xca, 0x5d, 0x3d, 0x6a, 0x26, 0x01, - 0x00, 0x65, 0xdc, 0x43, + 0x00, 0x65, 0xde, 0x43, 0xff, 0x6a, 0x10, 0x09, 0xa4, 0x6a, 0x26, 0x01, 0x0c, 0xa0, 0x32, 0x31, @@ -498,117 +499,118 @@ static u_int8_t seqprog[] = { 0x36, 0x6a, 0x26, 0x01, 0x02, 0x93, 0x26, 0x01, 0x35, 0x6a, 0x26, 0x01, - 0x00, 0x65, 0x82, 0x5e, - 0x00, 0x65, 0x82, 0x5e, + 0x00, 0x65, 0x86, 0x5e, + 0x00, 0x65, 0x86, 0x5e, 0x02, 0x93, 0x26, 0x01, - 0x04, 0x0b, 0xe0, 0x6b, - 0x10, 0x0c, 0xdc, 0x7b, - 0x01, 0x03, 0xe0, 0x6b, - 0x20, 0x93, 0xdc, 0x6b, + 0x04, 0x0b, 0xe2, 0x6b, + 0x10, 0x0c, 0xde, 0x7b, + 0x01, 0x03, 0xe2, 0x6b, + 0x20, 0x93, 0xde, 0x6b, 0xc7, 0x93, 0x26, 0x09, - 0x38, 0x93, 0xe6, 0x6b, + 0x38, 0x93, 0xe8, 0x6b, 0x10, 0x01, 0x02, 0x00, - 0x00, 0x65, 0xbe, 0x41, - 0x80, 0x3c, 0xf0, 0x6b, - 0x21, 0x6a, 0xbe, 0x46, + 0x00, 0x65, 0xc0, 0x41, + 0x80, 0x3c, 0xf2, 0x6b, + 0x21, 0x6a, 0xc2, 0x46, 0x01, 0x06, 0x50, 0x31, - 0x00, 0x65, 0xbe, 0x41, + 0x00, 0x65, 0xc0, 0x41, 0x10, 0x3f, 0x06, 0x00, 0x10, 0x6a, 0x06, 0x00, 0x01, 0x3a, 0xca, 0x30, - 0x80, 0x65, 0x14, 0x64, - 0x10, 0xb8, 0x38, 0x6c, + 0x80, 0x65, 0x16, 0x64, + 0x10, 0xb8, 0x3a, 0x6c, 0xc0, 0xba, 0xca, 0x00, - 0x40, 0xb8, 0x04, 0x6c, + 0x40, 0xb8, 0x06, 0x6c, 0xbf, 0x65, 0xca, 0x08, - 0x20, 0xb8, 0x18, 0x7c, + 0x20, 0xb8, 0x1a, 0x7c, 0x01, 0x65, 0x0c, 0x30, - 0x00, 0x65, 0xbe, 0x5d, - 0xa0, 0x3f, 0x20, 0x64, + 0x00, 0x65, 0xc2, 0x5d, + 0xa0, 0x3f, 0x22, 0x64, 0x23, 0xb8, 0x0c, 0x08, - 0x00, 0x65, 0xbe, 0x5d, - 0xa0, 0x3f, 0x20, 0x64, - 0x00, 0xbb, 0x18, 0x44, - 0xff, 0x65, 0x18, 0x64, - 0x00, 0x65, 0x38, 0x44, + 0x00, 0x65, 0xc2, 0x5d, + 0xa0, 0x3f, 0x22, 0x64, + 0x00, 0xbb, 0x1a, 0x44, + 0xff, 0x65, 0x1a, 0x64, + 0x00, 0x65, 0x3a, 0x44, 0x40, 0x6a, 0x18, 0x00, 0x01, 0x65, 0x0c, 0x30, - 0x00, 0x65, 0xbe, 0x5d, - 0xa0, 0x3f, 0xf4, 0x73, + 0x00, 0x65, 0xc2, 0x5d, + 0xa0, 0x3f, 0xf6, 0x73, 0x40, 0x6a, 0x18, 0x00, 0x01, 0x3a, 0xa6, 0x30, 0x08, 0x6a, 0x74, 0x00, - 0x00, 0x65, 0xbe, 0x41, - 0x64, 0x6a, 0x4e, 0x5d, - 0x80, 0x64, 0xbe, 0x6c, - 0x04, 0x64, 0x84, 0x74, - 0x02, 0x64, 0x92, 0x74, - 0x00, 0x6a, 0x54, 0x74, - 0x03, 0x64, 0xb0, 0x74, - 0x23, 0x64, 0x40, 0x74, - 0x08, 0x64, 0x50, 0x74, - 0x61, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0xbe, 0x5d, - 0x08, 0x51, 0xc0, 0x71, - 0x00, 0x65, 0x38, 0x44, - 0x80, 0x04, 0x4e, 0x7c, - 0x51, 0x6a, 0x44, 0x5d, - 0x01, 0x51, 0x4e, 0x64, - 0x01, 0xa4, 0x4a, 0x7c, - 0x01, 0x55, 0x50, 0x7c, - 0x41, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0x50, 0x44, - 0x07, 0x6a, 0x3a, 0x5d, + 0x00, 0x65, 0xc0, 0x41, + 0x64, 0x6a, 0x52, 0x5d, + 0x80, 0x64, 0xc2, 0x6c, + 0x04, 0x64, 0x86, 0x74, + 0x02, 0x64, 0x96, 0x74, + 0x00, 0x6a, 0x56, 0x74, + 0x03, 0x64, 0xb4, 0x74, + 0x23, 0x64, 0x42, 0x74, + 0x08, 0x64, 0x52, 0x74, + 0x61, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0xc2, 0x5d, + 0x08, 0x51, 0xc2, 0x71, + 0x00, 0x65, 0x3a, 0x44, + 0x80, 0x04, 0x50, 0x7c, + 0x51, 0x6a, 0x48, 0x5d, + 0x01, 0x51, 0x50, 0x64, + 0x01, 0xa4, 0x4c, 0x7c, + 0x01, 0x55, 0x52, 0x7c, + 0x41, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0x52, 0x44, + 0x07, 0x6a, 0x3e, 0x5d, 0x01, 0x06, 0xd4, 0x30, - 0x00, 0x65, 0xbe, 0x41, - 0x10, 0xb8, 0x58, 0x7c, - 0xa1, 0x6a, 0xbe, 0x5e, - 0x01, 0xb4, 0x5e, 0x6c, - 0x02, 0xb4, 0x60, 0x6c, - 0x01, 0xa4, 0x60, 0x7c, - 0xff, 0xa8, 0x70, 0x7c, + 0x00, 0x65, 0xc0, 0x41, + 0x10, 0xb8, 0x5a, 0x7c, + 0xa1, 0x6a, 0xc2, 0x5e, + 0x01, 0xb4, 0x60, 0x6c, + 0x02, 0xb4, 0x62, 0x6c, + 0x01, 0xa4, 0x62, 0x7c, + 0xff, 0xa8, 0x72, 0x7c, 0x04, 0xb4, 0x68, 0x01, 0x01, 0x6a, 0x76, 0x00, - 0x00, 0xbb, 0xf8, 0x5d, - 0xff, 0xa8, 0x70, 0x7c, - 0x71, 0x6a, 0xbe, 0x5e, - 0x40, 0x51, 0x70, 0x64, - 0x00, 0x65, 0x98, 0x5e, - 0x00, 0x65, 0xd0, 0x41, - 0x00, 0xbb, 0x74, 0x5c, - 0x00, 0x65, 0xd0, 0x41, - 0x00, 0x65, 0x98, 0x5e, + 0x00, 0xbb, 0xfc, 0x5d, + 0xff, 0xa8, 0x72, 0x7c, + 0x71, 0x6a, 0xc2, 0x5e, + 0x40, 0x51, 0x72, 0x64, + 0x00, 0x65, 0x9c, 0x5e, + 0x00, 0x65, 0xd2, 0x41, + 0x00, 0xbb, 0x76, 0x5c, + 0x00, 0x65, 0xd2, 0x41, + 0x00, 0x65, 0x9c, 0x5e, 0x01, 0x65, 0xa2, 0x30, 0x01, 0xf8, 0xc8, 0x30, 0x01, 0x4e, 0xc8, 0x30, - 0x00, 0x6a, 0x9c, 0xdd, - 0x00, 0x51, 0xae, 0x5d, + 0x00, 0x6a, 0xa0, 0xdd, + 0x00, 0x51, 0xb2, 0x5d, 0x01, 0x4e, 0x9c, 0x18, 0x02, 0x6a, 0x22, 0x05, + 0x10, 0x03, 0x52, 0x6c, 0x04, 0xb8, 0x70, 0x01, - 0x00, 0x65, 0xba, 0x5e, - 0x20, 0xb8, 0xd0, 0x69, + 0x00, 0x65, 0xbe, 0x5e, + 0x20, 0xb8, 0xd2, 0x69, 0x01, 0xbb, 0xa2, 0x30, 0x01, 0xba, 0x7c, 0x30, - 0x00, 0xb9, 0xb4, 0x5c, - 0x00, 0x65, 0xd0, 0x41, + 0x00, 0xb9, 0xb8, 0x5c, + 0x00, 0x65, 0xd2, 0x41, 0x01, 0x06, 0xd4, 0x30, - 0x20, 0x3c, 0xbe, 0x79, - 0x20, 0x3c, 0x50, 0x7c, - 0x01, 0xa4, 0xa0, 0x7c, + 0x20, 0x3c, 0xc0, 0x79, + 0x20, 0x3c, 0x52, 0x7c, + 0x01, 0xa4, 0xa4, 0x7c, 0x01, 0xb4, 0x68, 0x01, - 0x00, 0x65, 0xbe, 0x41, - 0x00, 0x65, 0x50, 0x44, + 0x00, 0x65, 0xc0, 0x41, + 0x00, 0x65, 0x52, 0x44, 0x04, 0x14, 0x58, 0x31, 0x01, 0x06, 0xd4, 0x30, 0x08, 0xa0, 0x60, 0x31, 0xac, 0x6a, 0xcc, 0x00, - 0x14, 0x6a, 0xda, 0x5d, + 0x14, 0x6a, 0xde, 0x5d, 0x01, 0x06, 0xd4, 0x30, - 0xa0, 0x6a, 0xd2, 0x5d, - 0x00, 0x65, 0xbe, 0x41, + 0xa0, 0x6a, 0xd6, 0x5d, + 0x00, 0x65, 0xc0, 0x41, 0xdf, 0x3c, 0x78, 0x08, - 0x00, 0x65, 0x50, 0x44, + 0x00, 0x65, 0x52, 0x44, 0x4c, 0x65, 0xcc, 0x28, 0x01, 0x3e, 0x20, 0x31, 0xd0, 0x66, 0xcc, 0x18, @@ -619,102 +621,102 @@ static u_int8_t seqprog[] = { 0xd0, 0x65, 0xca, 0x18, 0x01, 0x3e, 0x20, 0x31, 0x30, 0x65, 0xd4, 0x18, - 0x00, 0x65, 0xcc, 0x4c, + 0x00, 0x65, 0xd0, 0x4c, 0xe1, 0x6a, 0x22, 0x01, 0xff, 0x6a, 0xd4, 0x08, 0x20, 0x65, 0xd4, 0x18, - 0x00, 0x65, 0xd4, 0x54, + 0x00, 0x65, 0xd8, 0x54, 0xe1, 0x6a, 0x22, 0x01, 0xff, 0x6a, 0xd4, 0x08, 0x20, 0x65, 0xca, 0x18, 0xe0, 0x65, 0xd4, 0x18, - 0x00, 0x65, 0xde, 0x4c, + 0x00, 0x65, 0xe2, 0x4c, 0xe1, 0x6a, 0x22, 0x01, 0xff, 0x6a, 0xd4, 0x08, 0xd0, 0x65, 0xd4, 0x18, - 0x00, 0x65, 0xe6, 0x54, + 0x00, 0x65, 0xea, 0x54, 0xe1, 0x6a, 0x22, 0x01, 0xff, 0x6a, 0xd4, 0x08, 0x01, 0x6c, 0xa2, 0x30, - 0xff, 0x51, 0xf8, 0x74, - 0x00, 0x51, 0x74, 0x5d, + 0xff, 0x51, 0xfc, 0x74, + 0x00, 0x51, 0x78, 0x5d, 0x01, 0x51, 0x20, 0x31, - 0x00, 0x65, 0x1a, 0x45, + 0x00, 0x65, 0x1e, 0x45, 0x01, 0xba, 0xc8, 0x30, - 0x00, 0x3e, 0x1a, 0x75, - 0x00, 0x65, 0x96, 0x5e, + 0x00, 0x3e, 0x1e, 0x75, + 0x00, 0x65, 0x9a, 0x5e, 0x80, 0x3c, 0x78, 0x00, 0x01, 0x06, 0xd4, 0x30, - 0x00, 0x65, 0xbe, 0x5d, + 0x00, 0x65, 0xc2, 0x5d, 0x01, 0x3c, 0x78, 0x00, - 0xe0, 0x3f, 0x36, 0x65, + 0xe0, 0x3f, 0x3a, 0x65, 0x02, 0x3c, 0x78, 0x00, - 0x20, 0x12, 0x36, 0x65, - 0x51, 0x6a, 0x44, 0x5d, - 0x00, 0x51, 0x74, 0x5d, - 0x51, 0x6a, 0x44, 0x5d, + 0x20, 0x12, 0x3a, 0x65, + 0x51, 0x6a, 0x48, 0x5d, + 0x00, 0x51, 0x78, 0x5d, + 0x51, 0x6a, 0x48, 0x5d, 0x01, 0x51, 0x20, 0x31, 0x04, 0x3c, 0x78, 0x00, 0x01, 0xb9, 0xc8, 0x30, - 0x00, 0x3d, 0x34, 0x65, + 0x00, 0x3d, 0x38, 0x65, 0x08, 0x3c, 0x78, 0x00, 0x01, 0xba, 0xc8, 0x30, - 0x00, 0x3e, 0x34, 0x65, + 0x00, 0x3e, 0x38, 0x65, 0x10, 0x3c, 0x78, 0x00, - 0x04, 0xb8, 0x34, 0x7d, + 0x04, 0xb8, 0x38, 0x7d, 0xfb, 0xb8, 0x70, 0x09, - 0x20, 0xb8, 0x2a, 0x6d, + 0x20, 0xb8, 0x2e, 0x6d, 0x01, 0x90, 0xc8, 0x30, 0xff, 0x6a, 0xa2, 0x00, - 0x00, 0x3d, 0xb4, 0x5c, + 0x00, 0x3d, 0xb8, 0x5c, 0x01, 0x64, 0x20, 0x31, 0x80, 0x6a, 0x78, 0x00, - 0x00, 0x65, 0xfc, 0x58, - 0x10, 0xb8, 0x50, 0x7c, - 0xff, 0x6a, 0x3a, 0x5d, - 0x00, 0x65, 0x50, 0x44, - 0x00, 0x65, 0x96, 0x5e, - 0x31, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0x50, 0x44, + 0x00, 0x65, 0xfe, 0x58, + 0x10, 0xb8, 0x52, 0x7c, + 0xff, 0x6a, 0x3e, 0x5d, + 0x00, 0x65, 0x52, 0x44, + 0x00, 0x65, 0x9a, 0x5e, + 0x31, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0x52, 0x44, 0x10, 0x3f, 0x06, 0x00, 0x10, 0x6a, 0x06, 0x00, 0x01, 0x65, 0x74, 0x34, - 0x81, 0x6a, 0xbe, 0x5e, - 0x00, 0x65, 0x46, 0x45, + 0x81, 0x6a, 0xc2, 0x5e, + 0x00, 0x65, 0x4a, 0x45, 0x01, 0x06, 0xd4, 0x30, - 0x01, 0x0c, 0x46, 0x7d, - 0x04, 0x0c, 0x40, 0x6d, + 0x01, 0x0c, 0x4a, 0x7d, + 0x04, 0x0c, 0x44, 0x6d, 0xe0, 0x03, 0x7e, 0x08, - 0xe0, 0x3f, 0xbe, 0x61, + 0xe0, 0x3f, 0xc0, 0x61, 0x01, 0x65, 0xcc, 0x30, 0x01, 0x12, 0xda, 0x34, 0x01, 0x06, 0xd4, 0x34, - 0x01, 0x03, 0x54, 0x6d, + 0x01, 0x03, 0x58, 0x6d, 0x40, 0x03, 0xcc, 0x08, 0x01, 0x65, 0x06, 0x30, 0x40, 0x65, 0xc8, 0x08, - 0x00, 0x66, 0x62, 0x75, - 0x40, 0x65, 0x62, 0x7d, - 0x00, 0x65, 0x62, 0x5d, + 0x00, 0x66, 0x66, 0x75, + 0x40, 0x65, 0x66, 0x7d, + 0x00, 0x65, 0x66, 0x5d, 0xff, 0x6a, 0xd4, 0x08, 0xff, 0x6a, 0xd4, 0x08, 0xff, 0x6a, 0xd4, 0x08, 0xff, 0x6a, 0xd4, 0x0c, 0x08, 0x01, 0x02, 0x00, - 0x02, 0x0b, 0x6c, 0x7d, - 0x01, 0x65, 0x0c, 0x30, 0x02, 0x0b, 0x70, 0x7d, + 0x01, 0x65, 0x0c, 0x30, + 0x02, 0x0b, 0x74, 0x7d, 0xf7, 0x01, 0x02, 0x0c, 0x01, 0x65, 0xc8, 0x30, - 0xff, 0x41, 0x94, 0x75, + 0xff, 0x41, 0x98, 0x75, 0x01, 0x41, 0x20, 0x31, 0xff, 0x6a, 0xa4, 0x00, - 0x00, 0x65, 0x84, 0x45, - 0xff, 0xbf, 0x94, 0x75, + 0x00, 0x65, 0x88, 0x45, + 0xff, 0xbf, 0x98, 0x75, 0x01, 0x90, 0xa4, 0x30, 0x01, 0xbf, 0x20, 0x31, - 0x00, 0xbb, 0x7e, 0x65, - 0xff, 0x52, 0x92, 0x75, + 0x00, 0xbb, 0x82, 0x65, + 0xff, 0x52, 0x96, 0x75, 0x01, 0xbf, 0xcc, 0x30, 0x01, 0x90, 0xca, 0x30, 0x01, 0x52, 0x20, 0x31, @@ -722,28 +724,28 @@ static u_int8_t seqprog[] = { 0x01, 0x65, 0x20, 0x35, 0x01, 0xbf, 0x82, 0x34, 0x01, 0x64, 0xa2, 0x30, - 0x00, 0x6a, 0xa6, 0x5e, + 0x00, 0x6a, 0xaa, 0x5e, 0x0d, 0x6a, 0x76, 0x00, - 0x00, 0x51, 0xf8, 0x45, + 0x00, 0x51, 0xfc, 0x45, 0x01, 0x65, 0xa4, 0x30, 0xe0, 0x6a, 0xcc, 0x00, - 0x48, 0x6a, 0xec, 0x5d, + 0x48, 0x6a, 0xf0, 0x5d, 0x01, 0x6a, 0xd0, 0x01, 0x01, 0x6a, 0xdc, 0x05, 0x88, 0x6a, 0xcc, 0x00, - 0x48, 0x6a, 0xec, 0x5d, - 0x01, 0x6a, 0xc6, 0x5d, + 0x48, 0x6a, 0xf0, 0x5d, + 0x01, 0x6a, 0xca, 0x5d, 0x01, 0x6a, 0x26, 0x05, 0x01, 0x65, 0xd8, 0x31, 0x09, 0xee, 0xdc, 0x01, - 0x80, 0xee, 0xb2, 0x7d, + 0x80, 0xee, 0xb6, 0x7d, 0xff, 0x6a, 0xdc, 0x0d, 0x01, 0x65, 0x32, 0x31, 0x0a, 0x93, 0x26, 0x01, - 0x00, 0x65, 0x8e, 0x46, - 0x81, 0x6a, 0xbe, 0x5e, - 0x01, 0x0c, 0xbe, 0x7d, - 0x04, 0x0c, 0xbc, 0x6d, + 0x00, 0x65, 0x92, 0x46, + 0x81, 0x6a, 0xc2, 0x5e, + 0x01, 0x0c, 0xc2, 0x7d, + 0x04, 0x0c, 0xc0, 0x6d, 0xe0, 0x03, 0x06, 0x08, 0xe0, 0x03, 0x7e, 0x0c, 0x01, 0x65, 0x18, 0x31, @@ -762,7 +764,7 @@ static u_int8_t seqprog[] = { 0x01, 0x6c, 0xda, 0x34, 0x3d, 0x64, 0xa4, 0x28, 0x55, 0x64, 0xc8, 0x28, - 0x00, 0x65, 0xec, 0x45, + 0x00, 0x65, 0xf0, 0x45, 0x2e, 0x64, 0xa4, 0x28, 0x66, 0x64, 0xc8, 0x28, 0x00, 0x6c, 0xda, 0x18, @@ -773,63 +775,63 @@ static u_int8_t seqprog[] = { 0x00, 0x6c, 0xda, 0x24, 0x01, 0x65, 0xc8, 0x30, 0xe0, 0x6a, 0xcc, 0x00, - 0x44, 0x6a, 0xe8, 0x5d, + 0x44, 0x6a, 0xec, 0x5d, 0x01, 0x90, 0xe2, 0x31, - 0x04, 0x3b, 0x0c, 0x7e, + 0x04, 0x3b, 0x10, 0x7e, 0x30, 0x6a, 0xd0, 0x01, 0x20, 0x6a, 0xd0, 0x01, 0x1d, 0x6a, 0xdc, 0x01, - 0xdc, 0xee, 0x08, 0x66, - 0x00, 0x65, 0x24, 0x46, + 0xdc, 0xee, 0x0c, 0x66, + 0x00, 0x65, 0x28, 0x46, 0x20, 0x6a, 0xd0, 0x01, 0x01, 0x6a, 0xdc, 0x01, 0x20, 0xa0, 0xd8, 0x31, 0x09, 0xee, 0xdc, 0x01, - 0x80, 0xee, 0x14, 0x7e, + 0x80, 0xee, 0x18, 0x7e, 0x11, 0x6a, 0xdc, 0x01, - 0x50, 0xee, 0x18, 0x66, + 0x50, 0xee, 0x1c, 0x66, 0x20, 0x6a, 0xd0, 0x01, 0x09, 0x6a, 0xdc, 0x01, - 0x88, 0xee, 0x1e, 0x66, + 0x88, 0xee, 0x22, 0x66, 0x19, 0x6a, 0xdc, 0x01, - 0xd8, 0xee, 0x22, 0x66, + 0xd8, 0xee, 0x26, 0x66, 0xff, 0x6a, 0xdc, 0x09, - 0x18, 0xee, 0x26, 0x6e, + 0x18, 0xee, 0x2a, 0x6e, 0xff, 0x6a, 0xd4, 0x0c, 0x88, 0x6a, 0xcc, 0x00, - 0x44, 0x6a, 0xe8, 0x5d, - 0x20, 0x6a, 0xc6, 0x5d, + 0x44, 0x6a, 0xec, 0x5d, + 0x20, 0x6a, 0xca, 0x5d, 0x01, 0x3b, 0x26, 0x31, - 0x04, 0x3b, 0x40, 0x6e, + 0x04, 0x3b, 0x44, 0x6e, 0xa0, 0x6a, 0xca, 0x00, 0x20, 0x65, 0xc8, 0x18, - 0x00, 0x65, 0x7e, 0x5e, - 0x00, 0x65, 0x38, 0x66, + 0x00, 0x65, 0x82, 0x5e, + 0x00, 0x65, 0x3c, 0x66, 0x0a, 0x93, 0x26, 0x01, - 0x00, 0x65, 0x8e, 0x46, + 0x00, 0x65, 0x92, 0x46, 0xa0, 0x6a, 0xcc, 0x00, 0xff, 0x6a, 0xc8, 0x08, - 0x20, 0x94, 0x44, 0x6e, - 0x10, 0x94, 0x46, 0x6e, - 0x08, 0x94, 0x60, 0x6e, - 0x08, 0x94, 0x60, 0x6e, - 0x08, 0x94, 0x60, 0x6e, + 0x20, 0x94, 0x48, 0x6e, + 0x10, 0x94, 0x4a, 0x6e, + 0x08, 0x94, 0x64, 0x6e, + 0x08, 0x94, 0x64, 0x6e, + 0x08, 0x94, 0x64, 0x6e, 0xff, 0x8c, 0xc8, 0x10, 0xc1, 0x64, 0xc8, 0x18, 0xf8, 0x64, 0xc8, 0x08, 0x01, 0x99, 0xda, 0x30, - 0x00, 0x66, 0x54, 0x66, - 0xc0, 0x66, 0x90, 0x76, + 0x00, 0x66, 0x58, 0x66, + 0xc0, 0x66, 0x94, 0x76, 0x60, 0x66, 0xc8, 0x18, 0x3d, 0x64, 0xc8, 0x28, - 0x00, 0x65, 0x44, 0x46, + 0x00, 0x65, 0x48, 0x46, 0xf7, 0x93, 0x26, 0x09, - 0x08, 0x93, 0x62, 0x6e, + 0x08, 0x93, 0x66, 0x6e, 0x00, 0x62, 0xc4, 0x18, - 0x00, 0x65, 0x8e, 0x5e, - 0x00, 0x65, 0x6e, 0x5e, - 0x00, 0x65, 0x6e, 0x5e, - 0x00, 0x65, 0x6e, 0x5e, + 0x00, 0x65, 0x92, 0x5e, + 0x00, 0x65, 0x72, 0x5e, + 0x00, 0x65, 0x72, 0x5e, + 0x00, 0x65, 0x72, 0x5e, 0x01, 0x99, 0xda, 0x30, 0x01, 0x99, 0xda, 0x30, 0x01, 0x99, 0xda, 0x30, @@ -846,11 +848,11 @@ static u_int8_t seqprog[] = { 0x01, 0x6c, 0x32, 0x31, 0x01, 0x6c, 0x32, 0x31, 0x01, 0x6c, 0x32, 0x35, - 0x08, 0x94, 0x8e, 0x7e, + 0x08, 0x94, 0x92, 0x7e, 0xf7, 0x93, 0x26, 0x09, - 0x08, 0x93, 0x92, 0x6e, + 0x08, 0x93, 0x96, 0x6e, 0xff, 0x6a, 0xd4, 0x0c, - 0x04, 0xb8, 0xba, 0x6e, + 0x04, 0xb8, 0xbe, 0x6e, 0x01, 0x42, 0x7e, 0x31, 0xff, 0x6a, 0x76, 0x01, 0x01, 0x90, 0x84, 0x34, @@ -858,14 +860,14 @@ static u_int8_t seqprog[] = { 0x01, 0x85, 0x0a, 0x01, 0x7f, 0x65, 0x10, 0x09, 0xfe, 0x85, 0x0a, 0x0d, - 0xff, 0x42, 0xb6, 0x66, - 0xff, 0x41, 0xae, 0x66, - 0xd1, 0x6a, 0xbe, 0x5e, + 0xff, 0x42, 0xba, 0x66, + 0xff, 0x41, 0xb2, 0x66, + 0xd1, 0x6a, 0xc2, 0x5e, 0xff, 0x6a, 0xca, 0x04, 0x01, 0x41, 0x20, 0x31, 0x01, 0xbf, 0x82, 0x30, 0x01, 0x6a, 0x76, 0x00, - 0x00, 0xbb, 0xf8, 0x45, + 0x00, 0xbb, 0xfc, 0x45, 0x01, 0x42, 0x20, 0x31, 0x01, 0xbf, 0x84, 0x34, 0x01, 0x41, 0x7e, 0x31, @@ -1106,177 +1108,177 @@ static struct patch { { aic_patch0_func, 86, 1, 1 }, { aic_patch9_func, 94, 1, 2 }, { aic_patch0_func, 95, 1, 1 }, - { aic_patch8_func, 99, 9, 4 }, - { aic_patch1_func, 101, 1, 2 }, - { aic_patch0_func, 102, 1, 1 }, - { aic_patch2_func, 104, 2, 1 }, - { aic_patch2_func, 113, 4, 1 }, - { aic_patch1_func, 117, 1, 2 }, - { aic_patch0_func, 118, 2, 3 }, - { aic_patch2_func, 118, 1, 2 }, - { aic_patch0_func, 119, 1, 1 }, - { aic_patch7_func, 120, 4, 2 }, - { aic_patch0_func, 124, 1, 1 }, - { aic_patch12_func, 126, 2, 1 }, - { aic_patch1_func, 128, 1, 2 }, - { aic_patch0_func, 129, 1, 1 }, - { aic_patch7_func, 130, 4, 1 }, - { aic_patch7_func, 141, 80, 9 }, - { aic_patch4_func, 159, 1, 1 }, - { aic_patch1_func, 172, 1, 1 }, - { aic_patch9_func, 180, 1, 2 }, - { aic_patch0_func, 181, 1, 1 }, - { aic_patch9_func, 190, 1, 2 }, - { aic_patch0_func, 191, 1, 1 }, - { aic_patch9_func, 207, 6, 2 }, - { aic_patch0_func, 213, 6, 1 }, - { aic_patch8_func, 221, 18, 2 }, - { aic_patch1_func, 234, 1, 1 }, - { aic_patch1_func, 241, 1, 2 }, - { aic_patch0_func, 242, 2, 2 }, - { aic_patch12_func, 243, 1, 1 }, - { aic_patch9_func, 251, 31, 3 }, - { aic_patch1_func, 267, 14, 2 }, - { aic_patch13_func, 272, 1, 1 }, - { aic_patch14_func, 282, 14, 1 }, - { aic_patch1_func, 298, 1, 2 }, - { aic_patch0_func, 299, 1, 1 }, - { aic_patch9_func, 302, 1, 1 }, - { aic_patch13_func, 307, 1, 1 }, - { aic_patch9_func, 308, 2, 2 }, - { aic_patch0_func, 310, 4, 1 }, - { aic_patch14_func, 314, 1, 1 }, - { aic_patch15_func, 317, 2, 3 }, - { aic_patch9_func, 317, 1, 2 }, - { aic_patch0_func, 318, 1, 1 }, - { aic_patch6_func, 323, 1, 2 }, - { aic_patch0_func, 324, 1, 1 }, - { aic_patch1_func, 328, 50, 11 }, - { aic_patch6_func, 337, 2, 4 }, - { aic_patch7_func, 337, 1, 1 }, - { aic_patch8_func, 338, 1, 1 }, - { aic_patch0_func, 339, 1, 1 }, - { aic_patch16_func, 340, 1, 1 }, - { aic_patch6_func, 359, 6, 3 }, - { aic_patch16_func, 359, 5, 1 }, - { aic_patch0_func, 365, 5, 1 }, - { aic_patch13_func, 373, 5, 1 }, - { aic_patch0_func, 378, 54, 17 }, - { aic_patch14_func, 378, 1, 1 }, - { aic_patch7_func, 380, 2, 2 }, - { aic_patch17_func, 381, 1, 1 }, - { aic_patch9_func, 384, 1, 1 }, - { aic_patch18_func, 391, 1, 1 }, - { aic_patch14_func, 396, 9, 3 }, - { aic_patch9_func, 397, 3, 2 }, - { aic_patch0_func, 400, 3, 1 }, - { aic_patch9_func, 408, 6, 2 }, - { aic_patch0_func, 414, 9, 2 }, - { aic_patch13_func, 414, 1, 1 }, - { aic_patch13_func, 423, 2, 1 }, - { aic_patch14_func, 425, 1, 1 }, - { aic_patch9_func, 427, 1, 2 }, - { aic_patch0_func, 428, 1, 1 }, - { aic_patch7_func, 431, 1, 1 }, + { aic_patch8_func, 99, 10, 4 }, + { aic_patch1_func, 102, 1, 2 }, + { aic_patch0_func, 103, 1, 1 }, + { aic_patch2_func, 105, 2, 1 }, + { aic_patch2_func, 114, 4, 1 }, + { aic_patch1_func, 118, 1, 2 }, + { aic_patch0_func, 119, 2, 3 }, + { aic_patch2_func, 119, 1, 2 }, + { aic_patch0_func, 120, 1, 1 }, + { aic_patch7_func, 121, 4, 2 }, + { aic_patch0_func, 125, 1, 1 }, + { aic_patch12_func, 127, 2, 1 }, + { aic_patch1_func, 129, 1, 2 }, + { aic_patch0_func, 130, 1, 1 }, + { aic_patch7_func, 131, 4, 1 }, + { aic_patch7_func, 142, 80, 9 }, + { aic_patch4_func, 160, 1, 1 }, + { aic_patch1_func, 173, 1, 1 }, + { aic_patch9_func, 181, 1, 2 }, + { aic_patch0_func, 182, 1, 1 }, + { aic_patch9_func, 191, 1, 2 }, + { aic_patch0_func, 192, 1, 1 }, + { aic_patch9_func, 208, 6, 2 }, + { aic_patch0_func, 214, 6, 1 }, + { aic_patch8_func, 222, 18, 2 }, + { aic_patch1_func, 235, 1, 1 }, + { aic_patch1_func, 242, 1, 2 }, + { aic_patch0_func, 243, 2, 2 }, + { aic_patch12_func, 244, 1, 1 }, + { aic_patch9_func, 252, 31, 3 }, + { aic_patch1_func, 268, 14, 2 }, + { aic_patch13_func, 273, 1, 1 }, + { aic_patch14_func, 283, 14, 1 }, + { aic_patch1_func, 299, 1, 2 }, + { aic_patch0_func, 300, 1, 1 }, + { aic_patch9_func, 303, 1, 1 }, + { aic_patch13_func, 308, 1, 1 }, + { aic_patch9_func, 309, 2, 2 }, + { aic_patch0_func, 311, 4, 1 }, + { aic_patch14_func, 315, 1, 1 }, + { aic_patch15_func, 318, 2, 3 }, + { aic_patch9_func, 318, 1, 2 }, + { aic_patch0_func, 319, 1, 1 }, + { aic_patch6_func, 324, 1, 2 }, + { aic_patch0_func, 325, 1, 1 }, + { aic_patch1_func, 329, 50, 11 }, + { aic_patch6_func, 338, 2, 4 }, + { aic_patch7_func, 338, 1, 1 }, + { aic_patch8_func, 339, 1, 1 }, + { aic_patch0_func, 340, 1, 1 }, + { aic_patch16_func, 341, 1, 1 }, + { aic_patch6_func, 360, 6, 3 }, + { aic_patch16_func, 360, 5, 1 }, + { aic_patch0_func, 366, 5, 1 }, + { aic_patch13_func, 374, 5, 1 }, + { aic_patch0_func, 379, 54, 17 }, + { aic_patch14_func, 379, 1, 1 }, + { aic_patch7_func, 381, 2, 2 }, + { aic_patch17_func, 382, 1, 1 }, + { aic_patch9_func, 385, 1, 1 }, + { aic_patch18_func, 392, 1, 1 }, + { aic_patch14_func, 397, 9, 3 }, + { aic_patch9_func, 398, 3, 2 }, + { aic_patch0_func, 401, 3, 1 }, + { aic_patch9_func, 409, 6, 2 }, + { aic_patch0_func, 415, 9, 2 }, + { aic_patch13_func, 415, 1, 1 }, + { aic_patch13_func, 424, 2, 1 }, + { aic_patch14_func, 426, 1, 1 }, + { aic_patch9_func, 428, 1, 2 }, + { aic_patch0_func, 429, 1, 1 }, { aic_patch7_func, 432, 1, 1 }, - { aic_patch8_func, 433, 3, 3 }, - { aic_patch6_func, 434, 1, 2 }, - { aic_patch0_func, 435, 1, 1 }, - { aic_patch9_func, 436, 1, 1 }, - { aic_patch15_func, 437, 1, 2 }, - { aic_patch13_func, 437, 1, 1 }, - { aic_patch14_func, 439, 9, 4 }, - { aic_patch9_func, 439, 1, 1 }, - { aic_patch9_func, 446, 2, 1 }, - { aic_patch0_func, 448, 4, 3 }, - { aic_patch9_func, 448, 1, 2 }, - { aic_patch0_func, 449, 3, 1 }, - { aic_patch1_func, 453, 2, 1 }, - { aic_patch7_func, 455, 5, 2 }, - { aic_patch0_func, 460, 1, 1 }, - { aic_patch8_func, 461, 109, 23 }, - { aic_patch1_func, 463, 3, 2 }, - { aic_patch0_func, 466, 5, 3 }, - { aic_patch9_func, 466, 2, 2 }, - { aic_patch0_func, 468, 3, 1 }, - { aic_patch1_func, 473, 2, 2 }, - { aic_patch0_func, 475, 6, 3 }, - { aic_patch9_func, 475, 2, 2 }, - { aic_patch0_func, 477, 3, 1 }, - { aic_patch1_func, 483, 2, 2 }, - { aic_patch0_func, 485, 9, 7 }, - { aic_patch9_func, 485, 5, 6 }, - { aic_patch19_func, 485, 1, 2 }, - { aic_patch0_func, 486, 1, 1 }, - { aic_patch19_func, 488, 1, 2 }, - { aic_patch0_func, 489, 1, 1 }, - { aic_patch0_func, 490, 4, 1 }, - { aic_patch6_func, 494, 3, 2 }, - { aic_patch0_func, 497, 1, 1 }, - { aic_patch1_func, 500, 1, 1 }, - { aic_patch6_func, 506, 1, 2 }, - { aic_patch0_func, 507, 1, 1 }, - { aic_patch20_func, 544, 7, 1 }, - { aic_patch3_func, 572, 1, 2 }, - { aic_patch0_func, 573, 1, 1 }, - { aic_patch21_func, 576, 1, 1 }, - { aic_patch8_func, 578, 104, 33 }, - { aic_patch4_func, 579, 1, 1 }, - { aic_patch1_func, 585, 2, 2 }, - { aic_patch0_func, 587, 1, 1 }, - { aic_patch1_func, 590, 1, 2 }, - { aic_patch0_func, 591, 1, 1 }, - { aic_patch9_func, 592, 3, 3 }, - { aic_patch15_func, 593, 1, 1 }, - { aic_patch0_func, 595, 4, 1 }, - { aic_patch19_func, 603, 2, 2 }, - { aic_patch0_func, 605, 1, 1 }, - { aic_patch19_func, 609, 10, 3 }, - { aic_patch5_func, 611, 8, 1 }, - { aic_patch0_func, 619, 9, 2 }, - { aic_patch5_func, 620, 8, 1 }, - { aic_patch4_func, 630, 1, 2 }, - { aic_patch0_func, 631, 1, 1 }, - { aic_patch19_func, 632, 1, 2 }, - { aic_patch0_func, 633, 3, 2 }, - { aic_patch4_func, 635, 1, 1 }, - { aic_patch5_func, 636, 1, 1 }, - { aic_patch5_func, 639, 1, 1 }, + { aic_patch7_func, 433, 1, 1 }, + { aic_patch8_func, 434, 3, 3 }, + { aic_patch6_func, 435, 1, 2 }, + { aic_patch0_func, 436, 1, 1 }, + { aic_patch9_func, 437, 1, 1 }, + { aic_patch15_func, 438, 1, 2 }, + { aic_patch13_func, 438, 1, 1 }, + { aic_patch14_func, 440, 9, 4 }, + { aic_patch9_func, 440, 1, 1 }, + { aic_patch9_func, 447, 2, 1 }, + { aic_patch0_func, 449, 4, 3 }, + { aic_patch9_func, 449, 1, 2 }, + { aic_patch0_func, 450, 3, 1 }, + { aic_patch1_func, 454, 2, 1 }, + { aic_patch7_func, 456, 5, 2 }, + { aic_patch0_func, 461, 1, 1 }, + { aic_patch8_func, 462, 109, 23 }, + { aic_patch1_func, 464, 3, 2 }, + { aic_patch0_func, 467, 5, 3 }, + { aic_patch9_func, 467, 2, 2 }, + { aic_patch0_func, 469, 3, 1 }, + { aic_patch1_func, 474, 2, 2 }, + { aic_patch0_func, 476, 6, 3 }, + { aic_patch9_func, 476, 2, 2 }, + { aic_patch0_func, 478, 3, 1 }, + { aic_patch1_func, 484, 2, 2 }, + { aic_patch0_func, 486, 9, 7 }, + { aic_patch9_func, 486, 5, 6 }, + { aic_patch19_func, 486, 1, 2 }, + { aic_patch0_func, 487, 1, 1 }, + { aic_patch19_func, 489, 1, 2 }, + { aic_patch0_func, 490, 1, 1 }, + { aic_patch0_func, 491, 4, 1 }, + { aic_patch6_func, 495, 3, 2 }, + { aic_patch0_func, 498, 1, 1 }, + { aic_patch1_func, 501, 1, 1 }, + { aic_patch6_func, 507, 1, 2 }, + { aic_patch0_func, 508, 1, 1 }, + { aic_patch20_func, 545, 7, 1 }, + { aic_patch3_func, 573, 1, 2 }, + { aic_patch0_func, 574, 1, 1 }, + { aic_patch21_func, 577, 1, 1 }, + { aic_patch8_func, 579, 105, 33 }, + { aic_patch4_func, 581, 1, 1 }, + { aic_patch1_func, 587, 2, 2 }, + { aic_patch0_func, 589, 1, 1 }, + { aic_patch1_func, 592, 1, 2 }, + { aic_patch0_func, 593, 1, 1 }, + { aic_patch9_func, 594, 3, 3 }, + { aic_patch15_func, 595, 1, 1 }, + { aic_patch0_func, 597, 4, 1 }, + { aic_patch19_func, 605, 2, 2 }, + { aic_patch0_func, 607, 1, 1 }, + { aic_patch19_func, 611, 10, 3 }, + { aic_patch5_func, 613, 8, 1 }, + { aic_patch0_func, 621, 9, 2 }, + { aic_patch5_func, 622, 8, 1 }, + { aic_patch4_func, 632, 1, 2 }, + { aic_patch0_func, 633, 1, 1 }, + { aic_patch19_func, 634, 1, 2 }, + { aic_patch0_func, 635, 3, 2 }, + { aic_patch4_func, 637, 1, 1 }, + { aic_patch5_func, 638, 1, 1 }, { aic_patch5_func, 641, 1, 1 }, - { aic_patch4_func, 643, 2, 2 }, - { aic_patch0_func, 645, 2, 1 }, - { aic_patch5_func, 647, 1, 1 }, - { aic_patch5_func, 650, 1, 1 }, - { aic_patch5_func, 653, 1, 1 }, - { aic_patch19_func, 657, 1, 1 }, - { aic_patch19_func, 660, 1, 1 }, - { aic_patch4_func, 666, 1, 1 }, - { aic_patch6_func, 669, 1, 2 }, - { aic_patch0_func, 670, 1, 1 }, - { aic_patch7_func, 682, 16, 1 }, - { aic_patch4_func, 698, 20, 1 }, - { aic_patch9_func, 719, 4, 2 }, - { aic_patch0_func, 723, 4, 1 }, - { aic_patch9_func, 727, 4, 2 }, - { aic_patch0_func, 731, 3, 1 }, - { aic_patch6_func, 737, 1, 1 }, - { aic_patch22_func, 739, 14, 1 }, - { aic_patch7_func, 753, 3, 1 }, - { aic_patch9_func, 765, 24, 8 }, - { aic_patch19_func, 769, 1, 2 }, - { aic_patch0_func, 770, 1, 1 }, - { aic_patch15_func, 775, 4, 2 }, - { aic_patch0_func, 779, 7, 3 }, - { aic_patch23_func, 779, 5, 2 }, - { aic_patch0_func, 784, 2, 1 }, - { aic_patch0_func, 789, 42, 3 }, - { aic_patch18_func, 801, 18, 2 }, - { aic_patch0_func, 819, 1, 1 }, - { aic_patch4_func, 843, 1, 1 }, - { aic_patch4_func, 844, 3, 2 }, - { aic_patch0_func, 847, 1, 1 }, - { aic_patch13_func, 848, 3, 1 }, - { aic_patch4_func, 851, 12, 1 } + { aic_patch5_func, 643, 1, 1 }, + { aic_patch4_func, 645, 2, 2 }, + { aic_patch0_func, 647, 2, 1 }, + { aic_patch5_func, 649, 1, 1 }, + { aic_patch5_func, 652, 1, 1 }, + { aic_patch5_func, 655, 1, 1 }, + { aic_patch19_func, 659, 1, 1 }, + { aic_patch19_func, 662, 1, 1 }, + { aic_patch4_func, 668, 1, 1 }, + { aic_patch6_func, 671, 1, 2 }, + { aic_patch0_func, 672, 1, 1 }, + { aic_patch7_func, 684, 16, 1 }, + { aic_patch4_func, 700, 20, 1 }, + { aic_patch9_func, 721, 4, 2 }, + { aic_patch0_func, 725, 4, 1 }, + { aic_patch9_func, 729, 4, 2 }, + { aic_patch0_func, 733, 3, 1 }, + { aic_patch6_func, 739, 1, 1 }, + { aic_patch22_func, 741, 14, 1 }, + { aic_patch7_func, 755, 3, 1 }, + { aic_patch9_func, 767, 24, 8 }, + { aic_patch19_func, 771, 1, 2 }, + { aic_patch0_func, 772, 1, 1 }, + { aic_patch15_func, 777, 4, 2 }, + { aic_patch0_func, 781, 7, 3 }, + { aic_patch23_func, 781, 5, 2 }, + { aic_patch0_func, 786, 2, 1 }, + { aic_patch0_func, 791, 42, 3 }, + { aic_patch18_func, 803, 18, 2 }, + { aic_patch0_func, 821, 1, 1 }, + { aic_patch4_func, 845, 1, 1 }, + { aic_patch4_func, 846, 3, 2 }, + { aic_patch0_func, 849, 1, 1 }, + { aic_patch13_func, 850, 3, 1 }, + { aic_patch4_func, 853, 12, 1 } }; static struct cs { @@ -1285,11 +1287,11 @@ static struct cs { } critical_sections[] = { { 11, 18 }, { 21, 30 }, - { 698, 714 }, - { 844, 847 }, - { 851, 857 }, - { 859, 861 }, - { 861, 863 } + { 700, 716 }, + { 846, 849 }, + { 853, 859 }, + { 861, 863 }, + { 863, 865 } }; static const int num_critical_sections = sizeof(critical_sections) diff --git a/sys/dev/pci/ahc_pci.c b/sys/dev/pci/ahc_pci.c index 7f7feadcbd2..9c26a0ab988 100644 --- a/sys/dev/pci/ahc_pci.c +++ b/sys/dev/pci/ahc_pci.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ahc_pci.c,v 1.34 2002/06/30 19:19:49 smurph Exp $ */ +/* $OpenBSD: ahc_pci.c,v 1.35 2002/07/05 05:41:02 smurph Exp $ */ /* $NetBSD: ahc_pci.c,v 1.9 1996/10/21 22:56:24 thorpej Exp $ */ /* @@ -405,8 +405,9 @@ void *aux; } /* setup the PCI interrupt */ - ahc->platform_data->pci_intr_func = ahc_pci_intr; - + ahc->bus_intr = ahc_pci_intr; + ahc->unsolicited_ints = 0; + if(ahc_do_pci_config(ahc)){ ahc_free(ahc); return; @@ -1623,14 +1624,14 @@ release_seeprom(sd) #define PCI_PRINT(Printstuff) #endif -int +void ahc_pci_intr(ahc) struct ahc_softc *ahc; { pcireg_t status1; if ((ahc_inb(ahc, ERROR) & PCIERRSTAT) == 0) - return 0; + return; PCI_PRINT(("%s: PCI error Interrupt at seqaddr = 0x%x\n", ahc_name(ahc), ahc_inb(ahc, SEQADDR0) | (ahc_inb(ahc, SEQADDR1) << 8))); @@ -1672,5 +1673,5 @@ ahc_pci_intr(ahc) ahc_unpause(ahc); - return 1; + return; } |