summaryrefslogtreecommitdiff
path: root/sys/dev/microcode
diff options
context:
space:
mode:
authorgibbs <gibbs@NetBSD.org>1996-10-08 03:04:02 +0000
committergibbs <gibbs@NetBSD.org>1996-10-08 03:04:02 +0000
commitb9c06e6fa3b33860036c49881d375d9465f2bc33 (patch)
treeb95447a62beef36ca00d0a542d543939848b6665 /sys/dev/microcode
parent3f3e868348b9e324d27bb2c0d6ca75e68cc9118c (diff)
dev/microcode/aic7xxx/aic7xxx.seq,
dev/microcode/aic7xxx_seq.h, dev/ic/aic7xxxreg.h: Remove intrinsic knowledge about SDTR and WDTR messages and replace it with a generic message system that allows the kernel driver to handle SDTR, WDTR and any other type of extended message it chooses too. This makes the sequencer code much simpler, makes extended message handling debuggable since the bulk of the work is in the kernel driver, and saves lots of instruction space. Regen microcode header file. dev/ic/aic7xxx.c, dev/ic/aic7xxxvar.h: Add code to handle WDTR and SDTR negotiation in light of the changes in the message interface to the sequencer. Don't reject targets that negotiate async by sending an SDTR with a 0 offset. Use an sdtr message with 0,0 to negotiate async when a target suggests a period that is too long for us to handle. Some tape and cdrom drives don't like us doing the message reject that we did in the past. Fix a problem with handing the QUEUE FULL condition. Fix a race condition (most likely the cause of the SCB paging problems) that might allow the sequencer to get unpaused before the condition that caused it to be paused (a SEQINT) was handled. Race condition pointed out by Doug Ledford <dledford@dialnet.net> and by "Dan Willis" <dan@plutotech.com>. dev/pci/ahc_pci.c: Add support for the 2940AU, an aic7860 based controller. dev/pci/pcidevs.h, dev/pci/pcidevs_data.h: Add product IDs for the 2940AU, aic7860 and aic7855. Regen data file. scsi/scsi_message.h: Add MSG_EXT_SDTR_LEN and MSG_EXT_WDTR_LEN - the length of bytes in these extended messages. Thanks to Chuck Cranor <chuck@maria.wustl.edu> for testing these changes out for me.
Diffstat (limited to 'sys/dev/microcode')
-rw-r--r--sys/dev/microcode/aic7xxx/aic7xxx.seq195
-rw-r--r--sys/dev/microcode/aic7xxx/aic7xxx_seq.h352
2 files changed, 208 insertions, 339 deletions
diff --git a/sys/dev/microcode/aic7xxx/aic7xxx.seq b/sys/dev/microcode/aic7xxx/aic7xxx.seq
index dbcaf38cbf1..1aee0ac4861 100644
--- a/sys/dev/microcode/aic7xxx/aic7xxx.seq
+++ b/sys/dev/microcode/aic7xxx/aic7xxx.seq
@@ -1,4 +1,4 @@
-/* $NetBSD: aic7xxx.seq,v 1.5 1996/08/10 08:36:58 mycroft Exp $ */
+/* $NetBSD: aic7xxx.seq,v 1.6 1996/10/08 03:04:06 gibbs Exp $ */
/*+M***********************************************************************
*Adaptec 274x/284x/294x device driver for Linux and FreeBSD.
@@ -43,12 +43,14 @@
*
*-M************************************************************************/
-VERSION AIC7XXX_SEQ_VER "$NetBSD: aic7xxx.seq,v 1.5 1996/08/10 08:36:58 mycroft Exp $"
+VERSION AIC7XXX_SEQ_VER "$NetBSD: aic7xxx.seq,v 1.6 1996/10/08 03:04:06 gibbs Exp $"
#if defined(__NetBSD__)
#include "../../ic/aic7xxxreg.h"
+#include "../../../scsi/scsi_message.h"
#elif defined(__FreeBSD__)
#include "../../dev/aic7xxx/aic7xxx_reg.h"
+#include "../../scsi/scsi_message.h"
#endif
/*
@@ -190,45 +192,36 @@ start_selection:
* Messages are stored in scratch RAM starting with a length byte
* followed by the message itself.
*/
- test SCB_CMDLEN,0xff jnz mk_identify /* 0 Length Command? */
-
-/*
- * The kernel has sent us an SCB with no command attached. This implies
- * that the kernel wants to send a message of some sort to this target,
- * so we interrupt the driver, allow it to fill the message buffer, and
- * then go back into the arbitration loop
- */
- mvi INTSTAT,AWAITING_MSG
- jmp wait_for_selection
mk_identify:
and A,DISCENB,SCB_CONTROL /* mask off disconnect privledge */
and MSG0,0x7,SCB_TCL /* lun */
or MSG0,A /* or in disconnect privledge */
- or MSG0,MSG_IDENTIFY
+ or MSG0,MSG_IDENTIFYFLAG
mvi MSG_LEN, 1
- test SCB_CONTROL,0xb0 jz !message /* WDTR, SDTR or TAG?? */
/*
* Send a tag message if TAG_ENB is set in the SCB control block.
* Use SCB_TAG (the position in the kernel's SCB array) as the tag value.
*/
-
mk_tag:
+ test SCB_CONTROL,TAG_ENB jz mk_message
mvi DINDEX, MSG1
- test SCB_CONTROL,TAG_ENB jz mk_tag_done
and DINDIR,0x23,SCB_CONTROL
mov DINDIR,SCB_TAG
add MSG_LEN,COMP_MSG0,DINDEX /* update message length */
-mk_tag_done:
+/*
+ * Interrupt the driver, and allow it to tweak the message buffer
+ * if it asks.
+ */
+mk_message:
+ test SCB_CONTROL,MK_MESSAGE jz wait_for_selection
- test SCB_CONTROL,0x90 jz !message /* NEEDWDTR|NEEDSDTR */
- mov DINDEX call mk_dtr /* build DTR message if needed */
+ mvi INTSTAT,AWAITING_MSG
-!message:
wait_for_selection:
test SSTAT0,SELDO jnz select
test SSTAT0,SELDI jz wait_for_selection
@@ -515,7 +508,7 @@ p_status:
*/
p_mesgout:
test MSG_LEN, 0xff jnz p_mesgout_start
- mvi MSG_NOP call mk_mesg /* build NOP message */
+ mvi MSG_NOOP call mk_mesg /* build NOP message */
p_mesgout_start:
/*
@@ -573,13 +566,13 @@ p_mesgin:
mvi A call inb_first /* read the 1st message byte */
mov REJBYTE,A /* save it for the driver */
- test A,MSG_IDENTIFY jnz mesgin_identify
+ test A,MSG_IDENTIFYFLAG jnz mesgin_identify
cmp A,MSG_DISCONNECT je mesgin_disconnect
- cmp A,MSG_SDPTRS je mesgin_sdptrs
+ cmp A,MSG_SAVEDATAPOINTER je mesgin_sdptrs
cmp ALLZEROS,A je mesgin_complete
- cmp A,MSG_RDPTRS je mesgin_rdptrs
+ cmp A,MSG_RESTOREPOINTERS je mesgin_rdptrs
cmp A,MSG_EXTENDED je mesgin_extended
- cmp A,MSG_REJECT je mesgin_reject
+ cmp A,MSG_MESSAGE_REJECT je mesgin_reject
rej_mesgin:
/*
@@ -593,7 +586,7 @@ rej_mesgin:
or SCSISIGO,ATNO /* turn on ATNO */
mvi INTSTAT,SEND_REJECT /* let driver know */
- mvi MSG_REJECT call mk_mesg
+ mvi MSG_MESSAGE_REJECT call mk_mesg
mesgin_done:
call inb_last /*ack & turn auto PIO back on*/
@@ -669,51 +662,38 @@ complete:
/*
- * Is it an extended message? We only support the synchronous and wide data
- * transfer request messages, which will probably be in response to
- * WDTR or SDTR message outs from us. If it's not SDTR or WDTR, reject it -
- * apparently this can be done after any message in byte, according
- * to the SCSI-2 spec.
+ * Is it an extended message? Copy the message to our message buffer and
+ * notify the host. The host will tell us whether to reject this message,
+ * respond to it with the message that the host placed in our message buffer,
+ * or simply to do nothing.
*/
mesgin_extended:
- mvi ARG_1 call inb_next /* extended message length */
- mvi REJBYTE_EXT call inb_next /* extended message code */
-
- cmp REJBYTE_EXT,MSG_SDTR je p_mesginSDTR
- cmp REJBYTE_EXT,MSG_WDTR je p_mesginWDTR
- jmp rej_mesgin
-
-p_mesginWDTR:
- cmp ARG_1,2 jne rej_mesgin /* extended mesg length=2 */
- mvi ARG_1 call inb_next /* Width of bus */
- mvi INTSTAT,WDTR_MSG /* let driver know */
- test RETURN_1,0xff jz mesgin_done /* Do we need to send WDTR? */
- cmp RETURN_1,SEND_REJ je rej_mesgin /*
- * Bus width was too large
- * Reject it.
- */
-
-/* We didn't initiate the wide negotiation, so we must respond to the request */
- and RETURN_1,0x7f /* Clear the SEND_WDTR Flag */
- mvi DINDEX,MSG0
- mvi MSG0 call mk_wdtr /* build WDTR message */
- or SCSISIGO,ATNO /* turn on ATNO */
- jmp mesgin_done
-
-p_mesginSDTR:
- cmp ARG_1,3 jne rej_mesgin /* extended mesg length=3 */
- mvi ARG_1 call inb_next /* xfer period */
- mvi A call inb_next /* REQ/ACK offset */
- mvi INTSTAT,SDTR_MSG /* call driver to convert */
-
- test RETURN_1,0xff jz mesgin_done /* Do we need to mk_sdtr/rej */
- cmp RETURN_1,SEND_REJ je rej_mesgin /*
- * Requested SDTR too small
- * Reject it.
- */
- clr ARG_1 /* Use the scratch ram rate */
- mvi DINDEX, MSG0
- mvi MSG0 call mk_sdtr
+ mvi MSGIN_EXT_LEN call inb_next
+ mvi MSGIN_EXT_OPCODE call inb_next
+ mov A, MSGIN_EXT_LEN
+ dec A /* Length counts the op code */
+ mvi SINDEX, MSGIN_EXT_BYTE0
+mesgin_extended_loop:
+ test A, 0xFF jz mesgin_extended_intr
+ cmp SINDEX, MSGIN_EXT_LASTBYTE je mesgin_extended_dump
+ call inb_next
+ dec A
+/*
+ * We pass the arg to inb in SINDEX, but DINDEX is the one incremented
+ * so update SINDEX with DINDEX's value before looping again.
+ */
+ mov DINDEX jmp mesgin_extended_loop
+mesgin_extended_dump:
+/* We have no more storage space, so dump the rest */
+ test A, 0xFF jz mesgin_extended_intr
+ mvi NONE call inb_next
+ dec A
+ jmp mesgin_extended_dump
+mesgin_extended_intr:
+ mvi INTSTAT,EXTENDED_MSG /* let driver know */
+ cmp RETURN_1,SEND_REJ je rej_mesgin
+ cmp RETURN_1,SEND_MSG jne mesgin_done
+/* The kernel has setup a message to be sent */
or SCSISIGO,ATNO /* turn on ATNO */
jmp mesgin_done
@@ -787,11 +767,11 @@ mesgin_identify:
*/
mvi ARG_1,SCB_LIST_NULL /* Default to no-tag */
snoop_tag_loop:
- test SSTAT1,BUSFREE jnz use_findSCB
- test SSTAT1,REQINIT jz snoop_tag_loop
- test SSTAT1,PHASEMIS jnz use_findSCB
- mvi A call inb_first
- cmp A,MSG_SIMPLE_TAG jne use_findSCB
+ test SSTAT1,BUSFREE jnz use_findSCB
+ test SSTAT1,REQINIT jz snoop_tag_loop
+ test SSTAT1,PHASEMIS jnz use_findSCB
+ mvi A call inb_first
+ cmp A,MSG_SIMPLE_Q_TAG jne use_findSCB
get_tag:
mvi ARG_1 call inb_next /* tag value */
/*
@@ -951,7 +931,7 @@ dma5:
and DFCNTRL,WIDEODD
dma6:
test DFCNTRL,0x38 jnz dma6 /* SCSIENACK|SDMAENACK|HDMAENACK */
-
+return:
ret
/*
@@ -1091,68 +1071,3 @@ ndx_dtr:
or A,0x08 /* Channel B entries add 8 */
ndx_dtr_2:
add SINDEX,TARG_SCRATCH,A ret
-
-/*
- * If we need to negotiate transfer parameters, build the WDTR or SDTR message
- * starting at the address passed in SINDEX. DINDEX is modified on return.
- * The SCSI-II spec requires that Wide negotiation occur first and you can
- * only negotiat one or the other at a time otherwise in the event of a message
- * reject, you wouldn't be able to tell which message was the culpret.
- */
-mk_dtr:
- test SCB_CONTROL,NEEDWDTR jnz mk_wdtr_16bit
- mvi ARG_1, MAXOFFSET /* Force an offset of 15 or 8 if WIDE */
-
-mk_sdtr:
- mvi DINDIR,1 /* extended message */
- mvi DINDIR,3 /* extended message length = 3 */
- mvi DINDIR,1 /* SDTR code */
- call sdtr_to_rate
- mov DINDIR,RETURN_1 /* REQ/ACK transfer period */
- cmp ARG_1, MAXOFFSET je mk_sdtr_max_offset
- and DINDIR,0x0f,SINDIR /* Sync Offset */
-
-mk_sdtr_done:
- add MSG_LEN,COMP_MSG0,DINDEX ret /* update message length */
-
-mk_sdtr_max_offset:
-/*
- * We're initiating sync negotiation, so request the max offset we can (15 or 8)
- */
- /* Talking to a WIDE device? */
- test SCSIRATE, WIDEXFER jnz wmax_offset
- mvi DINDIR, MAX_OFFSET_8BIT
- jmp mk_sdtr_done
-
-wmax_offset:
- mvi DINDIR, MAX_OFFSET_16BIT
- jmp mk_sdtr_done
-
-mk_wdtr_16bit:
- mvi ARG_1,BUS_16_BIT
-mk_wdtr:
- mvi DINDIR,1 /* extended message */
- mvi DINDIR,2 /* extended message length = 2 */
- mvi DINDIR,3 /* WDTR code */
- mov DINDIR,ARG_1 /* bus width */
-
- add MSG_LEN,COMP_MSG0,DINDEX ret /* update message length */
-
-sdtr_to_rate:
- call ndx_dtr /* index scratch space for target */
- shr A,SINDIR,0x4
- dec SINDEX /* Preserve SINDEX */
- and A,0x7
- clr RETURN_1
-sdtr_to_rate_loop:
- test A,0x0f jz sdtr_to_rate_done
- add RETURN_1,0x19
- dec A
- jmp sdtr_to_rate_loop
-sdtr_to_rate_done:
- shr RETURN_1,0x2
- add RETURN_1,0x19
- test SXFRCTL0,ULTRAEN jz return
- shr RETURN_1,0x1
-return:
- ret
diff --git a/sys/dev/microcode/aic7xxx/aic7xxx_seq.h b/sys/dev/microcode/aic7xxx/aic7xxx_seq.h
index 7793de2d9c4..d7332930280 100644
--- a/sys/dev/microcode/aic7xxx/aic7xxx_seq.h
+++ b/sys/dev/microcode/aic7xxx/aic7xxx_seq.h
@@ -1,4 +1,4 @@
-#define AIC7XXX_SEQ_VER "$NetBSD: aic7xxx_seq.h,v 1.1 1996/08/10 08:37:02 mycroft Exp $"
+#define AIC7XXX_SEQ_VER "$NetBSD: aic7xxx_seq.h,v 1.2 1996/10/08 03:04:07 gibbs Exp $"
0xff, 0x6a, 0x93, 0x02,
0xff, 0x6a, 0x03, 0x02,
0x0f, 0x4a, 0x4a, 0x02,
@@ -6,9 +6,9 @@
0xff, 0x6a, 0x04, 0x02,
0x01, 0x4a, 0x09, 0x1e,
0x08, 0x1f, 0x1f, 0x04,
- 0x20, 0x0b, 0x36, 0x1a,
+ 0x20, 0x0b, 0x32, 0x1a,
0x08, 0x1f, 0x1f, 0x04,
- 0x20, 0x0b, 0x36, 0x1a,
+ 0x20, 0x0b, 0x32, 0x1a,
0xff, 0x4e, 0x17, 0x18,
0xff, 0x49, 0x64, 0x02,
0x00, 0x9c, 0x05, 0x1e,
@@ -33,84 +33,80 @@
0x08, 0xa1, 0x64, 0x02,
0x00, 0x65, 0x65, 0x00,
0xff, 0x65, 0x1f, 0x02,
- 0x00, 0xa1, 0x40, 0x17,
+ 0x00, 0xa1, 0x35, 0x17,
0x58, 0x6a, 0x00, 0x00,
- 0xff, 0xb8, 0x27, 0x1a,
- 0xa1, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0x34, 0x10,
0x40, 0xa0, 0x64, 0x02,
0x07, 0xa1, 0x35, 0x02,
0x00, 0x35, 0x35, 0x00,
0x80, 0x35, 0x35, 0x00,
0x01, 0x6a, 0x34, 0x00,
- 0xb0, 0xa0, 0x34, 0x1e,
+ 0x20, 0xa0, 0x2e, 0x1e,
0x36, 0x6a, 0x66, 0x00,
- 0x20, 0xa0, 0x32, 0x1e,
0x23, 0xa0, 0x6d, 0x02,
0xff, 0xb9, 0x6d, 0x02,
0xcb, 0x66, 0x34, 0x06,
- 0x90, 0xa0, 0x34, 0x1e,
- 0x00, 0x66, 0x8b, 0x17,
- 0x40, 0x0b, 0x3a, 0x1a,
- 0x20, 0x0b, 0x34, 0x1e,
+ 0x80, 0xa0, 0x30, 0x1e,
+ 0xa1, 0x6a, 0x91, 0x00,
+ 0x40, 0x0b, 0x36, 0x1a,
+ 0x20, 0x0b, 0x30, 0x1e,
0xff, 0x6a, 0x34, 0x02,
- 0x00, 0x19, 0x40, 0x17,
+ 0x00, 0x19, 0x35, 0x17,
0x80, 0x4a, 0x4a, 0x00,
- 0x00, 0x65, 0x3c, 0x10,
+ 0x00, 0x65, 0x38, 0x10,
0xff, 0xba, 0x4e, 0x02,
0x20, 0x4a, 0x4a, 0x00,
0x02, 0x01, 0x01, 0x00,
- 0x00, 0x65, 0x87, 0x17,
+ 0x00, 0x65, 0x7c, 0x17,
0xff, 0x6c, 0x04, 0x02,
0xff, 0x05, 0x6e, 0x02,
0xff, 0x6e, 0x64, 0x02,
0xdf, 0x01, 0x65, 0x02,
- 0x80, 0x05, 0x46, 0x1a,
- 0x08, 0x1f, 0x46, 0x1a,
- 0x00, 0x52, 0x48, 0x1e,
- 0x20, 0x65, 0x48, 0x10,
- 0x00, 0x53, 0x48, 0x1e,
+ 0x80, 0x05, 0x42, 0x1a,
+ 0x08, 0x1f, 0x42, 0x1a,
+ 0x00, 0x52, 0x44, 0x1e,
+ 0x20, 0x65, 0x44, 0x10,
+ 0x00, 0x53, 0x44, 0x1e,
0x20, 0x65, 0x65, 0x00,
0xff, 0x65, 0x01, 0x02,
0x02, 0x6a, 0x00, 0x00,
0x08, 0x6a, 0x0c, 0x00,
0x60, 0x6a, 0x0b, 0x00,
- 0x08, 0x0c, 0x23, 0x1b,
- 0x01, 0x0c, 0x4c, 0x1e,
+ 0x08, 0x0c, 0x18, 0x1b,
+ 0x01, 0x0c, 0x48, 0x1e,
0xe0, 0x03, 0x64, 0x02,
0xff, 0x64, 0x3d, 0x02,
0xff, 0x64, 0x03, 0x02,
- 0x00, 0x6a, 0x59, 0x1c,
- 0x40, 0x64, 0x5f, 0x1c,
- 0x80, 0x64, 0x91, 0x1c,
- 0xa0, 0x64, 0xa0, 0x1c,
- 0xc0, 0x64, 0x9e, 0x1c,
- 0xe0, 0x64, 0xb5, 0x1c,
+ 0x00, 0x6a, 0x55, 0x1c,
+ 0x40, 0x64, 0x5b, 0x1c,
+ 0x80, 0x64, 0x8d, 0x1c,
+ 0xa0, 0x64, 0x9c, 0x1c,
+ 0xc0, 0x64, 0x9a, 0x1c,
+ 0xe0, 0x64, 0xb1, 0x1c,
0x01, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0x4c, 0x10,
+ 0x00, 0x65, 0x48, 0x10,
0x7d, 0x6a, 0x41, 0x00,
- 0x00, 0x65, 0x60, 0x10,
+ 0x00, 0x65, 0x5c, 0x10,
0xff, 0xa9, 0x08, 0x02,
0xff, 0xaa, 0x09, 0x02,
0xff, 0xab, 0x0a, 0x02,
- 0x00, 0x65, 0x64, 0x10,
+ 0x00, 0x65, 0x60, 0x10,
0x79, 0x6a, 0x41, 0x00,
- 0x00, 0x65, 0x44, 0x17,
- 0x10, 0x4a, 0x5b, 0x1a,
- 0x00, 0x65, 0x6b, 0x17,
+ 0x00, 0x65, 0x39, 0x17,
+ 0x10, 0x4a, 0x57, 0x1a,
+ 0x00, 0x65, 0x60, 0x17,
0x10, 0x4a, 0x4a, 0x00,
- 0xff, 0x42, 0x69, 0x1a,
+ 0xff, 0x42, 0x65, 0x1a,
0x80, 0x02, 0x02, 0x00,
0xff, 0x6a, 0x08, 0x00,
0xff, 0x6a, 0x09, 0x00,
0xff, 0x6a, 0x0a, 0x00,
- 0x01, 0x42, 0x6b, 0x18,
+ 0x01, 0x42, 0x67, 0x18,
0xbf, 0x41, 0x41, 0x02,
- 0x00, 0x41, 0x38, 0x17,
- 0x80, 0x02, 0x8e, 0x1a,
- 0x04, 0x0b, 0x89, 0x1e,
+ 0x00, 0x41, 0x2d, 0x17,
+ 0x80, 0x02, 0x8a, 0x1a,
+ 0x04, 0x0b, 0x85, 0x1e,
0xff, 0x42, 0x42, 0x06,
- 0xff, 0x42, 0x89, 0x1e,
+ 0xff, 0x42, 0x85, 0x1e,
0xff, 0x6a, 0x64, 0x02,
0x08, 0x43, 0x43, 0x06,
0x00, 0x44, 0x44, 0x08,
@@ -122,9 +118,9 @@
0xff, 0x45, 0x8a, 0x02,
0xff, 0x46, 0x8b, 0x02,
0x0d, 0x93, 0x93, 0x00,
- 0x08, 0x94, 0x7b, 0x1e,
+ 0x08, 0x94, 0x77, 0x1e,
0x40, 0x93, 0x93, 0x02,
- 0x08, 0x93, 0x7d, 0x1a,
+ 0x08, 0x93, 0x79, 0x1a,
0xff, 0x99, 0x88, 0x02,
0xff, 0x99, 0x89, 0x02,
0xff, 0x99, 0x8a, 0x02,
@@ -135,16 +131,16 @@
0xff, 0x8c, 0x08, 0x02,
0xff, 0x8d, 0x09, 0x02,
0xff, 0x8e, 0x0a, 0x02,
- 0x10, 0x0c, 0x64, 0x1e,
+ 0x10, 0x0c, 0x60, 0x1e,
0xff, 0x08, 0xa9, 0x02,
0xff, 0x09, 0xaa, 0x02,
0xff, 0x0a, 0xab, 0x02,
0xff, 0x42, 0xa8, 0x02,
- 0x00, 0x65, 0x4c, 0x10,
+ 0x00, 0x65, 0x48, 0x10,
0x7f, 0x02, 0x02, 0x02,
0xe1, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0x4c, 0x10,
- 0x00, 0x65, 0x44, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
+ 0x00, 0x65, 0x39, 0x17,
0xff, 0xb4, 0x88, 0x02,
0xff, 0xb5, 0x89, 0x02,
0xff, 0xb6, 0x8a, 0x02,
@@ -155,147 +151,140 @@
0xff, 0x8c, 0x08, 0x02,
0xff, 0x8d, 0x09, 0x02,
0xff, 0x8e, 0x0a, 0x02,
- 0x3d, 0x6a, 0x38, 0x17,
- 0x00, 0x65, 0x4c, 0x10,
- 0xa2, 0x6a, 0x32, 0x17,
- 0x00, 0x65, 0xc1, 0x10,
- 0xff, 0x34, 0xa2, 0x1a,
- 0x08, 0x6a, 0x27, 0x17,
+ 0x3d, 0x6a, 0x2d, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
+ 0xa2, 0x6a, 0x27, 0x17,
+ 0x00, 0x65, 0xbd, 0x10,
+ 0xff, 0x34, 0x9e, 0x1a,
+ 0x08, 0x6a, 0x1c, 0x17,
0x35, 0x6a, 0x65, 0x00,
0xff, 0x34, 0x66, 0x02,
- 0x10, 0x0c, 0xb2, 0x1a,
- 0x02, 0x0b, 0xa4, 0x1e,
- 0x10, 0x0c, 0xb2, 0x1a,
- 0x01, 0x66, 0xa9, 0x18,
+ 0x10, 0x0c, 0xae, 0x1a,
+ 0x02, 0x0b, 0xa0, 0x1e,
+ 0x10, 0x0c, 0xae, 0x1a,
+ 0x01, 0x66, 0xa5, 0x18,
0x40, 0x6a, 0x0c, 0x00,
0xff, 0x66, 0x66, 0x06,
0x02, 0x0b, 0x0b, 0x00,
0xff, 0x6c, 0x06, 0x02,
- 0xff, 0x66, 0xa4, 0x1a,
- 0x08, 0x0c, 0xb3, 0x1a,
- 0x01, 0x0c, 0xad, 0x1e,
- 0x10, 0x0c, 0xb3, 0x1a,
+ 0xff, 0x66, 0xa0, 0x1a,
+ 0x08, 0x0c, 0xaf, 0x1a,
+ 0x01, 0x0c, 0xa9, 0x1e,
+ 0x10, 0x0c, 0xaf, 0x1a,
0x10, 0x03, 0x03, 0x00,
- 0x00, 0x65, 0x4c, 0x10,
+ 0x00, 0x65, 0x48, 0x10,
0x40, 0x6a, 0x0c, 0x00,
0xff, 0x6a, 0x34, 0x02,
- 0x00, 0x65, 0x4c, 0x10,
- 0x64, 0x6a, 0x32, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
+ 0x64, 0x6a, 0x27, 0x17,
0xff, 0x64, 0x30, 0x02,
- 0x80, 0x64, 0x00, 0x1b,
- 0x04, 0x64, 0xf0, 0x1c,
- 0x02, 0x64, 0xfc, 0x1c,
- 0x00, 0x6a, 0xc3, 0x1c,
- 0x03, 0x64, 0xfe, 0x1c,
- 0x01, 0x64, 0xd6, 0x1c,
- 0x07, 0x64, 0x21, 0x1d,
+ 0x80, 0x64, 0xf5, 0x1a,
+ 0x04, 0x64, 0xe5, 0x1c,
+ 0x02, 0x64, 0xf1, 0x1c,
+ 0x00, 0x6a, 0xbf, 0x1c,
+ 0x03, 0x64, 0xf3, 0x1c,
+ 0x01, 0x64, 0xd2, 0x1c,
+ 0x07, 0x64, 0x16, 0x1d,
0x10, 0x03, 0x03, 0x00,
0x11, 0x6a, 0x91, 0x00,
- 0x07, 0x6a, 0x27, 0x17,
- 0x00, 0x65, 0x35, 0x17,
- 0x00, 0x65, 0x4c, 0x10,
- 0xff, 0xa8, 0xc5, 0x1e,
+ 0x07, 0x6a, 0x1c, 0x17,
+ 0x00, 0x65, 0x2a, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
+ 0xff, 0xa8, 0xc1, 0x1e,
0x81, 0x6a, 0x91, 0x00,
- 0xff, 0xa2, 0xc9, 0x1e,
+ 0xff, 0xa2, 0xc5, 0x1e,
0x71, 0x6a, 0x91, 0x00,
- 0x40, 0x3f, 0xc9, 0x18,
- 0x00, 0x65, 0xc1, 0x10,
- 0x20, 0xa0, 0xd0, 0x1a,
+ 0x40, 0x3f, 0xc5, 0x18,
+ 0x00, 0x65, 0xbd, 0x10,
+ 0x20, 0xa0, 0xcc, 0x1a,
0xff, 0xa1, 0x6e, 0x02,
0xff, 0x6e, 0x64, 0x02,
- 0x88, 0xa1, 0xcf, 0x1e,
+ 0x88, 0xa1, 0xcb, 0x1e,
0x00, 0x4d, 0x4d, 0x04,
- 0x00, 0x65, 0xd0, 0x10,
+ 0x00, 0x65, 0xcc, 0x10,
0x00, 0x4c, 0x4c, 0x04,
- 0xff, 0xb8, 0xd3, 0x1a,
+ 0xff, 0xb8, 0xcf, 0x1a,
0xb1, 0x6a, 0x91, 0x00,
0x00, 0x65, 0x02, 0x10,
0xff, 0xb9, 0x9d, 0x02,
0x02, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0xc1, 0x10,
- 0x3e, 0x6a, 0x2e, 0x17,
- 0x31, 0x6a, 0x2e, 0x17,
- 0x01, 0x31, 0xe5, 0x1c,
- 0x03, 0x31, 0xdb, 0x1c,
- 0x00, 0x65, 0xbe, 0x10,
- 0x02, 0x3e, 0xbe, 0x18,
- 0x3e, 0x6a, 0x2e, 0x17,
- 0x51, 0x6a, 0x91, 0x00,
- 0xff, 0x3f, 0xc1, 0x1e,
- 0x20, 0x3f, 0xbe, 0x1c,
- 0x7f, 0x3f, 0x3f, 0x02,
- 0x35, 0x6a, 0x66, 0x00,
- 0x35, 0x6a, 0x9b, 0x17,
- 0x10, 0x03, 0x03, 0x00,
- 0x00, 0x65, 0xc1, 0x10,
- 0x03, 0x3e, 0xbe, 0x18,
- 0x3e, 0x6a, 0x2e, 0x17,
- 0x64, 0x6a, 0x2e, 0x17,
+ 0x00, 0x65, 0xbd, 0x10,
+ 0x54, 0x6a, 0x23, 0x17,
+ 0x55, 0x6a, 0x23, 0x17,
+ 0xff, 0x54, 0x64, 0x02,
+ 0xff, 0x64, 0x64, 0x06,
+ 0x56, 0x6a, 0x65, 0x00,
+ 0xff, 0x64, 0xe0, 0x1e,
+ 0x58, 0x65, 0xdc, 0x1c,
+ 0x00, 0x65, 0x23, 0x17,
+ 0xff, 0x64, 0x64, 0x06,
+ 0x00, 0x66, 0xd7, 0x10,
+ 0xff, 0x64, 0xe0, 0x1e,
+ 0x6a, 0x6a, 0x23, 0x17,
+ 0xff, 0x64, 0x64, 0x06,
+ 0x00, 0x65, 0xdc, 0x10,
0x41, 0x6a, 0x91, 0x00,
- 0xff, 0x3f, 0xc1, 0x1e,
- 0x20, 0x3f, 0xbe, 0x1c,
- 0xff, 0x6a, 0x3e, 0x02,
- 0x35, 0x6a, 0x66, 0x00,
- 0x35, 0x6a, 0x8d, 0x17,
+ 0x20, 0x3f, 0xba, 0x1c,
+ 0x80, 0x3f, 0xbd, 0x18,
0x10, 0x03, 0x03, 0x00,
- 0x00, 0x65, 0xc1, 0x10,
+ 0x00, 0x65, 0xbd, 0x10,
0x04, 0xa0, 0xa0, 0x00,
- 0x04, 0x4a, 0xc1, 0x1e,
+ 0x04, 0x4a, 0xbd, 0x1e,
0xff, 0x6a, 0xbb, 0x00,
0x50, 0x6a, 0x60, 0x00,
0xff, 0x4f, 0xba, 0x02,
0xff, 0x90, 0x4f, 0x02,
- 0xff, 0xba, 0xfa, 0x1c,
+ 0xff, 0xba, 0xef, 0x1c,
0xff, 0xba, 0x90, 0x02,
0xff, 0x4f, 0xbb, 0x02,
0xff, 0x4f, 0x90, 0x02,
0x10, 0x6a, 0x60, 0x00,
- 0x00, 0x65, 0xc1, 0x10,
- 0x00, 0x65, 0x7a, 0x17,
- 0x00, 0x65, 0xc1, 0x10,
+ 0x00, 0x65, 0xbd, 0x10,
+ 0x00, 0x65, 0x6f, 0x17,
+ 0x00, 0x65, 0xbd, 0x10,
0xef, 0x4a, 0x4a, 0x02,
- 0x00, 0x65, 0xc1, 0x10,
- 0x78, 0x64, 0xbe, 0x1a,
+ 0x00, 0x65, 0xbd, 0x10,
+ 0x78, 0x64, 0xba, 0x1a,
0x07, 0x64, 0x64, 0x02,
0x00, 0x19, 0x4b, 0x00,
0xf7, 0x4b, 0x4b, 0x02,
0x08, 0x1f, 0x64, 0x02,
0x00, 0x4b, 0x4b, 0x00,
- 0x00, 0x65, 0x35, 0x17,
+ 0x00, 0x65, 0x2a, 0x17,
0xff, 0x6a, 0x3e, 0x00,
- 0x08, 0x0c, 0x13, 0x1b,
- 0x01, 0x0c, 0x08, 0x1f,
- 0x10, 0x0c, 0x13, 0x1b,
- 0x64, 0x6a, 0x32, 0x17,
- 0x20, 0x64, 0x13, 0x19,
- 0x3e, 0x6a, 0x2e, 0x17,
+ 0x08, 0x0c, 0x08, 0x1b,
+ 0x01, 0x0c, 0xfd, 0x1e,
+ 0x10, 0x0c, 0x08, 0x1b,
+ 0x64, 0x6a, 0x27, 0x17,
+ 0x20, 0x64, 0x08, 0x19,
+ 0x3e, 0x6a, 0x23, 0x17,
0xff, 0x48, 0x64, 0x02,
0x00, 0x3e, 0x65, 0x06,
- 0x00, 0x65, 0x1d, 0x13,
- 0x04, 0x4a, 0x17, 0x1f,
- 0x00, 0x65, 0x35, 0x17,
- 0x00, 0x6a, 0x47, 0x17,
+ 0x00, 0x65, 0x12, 0x13,
+ 0x04, 0x4a, 0x0c, 0x1f,
+ 0x00, 0x65, 0x2a, 0x17,
+ 0x00, 0x6a, 0x3c, 0x17,
0xfb, 0xa0, 0xa0, 0x02,
0x40, 0x4a, 0x4a, 0x00,
- 0x00, 0x65, 0x4c, 0x10,
+ 0x00, 0x65, 0x48, 0x10,
0xff, 0x3e, 0x90, 0x02,
0xff, 0x4b, 0x64, 0x02,
- 0x00, 0xa1, 0x1d, 0x19,
- 0x20, 0xa0, 0x1d, 0x1f,
- 0x00, 0x65, 0x35, 0x17,
- 0x00, 0x65, 0x14, 0x11,
+ 0x00, 0xa1, 0x12, 0x19,
+ 0x20, 0xa0, 0x12, 0x1f,
+ 0x00, 0x65, 0x2a, 0x17,
+ 0x00, 0x65, 0x09, 0x11,
0x10, 0x03, 0x03, 0x00,
0x91, 0x6a, 0x91, 0x00,
- 0x0d, 0x6a, 0x27, 0x17,
- 0x00, 0x65, 0xc1, 0x10,
+ 0x0d, 0x6a, 0x1c, 0x17,
+ 0x00, 0x65, 0xbd, 0x10,
0x61, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0xc1, 0x10,
+ 0x00, 0x65, 0xbd, 0x10,
0x40, 0x6a, 0x0c, 0x00,
0xff, 0x6a, 0x3d, 0x02,
- 0xff, 0xb8, 0xc9, 0x1e,
+ 0xff, 0xb8, 0xc5, 0x1e,
0x00, 0x65, 0x02, 0x10,
0x50, 0x6a, 0x60, 0x00,
- 0xff, 0x34, 0x2b, 0x1f,
+ 0xff, 0x34, 0x20, 0x1f,
0x10, 0x6a, 0x60, 0x00,
0xc1, 0x6a, 0x91, 0x00,
0x01, 0x6a, 0x34, 0x00,
@@ -303,46 +292,46 @@
0x10, 0x6a, 0x60, 0x01,
0x02, 0x0b, 0x0b, 0x00,
0xff, 0x06, 0x6a, 0x02,
- 0x10, 0x0c, 0x36, 0x1b,
- 0x02, 0x0b, 0x30, 0x1f,
+ 0x10, 0x0c, 0x2b, 0x1b,
+ 0x02, 0x0b, 0x25, 0x1f,
0xff, 0x65, 0x66, 0x02,
- 0x10, 0x0c, 0x36, 0x1b,
+ 0x10, 0x0c, 0x2b, 0x1b,
0xff, 0x12, 0x6d, 0x03,
0xff, 0x06, 0x6a, 0x03,
0xd1, 0x6a, 0x91, 0x00,
- 0x00, 0x65, 0x4c, 0x10,
+ 0x00, 0x65, 0x48, 0x10,
0xff, 0x65, 0x93, 0x02,
- 0x01, 0x0b, 0x3b, 0x1b,
- 0x10, 0x0c, 0x39, 0x1f,
- 0x04, 0x65, 0x3d, 0x1b,
- 0x01, 0x94, 0x3c, 0x1f,
+ 0x01, 0x0b, 0x30, 0x1b,
+ 0x10, 0x0c, 0x2e, 0x1f,
+ 0x04, 0x65, 0x32, 0x1b,
+ 0x01, 0x94, 0x31, 0x1f,
0x40, 0x93, 0x93, 0x02,
- 0x38, 0x93, 0x3e, 0x1b,
+ 0x38, 0x93, 0x33, 0x1b,
0xff, 0x6a, 0x6a, 0x03,
0xf0, 0x65, 0x65, 0x02,
0x0f, 0x05, 0x64, 0x02,
0x00, 0x65, 0x65, 0x00,
0xff, 0x65, 0x05, 0x03,
- 0x80, 0x4a, 0xad, 0x1f,
- 0x40, 0x4a, 0xad, 0x1b,
+ 0x80, 0x4a, 0x34, 0x1f,
+ 0x40, 0x4a, 0x34, 0x1b,
0x21, 0x6a, 0x91, 0x01,
0xff, 0x4b, 0x64, 0x02,
0xff, 0x65, 0x90, 0x02,
0x50, 0x6a, 0x60, 0x00,
- 0x00, 0xa1, 0x5f, 0x19,
- 0x04, 0xa0, 0x5f, 0x1f,
- 0x20, 0xa0, 0x4f, 0x1b,
- 0xff, 0x3e, 0x51, 0x1d,
- 0x00, 0x65, 0x5f, 0x11,
+ 0x00, 0xa1, 0x54, 0x19,
+ 0x04, 0xa0, 0x54, 0x1f,
+ 0x20, 0xa0, 0x44, 0x1b,
+ 0xff, 0x3e, 0x46, 0x1d,
+ 0x00, 0x65, 0x54, 0x11,
0xff, 0x3e, 0x64, 0x02,
- 0x00, 0xb9, 0x5f, 0x19,
- 0x04, 0x4a, 0x5e, 0x1f,
- 0xff, 0xba, 0x57, 0x1d,
+ 0x00, 0xb9, 0x54, 0x19,
+ 0x04, 0x4a, 0x53, 0x1f,
+ 0xff, 0xba, 0x4c, 0x1d,
0xff, 0xbb, 0x50, 0x02,
0xff, 0xba, 0x90, 0x02,
0xff, 0x50, 0xbb, 0x02,
0xff, 0x65, 0x90, 0x02,
- 0xff, 0xbb, 0x5d, 0x1d,
+ 0xff, 0xbb, 0x52, 0x1d,
0xff, 0xba, 0x50, 0x02,
0xff, 0xbb, 0x90, 0x02,
0xff, 0x50, 0xba, 0x02,
@@ -353,15 +342,15 @@
0x10, 0x6a, 0x60, 0x00,
0x01, 0x65, 0x65, 0x06,
0xff, 0x47, 0x64, 0x02,
- 0x00, 0x65, 0x47, 0x19,
+ 0x00, 0x65, 0x3c, 0x19,
0x31, 0x6a, 0x91, 0x00,
- 0x10, 0x3f, 0xad, 0x1d,
+ 0x10, 0x3f, 0x34, 0x1d,
0x10, 0x03, 0x03, 0x00,
- 0xff, 0x3e, 0x69, 0x19,
- 0x06, 0x6a, 0x27, 0x17,
- 0x00, 0x65, 0x4c, 0x10,
- 0x0d, 0x6a, 0x27, 0x17,
- 0x00, 0x65, 0x4c, 0x10,
+ 0xff, 0x3e, 0x5e, 0x19,
+ 0x06, 0x6a, 0x1c, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
+ 0x0d, 0x6a, 0x1c, 0x17,
+ 0x00, 0x65, 0x48, 0x10,
0xff, 0xac, 0x88, 0x02,
0xff, 0xad, 0x89, 0x02,
0xff, 0xae, 0x8a, 0x02,
@@ -377,7 +366,7 @@
0xff, 0xa5, 0x44, 0x02,
0xff, 0xa6, 0x45, 0x02,
0xff, 0xa7, 0x46, 0x03,
- 0x10, 0x4a, 0xad, 0x1f,
+ 0x10, 0x4a, 0x34, 0x1f,
0xff, 0x42, 0xa3, 0x02,
0xff, 0x43, 0xa4, 0x02,
0xff, 0x44, 0xa5, 0x02,
@@ -391,41 +380,6 @@
0xff, 0xaa, 0xb1, 0x02,
0xff, 0xab, 0xb2, 0x03,
0x4c, 0x05, 0x64, 0x0a,
- 0x08, 0x1f, 0x8a, 0x1f,
+ 0x08, 0x1f, 0x7f, 0x1f,
0x08, 0x64, 0x64, 0x00,
0x20, 0x64, 0x65, 0x07,
- 0x80, 0xa0, 0x9a, 0x1b,
- 0x01, 0x6a, 0x3e, 0x00,
- 0x01, 0x6a, 0x6d, 0x00,
- 0x03, 0x6a, 0x6d, 0x00,
- 0x01, 0x6a, 0x6d, 0x00,
- 0x00, 0x65, 0xa0, 0x17,
- 0xff, 0x3f, 0x6d, 0x02,
- 0x01, 0x3e, 0x95, 0x1d,
- 0x0f, 0x6c, 0x6d, 0x02,
- 0xcb, 0x66, 0x34, 0x07,
- 0x80, 0x04, 0x98, 0x1b,
- 0x0f, 0x6a, 0x6d, 0x00,
- 0x00, 0x65, 0x94, 0x11,
- 0x08, 0x6a, 0x6d, 0x00,
- 0x00, 0x65, 0x94, 0x11,
- 0x01, 0x6a, 0x3e, 0x00,
- 0x01, 0x6a, 0x6d, 0x00,
- 0x02, 0x6a, 0x6d, 0x00,
- 0x03, 0x6a, 0x6d, 0x00,
- 0xff, 0x3e, 0x6d, 0x02,
- 0xcb, 0x66, 0x34, 0x07,
- 0x00, 0x65, 0x87, 0x17,
- 0x4c, 0x6c, 0x64, 0x0a,
- 0xff, 0x65, 0x65, 0x06,
- 0x07, 0x64, 0x64, 0x02,
- 0xff, 0x6a, 0x3f, 0x02,
- 0x0f, 0x64, 0xa9, 0x1f,
- 0x19, 0x3f, 0x3f, 0x06,
- 0xff, 0x64, 0x64, 0x06,
- 0x00, 0x65, 0xa5, 0x11,
- 0x2e, 0x3f, 0x3f, 0x0a,
- 0x19, 0x3f, 0x3f, 0x06,
- 0x20, 0x01, 0xad, 0x1f,
- 0x1f, 0x3f, 0x3f, 0x0a,
- 0xff, 0x6a, 0x6a, 0x03,