Commit c556b56b authored by Justin T. Gibbs's avatar Justin T. Gibbs

Aic79xx Driver Update

 o Correct/Simplify ignore wide residue message handling
parent 7bf0ba59
......@@ -39,7 +39,7 @@
*
* $FreeBSD$
*/
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#68 $"
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#69 $"
/*
* This file is processed by the aic7xxx_asm utility for use in assembling
......@@ -3842,10 +3842,15 @@ scb {
}
SCB_LUN {
size 1
field LID 0xff
field LID 0xff
}
SCB_TASK_ATTRIBUTE {
size 1
/*
* Overloaded field for non-packetized
* ignore wide residue message handling.
*/
field SCB_XFERLEN_ODD 0x01
}
SCB_CDB_LEN {
size 1
......
......@@ -40,7 +40,7 @@
* $FreeBSD$
*/
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#93 $"
VERSION = "$Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#94 $"
PATCH_ARG_LIST = "struct ahd_softc *ahd"
PREFIX = "ahd_"
......@@ -872,7 +872,8 @@ mesgin_ign_wide_residue:
mvi REG0 call inb_next;
cmp REG0, 0x01 jne mesgin_reject;
test SCB_RESIDUAL_SGPTR[0], SG_LIST_NULL jz . + 2;
test DATA_COUNT_ODD, 0x1 jz mesgin_done;
test SCB_TASK_ATTRIBUTE, SCB_XFERLEN_ODD jnz mesgin_done;
SET_SEQINTCODE(IGN_WIDE_RES)
jmp mesgin_done;
mesgin_proto_violation:
......@@ -1317,8 +1318,6 @@ idle_sg_avail:
bmov HADDR, CCSGRAM, 4;
}
bmov HCNT, CCSGRAM, 3;
test HCNT[0], 0x1 jz . + 2;
xor DATA_COUNT_ODD, 0x1;
bmov SCB_RESIDUAL_DATACNT[3], CCSGRAM, 1;
if ((ahd->flags & AHD_39BIT_ADDRESSING) != 0) {
and HADDR[4], SG_HIGH_ADDR_BITS, SCB_RESIDUAL_DATACNT[3];
......@@ -1334,8 +1333,6 @@ sg_advance:
adc SCB_RESIDUAL_SGPTR[2],A;
adc SCB_RESIDUAL_SGPTR[3],A;
mov SINDEX, SCB_RESIDUAL_SGPTR[0];
test DATA_COUNT_ODD, 0x1 jz . + 2;
or SINDEX, ODD_SEG;
test SCB_RESIDUAL_DATACNT[3], SG_LAST_SEG jz . + 3;
or SINDEX, LAST_SEG;
clr SG_STATE;
......@@ -1361,12 +1358,9 @@ sg_advance:
*/
load_first_seg:
bmov HADDR, SCB_DATAPTR, 11;
and DATA_COUNT_ODD, 0x1, SCB_DATACNT[0];
and REG_ISR, ~SG_FULL_RESID, SCB_SGPTR[0];
test SCB_DATACNT[3], SG_LAST_SEG jz . + 2;
or REG_ISR, LAST_SEG;
test DATA_COUNT_ODD, 0x1 jz . + 2;
or REG_ISR, ODD_SEG;
mov SG_CACHE_PRE, REG_ISR;
mvi DFCNTRL, (PRELOADEN|SCSIEN|HDMAEN);
/*
......@@ -1516,7 +1510,7 @@ data_phase_done:
* send Ignore Wide Residue messages for data-in phases.
test DFCNTRL, DIRECTION jz target_ITloop;
test SSTAT1, REQINIT jnz .;
test DATA_COUNT_ODD, 0x1 jz target_ITloop;
test SCB_TASK_ATTRIBUTE, SCB_XFERLEN_ODD jz target_ITloop;
SET_MODE(M_SCSI, M_SCSI)
test NEGCONOPTS, WIDEXFER jz target_ITloop;
*/
......@@ -1586,9 +1580,6 @@ sgptr_fixup:
adc SCB_RESIDUAL_SGPTR[3], -1;
sgptr_fixup_done:
and SCB_RESIDUAL_SGPTR[0], SG_ADDR_MASK, SG_CACHE_SHADOW;
clr DATA_COUNT_ODD;
test SG_CACHE_SHADOW, ODD_SEG jz . + 2;
or DATA_COUNT_ODD, 0x1;
clr SCB_RESIDUAL_DATACNT[3]; /* We are not the last seg */
bmov SCB_RESIDUAL_DATACNT, SHCNT, 3 ret;
......
......@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#192 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.c#193 $
*
* $FreeBSD$
*/
......@@ -4401,7 +4401,7 @@ ahd_handle_ign_wide_residue(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
sgptr = ahd_inb_scbram(ahd, SCB_RESIDUAL_SGPTR);
if ((sgptr & SG_LIST_NULL) != 0
&& ahd_inb(ahd, DATA_COUNT_ODD) == 1) {
&& (ahd_inb(ahd, SCB_TASK_ATTRIBUTE) & SCB_XFERLEN_ODD) != 0) {
/*
* If the residual occurred on the last
* transfer and the transfer request was
......@@ -4414,29 +4414,20 @@ ahd_handle_ign_wide_residue(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
uint32_t sglen;
/* Pull in the rest of the sgptr */
sgptr |=
(ahd_inb_scbram(ahd, SCB_RESIDUAL_SGPTR + 3) << 24)
| (ahd_inb_scbram(ahd, SCB_RESIDUAL_SGPTR + 2) << 16)
| (ahd_inb_scbram(ahd, SCB_RESIDUAL_SGPTR + 1) << 8);
sgptr &= SG_PTR_MASK;
data_cnt =
(ahd_inb_scbram(ahd, SCB_RESIDUAL_DATACNT+3) << 24)
| (ahd_inb_scbram(ahd, SCB_RESIDUAL_DATACNT+2) << 16)
| (ahd_inb_scbram(ahd, SCB_RESIDUAL_DATACNT+1) << 8)
| (ahd_inb_scbram(ahd, SCB_RESIDUAL_DATACNT));
data_addr = (((uint64_t)ahd_inb(ahd, SHADDR + 7)) << 56)
| (((uint64_t)ahd_inb(ahd, SHADDR + 6)) << 48)
| (((uint64_t)ahd_inb(ahd, SHADDR + 5)) << 40)
| (((uint64_t)ahd_inb(ahd, SHADDR + 4)) << 32)
| (ahd_inb(ahd, SHADDR + 3) << 24)
| (ahd_inb(ahd, SHADDR + 2) << 16)
| (ahd_inb(ahd, SHADDR + 1) << 8)
| (ahd_inb(ahd, SHADDR));
sgptr = ahd_inl_scbram(ahd, SCB_RESIDUAL_SGPTR);
data_cnt = ahd_inl_scbram(ahd, SCB_RESIDUAL_DATACNT);
if ((sgptr & SG_LIST_NULL) != 0) {
/*
* The residual data count is not updated
* for the command run to completion case.
* Explicitly zero the count.
*/
data_cnt &= ~AHD_SG_LEN_MASK;
}
data_addr = ahd_inq(ahd, SHADDR);
data_cnt += 1;
data_addr -= 1;
sgptr &= SG_PTR_MASK;
if ((ahd->flags & AHD_64BIT_ADDRESSING) != 0) {
struct ahd_dma64_seg *sg;
......@@ -4504,16 +4495,17 @@ ahd_handle_ign_wide_residue(struct ahd_softc *ahd, struct ahd_devinfo *devinfo)
sg);
}
}
ahd_outb(ahd, SCB_RESIDUAL_SGPTR + 3, sgptr >> 24);
ahd_outb(ahd, SCB_RESIDUAL_SGPTR + 2, sgptr >> 16);
ahd_outb(ahd, SCB_RESIDUAL_SGPTR + 1, sgptr >> 8);
ahd_outb(ahd, SCB_RESIDUAL_SGPTR, sgptr);
ahd_outb(ahd, SCB_RESIDUAL_DATACNT + 3, data_cnt >> 24);
ahd_outb(ahd, SCB_RESIDUAL_DATACNT + 2, data_cnt >> 16);
ahd_outb(ahd, SCB_RESIDUAL_DATACNT + 1, data_cnt >> 8);
ahd_outb(ahd, SCB_RESIDUAL_DATACNT, data_cnt);
/*
* Toggle the "oddness" of the transfer length
* to handle this mid-transfer ignore wide
* residue. This ensures that the oddness is
* correct for subsequent data transfers.
*/
ahd_outb(ahd, SCB_TASK_ATTRIBUTE,
ahd_inb(ahd, SCB_TASK_ATTRIBUTE) ^ SCB_XFERLEN_ODD);
ahd_outl(ahd, SCB_RESIDUAL_SGPTR, sgptr);
ahd_outl(ahd, SCB_RESIDUAL_DATACNT, data_cnt);
/*
* The FIFO's pointers will be updated if/when the
* sequencer re-enters a data phase.
......
......@@ -37,7 +37,7 @@
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#49 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx_inline.h#50 $
*
* $FreeBSD$
*/
......@@ -271,7 +271,12 @@ ahd_setup_scb_common(struct ahd_softc *ahd, struct scb *scb)
scb->crc_retry_count = 0;
if ((scb->flags & SCB_PACKETIZED) != 0) {
/* XXX what about ACA?? It is type 4, but TAG_TYPE == 0x3. */
scb->hscb->task_attribute= scb->hscb->control & SCB_TAG_TYPE;
scb->hscb->task_attribute = scb->hscb->control & SCB_TAG_TYPE;
} else {
if (ahd_get_transfer_length(scb) & 0x01)
scb->hscb->task_attribute = SCB_XFERLEN_ODD;
else
scb->hscb->task_attribute = 0;
}
if (scb->hscb->cdb_len <= MAX_CDB_LEN_WITH_SENSE_ADDR
......
......@@ -2,8 +2,8 @@
* DO NOT EDIT - This file is automatically generated
* from the following source files:
*
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#93 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#68 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#94 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#69 $
*/
typedef int (ahd_reg_print_t)(u_int, u_int *, u_int);
typedef struct ahd_reg_parse_entry {
......@@ -3683,6 +3683,7 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
#define LID 0xff
#define SCB_TASK_ATTRIBUTE 0x1ab
#define SCB_XFERLEN_ODD 0x01
#define SCB_CDB_LEN 0x1ac
#define SCB_CDB_LEN_PTR 0x80
......@@ -3768,5 +3769,5 @@ ahd_reg_print_t ahd_scb_disconnected_lists_print;
/* Exported Labels */
#define LABEL_seq_isr 0x271
#define LABEL_timer_isr 0x26d
#define LABEL_seq_isr 0x269
#define LABEL_timer_isr 0x265
......@@ -2,8 +2,8 @@
* DO NOT EDIT - This file is automatically generated
* from the following source files:
*
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#93 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#68 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#94 $
* $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#69 $
*/
static uint8_t seqprog[] = {
0xff, 0x02, 0x06, 0x78,
......@@ -23,9 +23,9 @@ static uint8_t seqprog[] = {
0x20, 0x4b, 0x82, 0x69,
0xfc, 0x42, 0x24, 0x78,
0x10, 0x40, 0x24, 0x78,
0x00, 0xe2, 0xd4, 0x5d,
0x00, 0xe2, 0xc4, 0x5d,
0x20, 0x4d, 0x28, 0x78,
0x00, 0xe2, 0xd4, 0x5d,
0x00, 0xe2, 0xc4, 0x5d,
0x30, 0x3f, 0xc0, 0x09,
0x30, 0xe0, 0x30, 0x60,
0x7f, 0x4a, 0x94, 0x08,
......@@ -47,7 +47,7 @@ static uint8_t seqprog[] = {
0x14, 0xea, 0x04, 0x00,
0x08, 0xa8, 0x51, 0x03,
0xff, 0xae, 0x3f, 0x68,
0x00, 0xe2, 0x52, 0x5b,
0x00, 0xe2, 0x56, 0x5b,
0x00, 0xe2, 0x3e, 0x40,
0x00, 0xea, 0x44, 0x59,
0x01, 0xea, 0x00, 0x30,
......@@ -241,8 +241,8 @@ static uint8_t seqprog[] = {
0xff, 0xea, 0x46, 0x02,
0x02, 0x5c, 0x50, 0x31,
0x40, 0xea, 0x96, 0x00,
0x02, 0x56, 0xdc, 0x6d,
0x01, 0x55, 0xdc, 0x6d,
0x02, 0x56, 0xcc, 0x6d,
0x01, 0x55, 0xcc, 0x6d,
0x10, 0xa8, 0xdf, 0x79,
0x10, 0x40, 0xe8, 0x69,
0x01, 0x56, 0xe8, 0x79,
......@@ -258,9 +258,9 @@ static uint8_t seqprog[] = {
0x40, 0xea, 0x66, 0x02,
0x08, 0x3c, 0x78, 0x00,
0x80, 0xea, 0x62, 0x02,
0x00, 0xe2, 0xb4, 0x5b,
0x00, 0xe2, 0xb8, 0x5b,
0x01, 0x36, 0xc1, 0x31,
0x9f, 0xe0, 0x56, 0x7c,
0x9f, 0xe0, 0x4c, 0x7c,
0x80, 0xe0, 0x0c, 0x72,
0xa0, 0xe0, 0x44, 0x72,
0xc0, 0xe0, 0x3a, 0x72,
......@@ -291,7 +291,7 @@ static uint8_t seqprog[] = {
0x02, 0x4d, 0xf8, 0x69,
0x40, 0x33, 0x67, 0x02,
0x00, 0xe2, 0xf8, 0x41,
0x80, 0x33, 0xb1, 0x6a,
0x80, 0x33, 0xb5, 0x6a,
0x01, 0x44, 0x10, 0x33,
0x08, 0xa8, 0x51, 0x03,
0x00, 0xe2, 0xf8, 0x41,
......@@ -304,31 +304,31 @@ static uint8_t seqprog[] = {
0xbf, 0xe2, 0xc4, 0x09,
0x20, 0xa8, 0x65, 0x7a,
0x01, 0xe2, 0x88, 0x30,
0x00, 0xe2, 0xb4, 0x5b,
0x00, 0xe2, 0xb8, 0x5b,
0xa0, 0x36, 0x6d, 0x62,
0x23, 0xa8, 0x89, 0x08,
0x00, 0xe2, 0xb4, 0x5b,
0x00, 0xe2, 0xb8, 0x5b,
0xa0, 0x36, 0x6d, 0x62,
0x00, 0xa8, 0x64, 0x42,
0xff, 0xe2, 0x64, 0x62,
0x00, 0xe2, 0x84, 0x42,
0x40, 0xea, 0x98, 0x00,
0x01, 0xe2, 0x88, 0x30,
0x00, 0xe2, 0xb4, 0x5b,
0x00, 0xe2, 0xb8, 0x5b,
0xa0, 0x36, 0x43, 0x72,
0x40, 0xea, 0x98, 0x00,
0x01, 0x31, 0x89, 0x32,
0x08, 0xea, 0x62, 0x02,
0x00, 0xe2, 0xf8, 0x41,
0xe0, 0xea, 0xd0, 0x5b,
0x80, 0xe0, 0xbc, 0x6a,
0x04, 0xe0, 0x62, 0x73,
0x02, 0xe0, 0x92, 0x73,
0x00, 0xea, 0x1a, 0x73,
0x03, 0xe0, 0xa2, 0x73,
0xe0, 0xea, 0xd4, 0x5b,
0x80, 0xe0, 0xc0, 0x6a,
0x04, 0xe0, 0x66, 0x73,
0x02, 0xe0, 0x96, 0x73,
0x00, 0xea, 0x1e, 0x73,
0x03, 0xe0, 0xa6, 0x73,
0x23, 0xe0, 0x96, 0x72,
0x08, 0xe0, 0xb8, 0x72,
0x00, 0xe2, 0xb4, 0x5b,
0x08, 0xe0, 0xbc, 0x72,
0x00, 0xe2, 0xb8, 0x5b,
0x07, 0xea, 0x50, 0x59,
0x07, 0xea, 0x04, 0x00,
0x08, 0x42, 0xf9, 0x71,
......@@ -344,16 +344,18 @@ static uint8_t seqprog[] = {
0x01, 0x64, 0xc0, 0x31,
0x00, 0x30, 0x45, 0x59,
0x01, 0x30, 0x01, 0x30,
0x01, 0xe0, 0xb6, 0x7a,
0xa0, 0xea, 0xc6, 0x5b,
0x01, 0xa0, 0xb6, 0x62,
0x01, 0xe0, 0xba, 0x7a,
0xa0, 0xea, 0xca, 0x5b,
0x01, 0xa0, 0xba, 0x62,
0x01, 0x84, 0xaf, 0x7a,
0x01, 0xa7, 0xb8, 0x7a,
0x00, 0xe2, 0xb8, 0x42,
0x01, 0xab, 0xbd, 0x6a,
0x05, 0xea, 0x50, 0x59,
0x05, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xbc, 0x42,
0x03, 0xea, 0x50, 0x59,
0x03, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xb8, 0x42,
0x07, 0xea, 0xd8, 0x5b,
0x00, 0xe2, 0xbc, 0x42,
0x07, 0xea, 0xdc, 0x5b,
0x01, 0x44, 0xd4, 0x31,
0x00, 0xe2, 0xf8, 0x41,
0x3f, 0xe0, 0x6a, 0x0a,
......@@ -366,54 +368,54 @@ static uint8_t seqprog[] = {
0x01, 0xea, 0xc6, 0x01,
0x02, 0xe2, 0xc8, 0x31,
0x02, 0xec, 0x40, 0x31,
0xff, 0xa1, 0xd8, 0x72,
0xff, 0xa1, 0xdc, 0x72,
0x02, 0xe8, 0xda, 0x31,
0x02, 0xa0, 0x50, 0x31,
0x00, 0xe2, 0xfa, 0x42,
0x00, 0xe2, 0xfe, 0x42,
0x80, 0x33, 0x67, 0x02,
0x01, 0x44, 0xd4, 0x31,
0x00, 0xe2, 0xb4, 0x5b,
0x00, 0xe2, 0xb8, 0x5b,
0x01, 0x33, 0x67, 0x02,
0xe0, 0x36, 0x15, 0x63,
0xe0, 0x36, 0x19, 0x63,
0x02, 0x33, 0x67, 0x02,
0x20, 0x46, 0x0e, 0x63,
0x20, 0x46, 0x12, 0x63,
0xff, 0xea, 0x52, 0x09,
0xa8, 0xea, 0xc6, 0x5b,
0x04, 0xa8, 0xf5, 0x7a,
0xa8, 0xea, 0xca, 0x5b,
0x04, 0xa8, 0xf9, 0x7a,
0x01, 0x34, 0xc1, 0x31,
0x00, 0xa9, 0xf5, 0x62,
0x00, 0xa9, 0xf9, 0x62,
0x01, 0x35, 0xc1, 0x31,
0x00, 0xaa, 0xff, 0x72,
0x00, 0xaa, 0x03, 0x73,
0x01, 0xa9, 0x52, 0x11,
0xff, 0xa9, 0xea, 0x6a,
0x00, 0xe2, 0x0e, 0x43,
0xff, 0xa9, 0xee, 0x6a,
0x00, 0xe2, 0x12, 0x43,
0x10, 0x33, 0x67, 0x02,
0x04, 0xa8, 0x0f, 0x7b,
0x04, 0xa8, 0x13, 0x7b,
0xfb, 0xa8, 0x51, 0x0b,
0xff, 0xea, 0x66, 0x0a,
0x01, 0x9c, 0x09, 0x6b,
0x01, 0x9c, 0x0d, 0x6b,
0x02, 0xa8, 0x90, 0x32,
0x00, 0xe2, 0x6a, 0x59,
0x10, 0xa8, 0xb9, 0x7a,
0xff, 0xea, 0xd8, 0x5b,
0x00, 0xe2, 0xb8, 0x42,
0x10, 0xa8, 0xbd, 0x7a,
0xff, 0xea, 0xdc, 0x5b,
0x00, 0xe2, 0xbc, 0x42,
0x04, 0xea, 0x50, 0x59,
0x04, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xb8, 0x42,
0x00, 0xe2, 0xbc, 0x42,
0x04, 0xea, 0x50, 0x59,
0x04, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xf8, 0x41,
0x08, 0xa8, 0xb1, 0x7a,
0xc0, 0x33, 0x25, 0x7b,
0x80, 0x33, 0xb1, 0x6a,
0xff, 0x88, 0x25, 0x6b,
0x40, 0x33, 0xb1, 0x6a,
0x10, 0xa8, 0x2b, 0x7b,
0x08, 0xa8, 0xb5, 0x7a,
0xc0, 0x33, 0x29, 0x7b,
0x80, 0x33, 0xb5, 0x6a,
0xff, 0x88, 0x29, 0x6b,
0x40, 0x33, 0xb5, 0x6a,
0x10, 0xa8, 0x2f, 0x7b,
0x0a, 0xea, 0x50, 0x59,
0x0a, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x4a, 0x5b,
0x00, 0xe2, 0x7e, 0x43,
0x50, 0x4b, 0x32, 0x6b,
0x00, 0xe2, 0x4e, 0x5b,
0x00, 0xe2, 0x82, 0x43,
0x50, 0x4b, 0x36, 0x6b,
0xbf, 0x3a, 0x74, 0x08,
0x01, 0xe0, 0xf4, 0x31,
0xff, 0xea, 0xc0, 0x09,
......@@ -427,21 +429,21 @@ static uint8_t seqprog[] = {
0x33, 0xea, 0x00, 0x00,
0x02, 0x42, 0x51, 0x31,
0xff, 0xae, 0x65, 0x68,
0xff, 0x88, 0x57, 0x6b,
0x01, 0x9c, 0x53, 0x6b,
0x02, 0x9c, 0x5b, 0x6b,
0x01, 0x84, 0x5b, 0x7b,
0xff, 0x88, 0x5b, 0x6b,
0x01, 0x9c, 0x57, 0x6b,
0x02, 0x9c, 0x5f, 0x6b,
0x01, 0x84, 0x5f, 0x7b,
0x02, 0x28, 0x19, 0x33,
0x02, 0xa8, 0x50, 0x36,
0xff, 0x88, 0x5b, 0x73,
0x00, 0xe2, 0x2e, 0x5b,
0xff, 0x88, 0x5f, 0x73,
0x00, 0xe2, 0x32, 0x5b,
0x02, 0xa8, 0x5c, 0x33,
0x02, 0x2c, 0x19, 0x33,
0x02, 0xa8, 0x58, 0x32,
0x04, 0x9c, 0x39, 0x07,
0xc0, 0x33, 0xb1, 0x6a,
0xc0, 0x33, 0xb5, 0x6a,
0x04, 0xa8, 0x51, 0x03,
0x20, 0xa8, 0x7f, 0x6b,
0x20, 0xa8, 0x83, 0x6b,
0x02, 0xa8, 0x40, 0x31,
0xc0, 0x34, 0xc1, 0x09,
0x00, 0x35, 0x51, 0x01,
......@@ -456,42 +458,42 @@ static uint8_t seqprog[] = {
0xf7, 0x57, 0xae, 0x08,
0x08, 0xea, 0x98, 0x00,
0x01, 0x44, 0xd4, 0x31,
0xee, 0x00, 0x88, 0x6b,
0xee, 0x00, 0x8c, 0x6b,
0x02, 0xea, 0xb4, 0x00,
0x00, 0xe2, 0xb0, 0x5b,
0x09, 0x4c, 0x8a, 0x7b,
0x00, 0xe2, 0xb4, 0x5b,
0x09, 0x4c, 0x8e, 0x7b,
0x08, 0x4c, 0x06, 0x68,
0x0b, 0xea, 0x50, 0x59,
0x0b, 0xea, 0x04, 0x00,
0x01, 0x44, 0xd4, 0x31,
0x20, 0x33, 0xf9, 0x79,
0x00, 0xe2, 0x9a, 0x5b,
0x00, 0xe2, 0x9e, 0x5b,
0x00, 0xe2, 0xf8, 0x41,
0x01, 0x84, 0x9f, 0x7b,
0x01, 0x84, 0xa3, 0x7b,
0x01, 0x9c, 0x39, 0x07,
0x08, 0x60, 0x20, 0x33,
0x08, 0x80, 0x31, 0x37,
0xdf, 0x33, 0x67, 0x0a,
0xee, 0x00, 0xac, 0x6b,
0xee, 0x00, 0xb0, 0x6b,
0x05, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x44, 0x59,
0x33, 0xea, 0x00, 0x00,
0x00, 0xe2, 0x6a, 0x59,
0x00, 0xe2, 0xb8, 0x42,
0x00, 0xe2, 0xbc, 0x42,
0x01, 0xea, 0x6c, 0x02,
0xc0, 0xea, 0x66, 0x06,
0xff, 0x42, 0xc0, 0x6b,
0x01, 0x41, 0xb4, 0x6b,
0x02, 0x41, 0xb4, 0x7b,
0xff, 0x42, 0xc0, 0x6b,
0x01, 0x41, 0xb4, 0x6b,
0x02, 0x41, 0xb4, 0x7b,
0xff, 0x42, 0xc0, 0x7b,
0x04, 0x4c, 0xb4, 0x6b,
0xff, 0x42, 0xc4, 0x6b,
0x01, 0x41, 0xb8, 0x6b,
0x02, 0x41, 0xb8, 0x7b,
0xff, 0x42, 0xc4, 0x6b,
0x01, 0x41, 0xb8, 0x6b,
0x02, 0x41, 0xb8, 0x7b,
0xff, 0x42, 0xc4, 0x7b,
0x04, 0x4c, 0xb8, 0x6b,
0xe0, 0x41, 0x6c, 0x0e,
0x01, 0x44, 0xd4, 0x31,
0xff, 0x42, 0xc8, 0x7b,
0x04, 0x4c, 0xc8, 0x6b,
0xff, 0x42, 0xcc, 0x7b,
0x04, 0x4c, 0xcc, 0x6b,
0xe0, 0x41, 0x6c, 0x0a,
0xe0, 0x36, 0xf9, 0x61,
0xff, 0xea, 0xca, 0x09,
......@@ -500,12 +502,12 @@ static uint8_t seqprog[] = {
0x01, 0x44, 0xd4, 0x35,
0x10, 0xea, 0x80, 0x00,
0x01, 0xe2, 0x62, 0x36,
0x04, 0xa6, 0xe0, 0x7b,
0x04, 0xa6, 0xe4, 0x7b,
0xff, 0xea, 0x5a, 0x09,
0xff, 0xea, 0x4c, 0x0d,
0x01, 0xa6, 0xfe, 0x6b,
0x01, 0xa6, 0x02, 0x6c,
0x10, 0xad, 0x64, 0x78,
0x80, 0xad, 0xf6, 0x6b,
0x80, 0xad, 0xfa, 0x6b,
0x08, 0xad, 0x64, 0x68,
0x04, 0x84, 0xf9, 0x30,
0x00, 0xea, 0x08, 0x81,
......@@ -522,8 +524,6 @@ static uint8_t seqprog[] = {
0x08, 0xb0, 0xe0, 0x30,
0x04, 0xb0, 0xe0, 0x30,
0x03, 0xb0, 0xf0, 0x30,
0x01, 0x78, 0x0c, 0x7c,
0x01, 0xa7, 0x4e, 0x11,
0x01, 0xb0, 0x06, 0x33,
0x7f, 0x83, 0xe9, 0x08,
0x04, 0xac, 0x58, 0x19,
......@@ -533,9 +533,7 @@ static uint8_t seqprog[] = {
0x00, 0x86, 0x0d, 0x23,
0x00, 0x87, 0x0f, 0x23,
0x01, 0x84, 0xc5, 0x31,
0x01, 0xa7, 0x22, 0x7c,
0x04, 0xe2, 0xc4, 0x01,
0x80, 0x83, 0x29, 0x7c,
0x80, 0x83, 0x25, 0x7c,
0x02, 0xe2, 0xc4, 0x01,
0xff, 0xea, 0x4c, 0x09,
0x01, 0xe2, 0x36, 0x30,
......@@ -545,86 +543,80 @@ static uint8_t seqprog[] = {
0x00, 0xe2, 0x64, 0x50,
0xfe, 0xa6, 0x4c, 0x0d,
0x0b, 0x90, 0xe1, 0x30,
0x01, 0x98, 0x4f, 0x09,
0xfd, 0x9c, 0x49, 0x09,
0x80, 0x9b, 0x3f, 0x7c,
0x80, 0x9b, 0x39, 0x7c,
0x02, 0xa4, 0x48, 0x01,
0x01, 0xa7, 0x42, 0x7c,
0x04, 0xa4, 0x48, 0x01,
0x01, 0xa4, 0x36, 0x30,
0xa8, 0xea, 0x32, 0x00,
0xfd, 0x9c, 0x39, 0x0b,
0x05, 0x9b, 0x07, 0x33,
0x80, 0x83, 0x4f, 0x6c,
0x80, 0x83, 0x45, 0x6c,
0x02, 0xea, 0x4c, 0x05,
0xff, 0xea, 0x4c, 0x0d,
0x00, 0xe2, 0x3e, 0x59,
0x02, 0xa6, 0xe2, 0x6b,
0x02, 0xa6, 0xe6, 0x6b,
0x80, 0xf9, 0xf2, 0x05,
0xc0, 0x33, 0x5d, 0x7c,
0xc0, 0x33, 0x53, 0x7c,
0x03, 0xea, 0x50, 0x59,
0x03, 0xea, 0x04, 0x00,
0x20, 0x33, 0x81, 0x7c,
0x01, 0x84, 0x67, 0x6c,
0x20, 0x33, 0x77, 0x7c,
0x01, 0x84, 0x5d, 0x6c,
0x06, 0xea, 0x50, 0x59,
0x06, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x84, 0x44,
0x00, 0xe2, 0x7a, 0x44,
0x01, 0x00, 0x60, 0x32,
0xee, 0x00, 0x70, 0x6c,
0xee, 0x00, 0x66, 0x6c,
0x05, 0xea, 0xb4, 0x00,
0x33, 0xea, 0x44, 0x59,
0x33, 0xea, 0x00, 0x00,
0x80, 0x3d, 0x7a, 0x00,
0xfc, 0x42, 0x72, 0x7c,
0xfc, 0x42, 0x68, 0x7c,
0x7f, 0x3d, 0x7a, 0x08,
0x00, 0x30, 0x45, 0x59,
0x01, 0x30, 0x01, 0x30,
0x09, 0xea, 0x50, 0x59,
0x09, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xf8, 0x41,
0x01, 0x9c, 0x67, 0x6c,
0x00, 0xe2, 0x34, 0x5c,
0x01, 0x9c, 0x5d, 0x6c,
0x00, 0xe2, 0x30, 0x5c,
0x20, 0x33, 0x67, 0x02,
0x01, 0x00, 0x60, 0x32,
0x02, 0xa6, 0x8c, 0x7c,
0x00, 0xe2, 0x50, 0x5c,
0x02, 0xa6, 0x82, 0x7c,
0x00, 0xe2, 0x46, 0x5c,
0x00, 0xe2, 0x56, 0x58,
0x00, 0xe2, 0x66, 0x58,
0x00, 0xe2, 0x3a, 0x58,
0x00, 0x30, 0x45, 0x59,
0x01, 0x30, 0x01, 0x30,
0x20, 0x19, 0x8c, 0x6c,
0x00, 0xe2, 0xbc, 0x5c,
0x04, 0x19, 0xa6, 0x6c,
0x20, 0x19, 0x82, 0x6c,
0x00, 0xe2, 0xb2, 0x5c,
0x04, 0x19, 0x9c, 0x6c,
0x02, 0x19, 0x32, 0x00,
0x01, 0x84, 0xa7, 0x7c,
0x01, 0x1b, 0xa0, 0x7c,
0x01, 0x1a, 0xa6, 0x6c,
0x00, 0xe2, 0x56, 0x44,
0x80, 0x4b, 0xac, 0x6c,
0x01, 0x4c, 0xa8, 0x7c,
0x03, 0x42, 0x56, 0x6c,
0x00, 0xe2, 0xdc, 0x5b,
0x01, 0x84, 0x9d, 0x7c,
0x01, 0x1b, 0x96, 0x7c,
0x01, 0x1a, 0x9c, 0x6c,
0x00, 0xe2, 0x4c, 0x44,
0x80, 0x4b, 0xa2, 0x6c,
0x01, 0x4c, 0x9e, 0x7c,
0x03, 0x42, 0x4c, 0x6c,
0x00, 0xe2, 0xe0, 0x5b,
0x80, 0xf9, 0xf2, 0x01,
0x04, 0x33, 0xf9, 0x79,
0x00, 0xe2, 0xf8, 0x41,
0x08, 0x5d, 0xc4, 0x6c,
0x08, 0x5d, 0xba, 0x6c,
0x00, 0xe2, 0x56, 0x58,
0x00, 0x30, 0x45, 0x59,
0x01, 0x30, 0x01, 0x30,
0x02, 0x1b, 0xb4, 0x7c,
0x08, 0x5d, 0xc2, 0x7c,
0x02, 0x1b, 0xaa, 0x7c,
0x08, 0x5d, 0xb8, 0x7c,
0x03, 0x68, 0x00, 0x37,
0x01, 0x84, 0x09, 0x07,
0x80, 0x1b, 0xce, 0x7c,
0x80, 0x84, 0xcf, 0x6c,
0x80, 0x1b, 0xc4, 0x7c,
0x80, 0x84, 0xc5, 0x6c,
0xff, 0x85, 0x0b, 0x1b,
0xff, 0x86, 0x0d, 0x23,
0xff, 0x87, 0x0f, 0x23,
0xf8, 0x1b, 0x08, 0x0b,
0xff, 0xea, 0x4e, 0x09,
0x04, 0x1b, 0xd6, 0x7c,
0x01, 0xa7, 0x4e, 0x01,
0xff, 0xea, 0x06, 0x0b,
0x03, 0x68, 0x00, 0x37,
0x00, 0xe2, 0xc4, 0x58,
......@@ -632,136 +624,136 @@ static uint8_t seqprog[] = {
0xf9, 0xd9, 0xb2, 0x0d,
0x01, 0xd9, 0xb2, 0x05,
0x01, 0x52, 0x48, 0x31,
0x20, 0xa4, 0xfe, 0x7c,
0x20, 0x5b, 0xfe, 0x7c,
0x80, 0xf9, 0x0c, 0x7d,
0x20, 0xa4, 0xee, 0x7c,
0x20, 0x5b, 0xee, 0x7c,
0x80, 0xf9, 0xfc, 0x7c,
0x02, 0xea, 0xb4, 0x00,
0x11, 0x00, 0x00, 0x10,
0x04, 0x19, 0x18, 0x7d,
0x04, 0x19, 0x08, 0x7d,
0xdf, 0x19, 0x32, 0x08,
0x60, 0x5b, 0xf6, 0x6c,
0x01, 0x4c, 0xf2, 0x7c,
0x60, 0x5b, 0xe6, 0x6c,
0x01, 0x4c, 0xe2, 0x7c,
0x20, 0x19, 0x32, 0x00,
0x01, 0xd9, 0xb2, 0x05,
0x02, 0xea, 0xb4, 0x00,
0x01, 0xd9, 0xb2, 0x05,
0x10, 0x5b, 0x10, 0x6d,
0x08, 0x5b, 0x1a, 0x6d,
0x20, 0x5b, 0x0a, 0x6d,
0x02, 0x5b, 0x3a, 0x6d,
0x10, 0x5b, 0x00, 0x6d,
0x08, 0x5b, 0x0a, 0x6d,
0x20, 0x5b, 0xfa, 0x6c,
0x02, 0x5b, 0x2a, 0x6d,
0x0e, 0xea, 0x50, 0x59,
0x0e, 0xea, 0x04, 0x00,
0x80, 0xf9, 0xfa, 0x6c,
0x80, 0xf9, 0xea, 0x6c,
0xdf, 0x5c, 0xb8, 0x08,
0x01, 0xd9, 0xb2, 0x05,
0x01, 0x9c, 0xf5, 0x6d,
0x00, 0xe2, 0x34, 0x5c,
0x00, 0xe2, 0x44, 0x5d,
0x01, 0x9c, 0xe5, 0x6d,
0x00, 0xe2, 0x30, 0x5c,
0x00, 0xe2, 0x34, 0x5d,
0x01, 0xae, 0x5d, 0x1b,
0x01, 0xd9, 0xb2, 0x05,
0x00, 0xe2, 0x2e, 0x5b,
0x00, 0xe2, 0x32, 0x5b,
0xf3, 0xac, 0xd5, 0x19,
0x00, 0xe2, 0x28, 0x55,
0x80, 0xac, 0x29, 0x6d,
0x00, 0xe2, 0x18, 0x55,
0x80, 0xac, 0x19, 0x6d,
0x0f, 0xea, 0x50, 0x59,
0x0f, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x30, 0x45,
0x00, 0xe2, 0x20, 0x45,
0x04, 0x8c, 0xe1, 0x30,
0x01, 0xea, 0xf2, 0x00,
0x02, 0xea, 0x36, 0x00,
0xa8, 0xea, 0x32, 0x00,
0xff, 0xad, 0x37, 0x7d,
0xff, 0xad, 0x27, 0x7d,
0x14, 0xea, 0x50, 0x59,
0x14, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xa6, 0x5d,
0x00, 0xe2, 0x96, 0x5d,
0x01, 0xd9, 0xb2, 0x05,
0x09, 0x80, 0xe1, 0x30,
0x02, 0xea, 0x36, 0x00,
0xa8, 0xea, 0x32, 0x00,
0x00, 0xe2, 0x9e, 0x5d,
0x00, 0xe2, 0x8e, 0x5d,
0x01, 0xd9, 0xb2, 0x05,
0x02, 0xa6, 0x54, 0x7d,
0x02, 0xa6, 0x44, 0x7d,
0x00, 0xe2, 0x3e, 0x59,
0x20, 0x5b, 0x62, 0x6d,
0x20, 0x5b, 0x52, 0x6d,
0xfc, 0x42, 0x3e, 0x7d,
0x10, 0x40, 0x40, 0x6d,
0x20, 0x4d, 0x42, 0x7d,
0x08, 0x5d, 0x52, 0x6d,
0x02, 0xa6, 0xe6, 0x6b,
0x00, 0xe2, 0x3e, 0x59,
0x20, 0x5b, 0x52, 0x6d,
0x01, 0x1b, 0x72, 0x6d,
0xfc, 0x42, 0x4e, 0x7d,
0x10, 0x40, 0x50, 0x6d,
0x20, 0x4d, 0x52, 0x7d,
0x08, 0x5d, 0x62, 0x6d,
0x02, 0xa6, 0xe2, 0x6b,
0x00, 0xe2, 0x3e, 0x59,
0x20, 0x5b, 0x62, 0x6d,
0x01, 0x1b, 0x82, 0x6d,
0xfc, 0x42, 0x5e, 0x7d,
0x10, 0x40, 0x60, 0x6d,
0x20, 0x4d, 0x64, 0x78,
0x08, 0x5d, 0x64, 0x78,
0x02, 0x19, 0x32, 0x00,
0x01, 0x5b, 0x40, 0x31,
0x00, 0xe2, 0xbc, 0x5c,
0x00, 0xe2, 0x9a, 0x5b,
0x00, 0xe2, 0xb2, 0x5c,
0x00, 0xe2, 0x9e, 0x5b,
0x20, 0xea, 0xb6, 0x00,
0x00, 0xe2, 0xdc, 0x5b,
0x00, 0xe2, 0xe0, 0x5b,
0x20, 0x5c, 0xb8, 0x00,
0x04, 0x19, 0x78, 0x6d,
0x01, 0x1a, 0x78, 0x6d,
0x04, 0x19, 0x68, 0x6d,
0x01, 0x1a, 0x68, 0x6d,
0x00, 0xe2, 0x3e, 0x59,
0x01, 0x1a, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01,
0x20, 0xa0, 0xdc, 0x7d,
0x20, 0xa0, 0xcc, 0x7d,
0xff, 0xae, 0x5d, 0x1b,
0x08, 0xa8, 0x3f, 0x6b,
0x08, 0xa8, 0x43, 0x6b,
0x02, 0xea, 0xb4, 0x04,
0x01, 0x9c, 0x39, 0x03,
0x40, 0x5b, 0x92, 0x6d,
0x40, 0x5b, 0x82, 0x6d,
0x00, 0xe2, 0x3e, 0x59,
0x40, 0x5b, 0x92, 0x6d,
0x04, 0x5d, 0xf6, 0x7d,
0x01, 0x1a, 0xf6, 0x7d,
0x40, 0x5b, 0x82, 0x6d,
0x04, 0x5d, 0xe6, 0x7d,
0x01, 0x1a, 0xe6, 0x7d,
0x20, 0x4d, 0x64, 0x78,
0x40, 0x5b, 0xdc, 0x7d,
0x04, 0x5d, 0xf6, 0x7d,
0x01, 0x1a, 0xf6, 0x7d,
0x40, 0x5b, 0xcc, 0x7d,
0x04, 0x5d, 0xe6, 0x7d,
0x01, 0x1a, 0xe6, 0x7d,
0x80, 0xf9, 0xf2, 0x01,
0xff, 0xae, 0x5d, 0x1b,
0x08, 0xa8, 0x3f, 0x6b,
0x08, 0xa8, 0x43, 0x6b,
0x02, 0xea, 0xb4, 0x04,
0x00, 0xe2, 0x3e, 0x59,
0x01, 0x1b, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01,
0x02, 0xea, 0xb4, 0x04,
0x00, 0xe2, 0x3e, 0x59,
0x01, 0x1b, 0xba, 0x6d,
0x40, 0x5b, 0xc8, 0x7d,
0x01, 0x1b, 0xba, 0x6d,
0x01, 0x1b, 0xaa, 0x6d,
0x40, 0x5b, 0xb8, 0x7d,
0x01, 0x1b, 0xaa, 0x6d,
0x02, 0x19, 0x32, 0x00,
0x01, 0x1a, 0x64, 0x78,
0x80, 0xf9, 0xf2, 0x01,
0xff, 0xea, 0x10, 0x03,
0x08, 0xa8, 0x51, 0x03,
0x00, 0xe2, 0x3e, 0x43,
0x01, 0x1a, 0xc4, 0x7d,
0x40, 0x5b, 0xc0, 0x7d,
0x01, 0x1a, 0xae, 0x6d,
0x00, 0xe2, 0x42, 0x43,
0x01, 0x1a, 0xb4, 0x7d,
0x40, 0x5b, 0xb0, 0x7d,
0x01, 0x1a, 0x9e, 0x6d,
0xfc, 0x42, 0x64, 0x78,
0x01, 0x1a, 0xc8, 0x6d,
0x01, 0x1a, 0xb8, 0x6d,
0x10, 0xea, 0x50, 0x59,
0x10, 0xea, 0x04, 0x00,
0xfc, 0x42, 0x64, 0x78,
0x10, 0x40, 0xce, 0x6d,
0x10, 0x40, 0xbe, 0x6d,
0x20, 0x4d, 0x64, 0x78,
0x40, 0x5b, 0xae, 0x6d,
0x40, 0x5b, 0x9e, 0x6d,
0x01, 0x1a, 0x64, 0x78,
0x01, 0xae, 0x5d, 0x1b,
0x30, 0x3f, 0xc0, 0x09,
0x30, 0xe0, 0x64, 0x60,
0x40, 0x4b, 0x64, 0x68,
0xff, 0xea, 0x52, 0x01,
0xee, 0x00, 0xe2, 0x6d,
0xee, 0x00, 0xd2, 0x6d,
0x80, 0xf9, 0xf2, 0x01,
0xff, 0xae, 0x5d, 0x1b,
0x02, 0xea, 0xb4, 0x00,
0x20, 0xea, 0x9a, 0x00,
0xf3, 0x42, 0xee, 0x6d,
0xf3, 0x42, 0xde, 0x6d,
0x12, 0xea, 0x50, 0x59,
0x12, 0xea, 0x04, 0x00,
0x00, 0xe2, 0xf8, 0x41,
......@@ -771,22 +763,22 @@ static uint8_t seqprog[] = {
0x01, 0xae, 0x5d, 0x1b,
0x11, 0xea, 0x50, 0x59,
0x11, 0xea, 0x04, 0x00,
0x00, 0xe2, 0x2e, 0x5b,
0x00, 0xe2, 0x32, 0x5b,
0x08, 0x5a, 0xb4, 0x00,
0x00, 0xe2, 0x1c, 0x5e,
0x00, 0xe2, 0x0c, 0x5e,
0xa8, 0xea, 0x32, 0x00,
0x00, 0xe2, 0x3e, 0x59,
0x80, 0x1a, 0x0a, 0x7e,
0x00, 0xe2, 0x1c, 0x5e,
0x80, 0x1a, 0xfa, 0x7d,
0x00, 0xe2, 0x0c, 0x5e,
0x80, 0x19, 0x32, 0x00,
0x40, 0x5b, 0x10, 0x6e,
0x08, 0x5a, 0x10, 0x7e,
0x40, 0x5b, 0x00, 0x6e,
0x08, 0x5a, 0x00, 0x7e,
0x20, 0x4d, 0x64, 0x78,
0x02, 0x84, 0x09, 0x03,
0x40, 0x5b, 0xdc, 0x7d,
0x40, 0x5b, 0xcc, 0x7d,
0xff, 0xae, 0x5d, 0x1b,
0x80, 0xf9, 0xf2, 0x01,
0x08, 0xa8, 0x3f, 0x6b,
0x08, 0xa8, 0x43, 0x6b,
0x02, 0xea, 0xb4, 0x04,
0x01, 0x38, 0xe1, 0x30,
0x05, 0x39, 0xe3, 0x98,
......@@ -1048,79 +1040,81 @@ static struct patch {
{ ahd_patch0_func, 333, 1, 1 },
{ ahd_patch2_func, 336, 1, 2 },
{ ahd_patch0_func, 337, 1, 1 },
{ ahd_patch1_func, 344, 1, 2 },
{ ahd_patch0_func, 345, 1, 1 },
{ ahd_patch9_func, 364, 1, 1 },
{ ahd_patch9_func, 367, 1, 1 },
{ ahd_patch1_func, 343, 1, 2 },
{ ahd_patch0_func, 344, 1, 1 },
{ ahd_patch1_func, 346, 1, 2 },
{ ahd_patch0_func, 347, 1, 1 },
{ ahd_patch9_func, 366, 1, 1 },
{ ahd_patch9_func, 369, 1, 1 },
{ ahd_patch9_func, 381, 1, 1 },
{ ahd_patch1_func, 391, 1, 2 },
{ ahd_patch0_func, 392, 1, 1 },
{ ahd_patch1_func, 394, 1, 2 },
{ ahd_patch0_func, 395, 1, 1 },
{ ahd_patch1_func, 403, 1, 2 },
{ ahd_patch0_func, 404, 1, 1 },
{ ahd_patch2_func, 417, 1, 2 },
{ ahd_patch0_func, 418, 1, 1 },
{ ahd_patch10_func, 448, 1, 1 },
{ ahd_patch1_func, 455, 1, 2 },
{ ahd_patch0_func, 456, 1, 1 },
{ ahd_patch2_func, 468, 1, 2 },
{ ahd_patch0_func, 469, 1, 1 },
{ ahd_patch11_func, 474, 6, 2 },
{ ahd_patch0_func, 480, 1, 1 },
{ ahd_patch12_func, 503, 1, 1 },
{ ahd_patch13_func, 512, 1, 1 },
{ ahd_patch14_func, 513, 1, 2 },
{ ahd_patch0_func, 514, 1, 1 },
{ ahd_patch9_func, 371, 1, 1 },
{ ahd_patch9_func, 383, 1, 1 },
{ ahd_patch1_func, 393, 1, 2 },
{ ahd_patch0_func, 394, 1, 1 },
{ ahd_patch1_func, 396, 1, 2 },
{ ahd_patch0_func, 397, 1, 1 },
{ ahd_patch1_func, 405, 1, 2 },
{ ahd_patch0_func, 406, 1, 1 },
{ ahd_patch2_func, 419, 1, 2 },
{ ahd_patch0_func, 420, 1, 1 },
{ ahd_patch10_func, 450, 1, 1 },
{ ahd_patch1_func, 457, 1, 2 },
{ ahd_patch0_func, 458, 1, 1 },
{ ahd_patch2_func, 470, 1, 2 },
{ ahd_patch0_func, 471, 1, 1 },
{ ahd_patch11_func, 476, 6, 2 },
{ ahd_patch0_func, 482, 1, 1 },
{ ahd_patch12_func, 505, 1, 1 },
{ ahd_patch13_func, 514, 1, 1 },
{ ahd_patch14_func, 515, 1, 2 },
{ ahd_patch0_func, 516, 1, 1 },
{ ahd_patch15_func, 519, 1, 1 },
{ ahd_patch14_func, 520, 1, 1 },
{ ahd_patch16_func, 533, 1, 2 },
{ ahd_patch0_func, 534, 1, 1 },
{ ahd_patch1_func, 556, 1, 2 },
{ ahd_patch0_func, 557, 1, 1 },
{ ahd_patch1_func, 560, 1, 2 },
{ ahd_patch0_func, 561, 1, 1 },
{ ahd_patch16_func, 531, 1, 2 },
{ ahd_patch0_func, 532, 1, 1 },
{ ahd_patch1_func, 551, 1, 2 },
{ ahd_patch0_func, 552, 1, 1 },
{ ahd_patch1_func, 555, 1, 2 },
{ ahd_patch0_func, 556, 1, 1 },
{ ahd_patch2_func, 561, 1, 2 },
{ ahd_patch0_func, 562, 1, 1 },
{ ahd_patch2_func, 566, 1, 2 },
{ ahd_patch0_func, 567, 1, 1 },
{ ahd_patch2_func, 571, 1, 2 },
{ ahd_patch0_func, 572, 1, 1 },
{ ahd_patch1_func, 573, 1, 2 },
{ ahd_patch0_func, 574, 1, 1 },
{ ahd_patch2_func, 585, 1, 2 },
{ ahd_patch0_func, 586, 1, 1 },
{ ahd_patch17_func, 590, 1, 1 },
{ ahd_patch18_func, 595, 1, 1 },
{ ahd_patch19_func, 596, 2, 1 },
{ ahd_patch18_func, 600, 1, 2 },
{ ahd_patch0_func, 601, 1, 1 },
{ ahd_patch2_func, 604, 1, 2 },
{ ahd_patch0_func, 605, 1, 1 },
{ ahd_patch2_func, 623, 1, 2 },
{ ahd_patch0_func, 624, 1, 1 },
{ ahd_patch20_func, 625, 14, 1 },
{ ahd_patch1_func, 643, 1, 2 },
{ ahd_patch0_func, 644, 1, 1 },
{ ahd_patch20_func, 645, 1, 1 },
{ ahd_patch1_func, 568, 1, 2 },
{ ahd_patch0_func, 569, 1, 1 },
{ ahd_patch2_func, 580, 1, 2 },
{ ahd_patch0_func, 581, 1, 1 },
{ ahd_patch17_func, 585, 1, 1 },
{ ahd_patch18_func, 590, 1, 1 },
{ ahd_patch19_func, 591, 2, 1 },
{ ahd_patch18_func, 595, 1, 2 },
{ ahd_patch0_func, 596, 1, 1 },
{ ahd_patch2_func, 599, 1, 2 },
{ ahd_patch0_func, 600, 1, 1 },
{ ahd_patch2_func, 615, 1, 2 },
{ ahd_patch0_func, 616, 1, 1 },
{ ahd_patch20_func, 617, 14, 1 },
{ ahd_patch1_func, 635, 1, 2 },
{ ahd_patch0_func, 636, 1, 1 },
{ ahd_patch20_func, 637, 1, 1 },
{ ahd_patch1_func, 649, 1, 2 },
{ ahd_patch0_func, 650, 1, 1 },
{ ahd_patch1_func, 657, 1, 2 },
{ ahd_patch0_func, 658, 1, 1 },
{ ahd_patch1_func, 665, 1, 2 },
{ ahd_patch0_func, 666, 1, 1 },
{ ahd_patch17_func, 689, 1, 1 },
{ ahd_patch17_func, 727, 1, 1 },
{ ahd_patch1_func, 738, 1, 2 },
{ ahd_patch0_func, 739, 1, 1 },
{ ahd_patch1_func, 756, 1, 2 },
{ ahd_patch0_func, 757, 1, 1 },
{ ahd_patch1_func, 759, 1, 2 },
{ ahd_patch0_func, 760, 1, 1 },
{ ahd_patch1_func, 763, 1, 2 },
{ ahd_patch0_func, 764, 1, 1 },
{ ahd_patch21_func, 766, 1, 2 },
{ ahd_patch0_func, 767, 2, 1 },
{ ahd_patch22_func, 770, 4, 2 },
{ ahd_patch0_func, 774, 1, 1 },
{ ahd_patch22_func, 782, 11, 1 }
{ ahd_patch17_func, 681, 1, 1 },
{ ahd_patch17_func, 719, 1, 1 },
{ ahd_patch1_func, 730, 1, 2 },
{ ahd_patch0_func, 731, 1, 1 },
{ ahd_patch1_func, 748, 1, 2 },
{ ahd_patch0_func, 749, 1, 1 },
{ ahd_patch1_func, 751, 1, 2 },
{ ahd_patch0_func, 752, 1, 1 },
{ ahd_patch1_func, 755, 1, 2 },
{ ahd_patch0_func, 756, 1, 1 },
{ ahd_patch21_func, 758, 1, 2 },
{ ahd_patch0_func, 759, 2, 1 },
{ ahd_patch22_func, 762, 4, 2 },
{ ahd_patch0_func, 766, 1, 1 },
{ ahd_patch22_func, 774, 11, 1 }
};
static struct cs {
......@@ -1136,9 +1130,9 @@ static struct cs {
{ 159, 162 },
{ 170, 178 },
{ 201, 250 },
{ 689, 705 },
{ 705, 719 },
{ 729, 733 }
{ 681, 697 },
{ 697, 711 },
{ 721, 725 }
};
static const int num_critical_sections = sizeof(critical_sections)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment