diff options
| author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-04 19:30:12 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-04 19:30:12 -0500 |
| commit | f61ea1b0c825a20a1826bb43a226387091934586 (patch) | |
| tree | fdedf0a2368f707e3fd5205db05bfcbac79606ec | |
| parent | d347da0deffa1d8f88f0d270eab040e4707c9916 (diff) | |
| parent | 7b32b8e018d8f8cc94c808a5fa84a3f889441b91 (diff) | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
95 files changed, 17446 insertions, 4471 deletions
diff --git a/Documentation/scsi/ChangeLog.megaraid b/Documentation/scsi/ChangeLog.megaraid index 5331d91432c7..09f6300eda4b 100644 --- a/Documentation/scsi/ChangeLog.megaraid +++ b/Documentation/scsi/ChangeLog.megaraid | |||
| @@ -1,3 +1,38 @@ | |||
| 1 | Release Date : Fri Nov 11 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> | ||
| 2 | Current Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module) | ||
| 3 | Older Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) | ||
| 4 | |||
| 5 | 1. Sorted out PCI IDs to remove megaraid support overlaps. | ||
| 6 | Based on the patch from Daniel, sorted out PCI IDs along with | ||
| 7 | charactor node name change from 'megadev' to 'megadev_legacy' to avoid | ||
| 8 | conflict. | ||
| 9 | --- | ||
| 10 | Hopefully we'll be getting the build restriction zapped much sooner, | ||
| 11 | but we should also be thinking about totally removing the hardware | ||
| 12 | support overlap in the megaraid drivers. | ||
| 13 | |||
| 14 | This patch pencils in a date of Feb 06 for this, and performs some | ||
| 15 | printk abuse in hope that existing legacy users might pick up on what's | ||
| 16 | going on. | ||
| 17 | |||
| 18 | Signed-off-by: Daniel Drake <dsd@gentoo.org> | ||
| 19 | --- | ||
| 20 | |||
| 21 | 2. Fixed a issue: megaraid always fails to reset handler. | ||
| 22 | --- | ||
| 23 | I found that the megaraid driver always fails to reset the | ||
| 24 | adapter with the following message: | ||
| 25 | megaraid: resetting the host... | ||
| 26 | megaraid mbox: reset sequence completed successfully | ||
| 27 | megaraid: fast sync command timed out | ||
| 28 | megaraid: reservation reset failed | ||
| 29 | when the "Cluster mode" of the adapter BIOS is enabled. | ||
| 30 | So, whenever the reset occurs, the adapter goes to | ||
| 31 | offline and just become unavailable. | ||
| 32 | |||
| 33 | Jun'ichi Nomura [mailto:jnomura@mtc.biglobe.ne.jp] | ||
| 34 | --- | ||
| 35 | |||
| 1 | Release Date : Mon Mar 07 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> | 36 | Release Date : Mon Mar 07 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> |
| 2 | Current Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) | 37 | Current Version : 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) |
| 3 | Older Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) | 38 | Older Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) |
diff --git a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt index 66565d42288f..c4af92bc705d 100644 --- a/Documentation/scsi/scsi_mid_low_api.txt +++ b/Documentation/scsi/scsi_mid_low_api.txt | |||
| @@ -150,7 +150,8 @@ scsi devices of which only the first 2 respond: | |||
| 150 | LLD mid level LLD | 150 | LLD mid level LLD |
| 151 | ===-------------------=========--------------------===------ | 151 | ===-------------------=========--------------------===------ |
| 152 | scsi_host_alloc() --> | 152 | scsi_host_alloc() --> |
| 153 | scsi_add_host() --------+ | 153 | scsi_add_host() ----> |
| 154 | scsi_scan_host() -------+ | ||
| 154 | | | 155 | | |
| 155 | slave_alloc() | 156 | slave_alloc() |
| 156 | slave_configure() --> scsi_adjust_queue_depth() | 157 | slave_configure() --> scsi_adjust_queue_depth() |
| @@ -196,7 +197,7 @@ of the issues involved. See the section on reference counting below. | |||
| 196 | 197 | ||
| 197 | 198 | ||
| 198 | The hotplug concept may be extended to SCSI devices. Currently, when an | 199 | The hotplug concept may be extended to SCSI devices. Currently, when an |
| 199 | HBA is added, the scsi_add_host() function causes a scan for SCSI devices | 200 | HBA is added, the scsi_scan_host() function causes a scan for SCSI devices |
| 200 | attached to the HBA's SCSI transport. On newer SCSI transports the HBA | 201 | attached to the HBA's SCSI transport. On newer SCSI transports the HBA |
| 201 | may become aware of a new SCSI device _after_ the scan has completed. | 202 | may become aware of a new SCSI device _after_ the scan has completed. |
| 202 | An LLD can use this sequence to make the mid level aware of a SCSI device: | 203 | An LLD can use this sequence to make the mid level aware of a SCSI device: |
| @@ -372,7 +373,7 @@ names all start with "scsi_". | |||
| 372 | Summary: | 373 | Summary: |
| 373 | scsi_activate_tcq - turn on tag command queueing | 374 | scsi_activate_tcq - turn on tag command queueing |
| 374 | scsi_add_device - creates new scsi device (lu) instance | 375 | scsi_add_device - creates new scsi device (lu) instance |
| 375 | scsi_add_host - perform sysfs registration and SCSI bus scan. | 376 | scsi_add_host - perform sysfs registration and set up transport class |
| 376 | scsi_adjust_queue_depth - change the queue depth on a SCSI device | 377 | scsi_adjust_queue_depth - change the queue depth on a SCSI device |
| 377 | scsi_assign_lock - replace default host_lock with given lock | 378 | scsi_assign_lock - replace default host_lock with given lock |
| 378 | scsi_bios_ptable - return copy of block device's partition table | 379 | scsi_bios_ptable - return copy of block device's partition table |
| @@ -386,6 +387,7 @@ Summary: | |||
| 386 | scsi_remove_device - detach and remove a SCSI device | 387 | scsi_remove_device - detach and remove a SCSI device |
| 387 | scsi_remove_host - detach and remove all SCSI devices owned by host | 388 | scsi_remove_host - detach and remove all SCSI devices owned by host |
| 388 | scsi_report_bus_reset - report scsi _bus_ reset observed | 389 | scsi_report_bus_reset - report scsi _bus_ reset observed |
| 390 | scsi_scan_host - scan SCSI bus | ||
| 389 | scsi_track_queue_full - track successive QUEUE_FULL events | 391 | scsi_track_queue_full - track successive QUEUE_FULL events |
| 390 | scsi_unblock_requests - allow further commands to be queued to given host | 392 | scsi_unblock_requests - allow further commands to be queued to given host |
| 391 | scsi_unregister - [calls scsi_host_put()] | 393 | scsi_unregister - [calls scsi_host_put()] |
| @@ -425,10 +427,10 @@ void scsi_activate_tcq(struct scsi_device *sdev, int depth) | |||
| 425 | * Might block: yes | 427 | * Might block: yes |
| 426 | * | 428 | * |
| 427 | * Notes: This call is usually performed internally during a scsi | 429 | * Notes: This call is usually performed internally during a scsi |
| 428 | * bus scan when an HBA is added (i.e. scsi_add_host()). So it | 430 | * bus scan when an HBA is added (i.e. scsi_scan_host()). So it |
| 429 | * should only be called if the HBA becomes aware of a new scsi | 431 | * should only be called if the HBA becomes aware of a new scsi |
| 430 | * device (lu) after scsi_add_host() has completed. If successful | 432 | * device (lu) after scsi_scan_host() has completed. If successful |
| 431 | * this call we lead to slave_alloc() and slave_configure() callbacks | 433 | * this call can lead to slave_alloc() and slave_configure() callbacks |
| 432 | * into the LLD. | 434 | * into the LLD. |
| 433 | * | 435 | * |
| 434 | * Defined in: drivers/scsi/scsi_scan.c | 436 | * Defined in: drivers/scsi/scsi_scan.c |
| @@ -439,7 +441,7 @@ struct scsi_device * scsi_add_device(struct Scsi_Host *shost, | |||
| 439 | 441 | ||
| 440 | 442 | ||
| 441 | /** | 443 | /** |
| 442 | * scsi_add_host - perform sysfs registration and SCSI bus scan. | 444 | * scsi_add_host - perform sysfs registration and set up transport class |
| 443 | * @shost: pointer to scsi host instance | 445 | * @shost: pointer to scsi host instance |
| 444 | * @dev: pointer to struct device of type scsi class | 446 | * @dev: pointer to struct device of type scsi class |
| 445 | * | 447 | * |
| @@ -448,7 +450,11 @@ struct scsi_device * scsi_add_device(struct Scsi_Host *shost, | |||
| 448 | * Might block: no | 450 | * Might block: no |
| 449 | * | 451 | * |
| 450 | * Notes: Only required in "hotplug initialization model" after a | 452 | * Notes: Only required in "hotplug initialization model" after a |
| 451 | * successful call to scsi_host_alloc(). | 453 | * successful call to scsi_host_alloc(). This function does not |
| 454 | * scan the bus; this can be done by calling scsi_scan_host() or | ||
| 455 | * in some other transport-specific way. The LLD must set up | ||
| 456 | * the transport template before calling this function and may only | ||
| 457 | * access the transport class data after this function has been called. | ||
| 452 | * | 458 | * |
| 453 | * Defined in: drivers/scsi/hosts.c | 459 | * Defined in: drivers/scsi/hosts.c |
| 454 | **/ | 460 | **/ |
| @@ -559,7 +565,7 @@ void scsi_deactivate_tcq(struct scsi_device *sdev, int depth) | |||
| 559 | * area for the LLD's exclusive use. | 565 | * area for the LLD's exclusive use. |
| 560 | * Both associated refcounting objects have their refcount set to 1. | 566 | * Both associated refcounting objects have their refcount set to 1. |
| 561 | * Full registration (in sysfs) and a bus scan are performed later when | 567 | * Full registration (in sysfs) and a bus scan are performed later when |
| 562 | * scsi_add_host() is called. | 568 | * scsi_add_host() and scsi_scan_host() are called. |
| 563 | * | 569 | * |
| 564 | * Defined in: drivers/scsi/hosts.c . | 570 | * Defined in: drivers/scsi/hosts.c . |
| 565 | **/ | 571 | **/ |
| @@ -699,6 +705,19 @@ void scsi_report_bus_reset(struct Scsi_Host * shost, int channel) | |||
| 699 | 705 | ||
| 700 | 706 | ||
| 701 | /** | 707 | /** |
| 708 | * scsi_scan_host - scan SCSI bus | ||
| 709 | * @shost: a pointer to a scsi host instance | ||
| 710 | * | ||
| 711 | * Might block: yes | ||
| 712 | * | ||
| 713 | * Notes: Should be called after scsi_add_host() | ||
| 714 | * | ||
| 715 | * Defined in: drivers/scsi/scsi_scan.c | ||
| 716 | **/ | ||
| 717 | void scsi_scan_host(struct Scsi_Host *shost) | ||
| 718 | |||
| 719 | |||
| 720 | /** | ||
| 702 | * scsi_track_queue_full - track successive QUEUE_FULL events on given | 721 | * scsi_track_queue_full - track successive QUEUE_FULL events on given |
| 703 | * device to determine if and when there is a need | 722 | * device to determine if and when there is a need |
| 704 | * to adjust the queue depth on the device. | 723 | * to adjust the queue depth on the device. |
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 99c9ca6d5992..d4beb9a89ee0 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
| @@ -239,7 +239,7 @@ void blk_queue_make_request(request_queue_t * q, make_request_fn * mfn) | |||
| 239 | q->backing_dev_info.ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE; | 239 | q->backing_dev_info.ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE; |
| 240 | q->backing_dev_info.state = 0; | 240 | q->backing_dev_info.state = 0; |
| 241 | q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY; | 241 | q->backing_dev_info.capabilities = BDI_CAP_MAP_COPY; |
| 242 | blk_queue_max_sectors(q, MAX_SECTORS); | 242 | blk_queue_max_sectors(q, SAFE_MAX_SECTORS); |
| 243 | blk_queue_hardsect_size(q, 512); | 243 | blk_queue_hardsect_size(q, 512); |
| 244 | blk_queue_dma_alignment(q, 511); | 244 | blk_queue_dma_alignment(q, 511); |
| 245 | blk_queue_congestion_threshold(q); | 245 | blk_queue_congestion_threshold(q); |
| @@ -555,7 +555,12 @@ void blk_queue_max_sectors(request_queue_t *q, unsigned short max_sectors) | |||
| 555 | printk("%s: set to minimum %d\n", __FUNCTION__, max_sectors); | 555 | printk("%s: set to minimum %d\n", __FUNCTION__, max_sectors); |
| 556 | } | 556 | } |
| 557 | 557 | ||
| 558 | q->max_sectors = q->max_hw_sectors = max_sectors; | 558 | if (BLK_DEF_MAX_SECTORS > max_sectors) |
| 559 | q->max_hw_sectors = q->max_sectors = max_sectors; | ||
| 560 | else { | ||
| 561 | q->max_sectors = BLK_DEF_MAX_SECTORS; | ||
| 562 | q->max_hw_sectors = max_sectors; | ||
| 563 | } | ||
| 559 | } | 564 | } |
| 560 | 565 | ||
| 561 | EXPORT_SYMBOL(blk_queue_max_sectors); | 566 | EXPORT_SYMBOL(blk_queue_max_sectors); |
| @@ -657,8 +662,8 @@ EXPORT_SYMBOL(blk_queue_hardsect_size); | |||
| 657 | void blk_queue_stack_limits(request_queue_t *t, request_queue_t *b) | 662 | void blk_queue_stack_limits(request_queue_t *t, request_queue_t *b) |
| 658 | { | 663 | { |
| 659 | /* zero is "infinity" */ | 664 | /* zero is "infinity" */ |
| 660 | t->max_sectors = t->max_hw_sectors = | 665 | t->max_sectors = min_not_zero(t->max_sectors,b->max_sectors); |
| 661 | min_not_zero(t->max_sectors,b->max_sectors); | 666 | t->max_hw_sectors = min_not_zero(t->max_hw_sectors,b->max_hw_sectors); |
| 662 | 667 | ||
| 663 | t->max_phys_segments = min(t->max_phys_segments,b->max_phys_segments); | 668 | t->max_phys_segments = min(t->max_phys_segments,b->max_phys_segments); |
| 664 | t->max_hw_segments = min(t->max_hw_segments,b->max_hw_segments); | 669 | t->max_hw_segments = min(t->max_hw_segments,b->max_hw_segments); |
| @@ -1293,9 +1298,15 @@ static inline int ll_new_hw_segment(request_queue_t *q, | |||
| 1293 | static int ll_back_merge_fn(request_queue_t *q, struct request *req, | 1298 | static int ll_back_merge_fn(request_queue_t *q, struct request *req, |
| 1294 | struct bio *bio) | 1299 | struct bio *bio) |
| 1295 | { | 1300 | { |
| 1301 | unsigned short max_sectors; | ||
| 1296 | int len; | 1302 | int len; |
| 1297 | 1303 | ||
| 1298 | if (req->nr_sectors + bio_sectors(bio) > q->max_sectors) { | 1304 | if (unlikely(blk_pc_request(req))) |
| 1305 | max_sectors = q->max_hw_sectors; | ||
| 1306 | else | ||
| 1307 | max_sectors = q->max_sectors; | ||
| 1308 | |||
| 1309 | if (req->nr_sectors + bio_sectors(bio) > max_sectors) { | ||
| 1299 | req->flags |= REQ_NOMERGE; | 1310 | req->flags |= REQ_NOMERGE; |
| 1300 | if (req == q->last_merge) | 1311 | if (req == q->last_merge) |
| 1301 | q->last_merge = NULL; | 1312 | q->last_merge = NULL; |
| @@ -1325,9 +1336,16 @@ static int ll_back_merge_fn(request_queue_t *q, struct request *req, | |||
| 1325 | static int ll_front_merge_fn(request_queue_t *q, struct request *req, | 1336 | static int ll_front_merge_fn(request_queue_t *q, struct request *req, |
| 1326 | struct bio *bio) | 1337 | struct bio *bio) |
| 1327 | { | 1338 | { |
| 1339 | unsigned short max_sectors; | ||
| 1328 | int len; | 1340 | int len; |
| 1329 | 1341 | ||
| 1330 | if (req->nr_sectors + bio_sectors(bio) > q->max_sectors) { | 1342 | if (unlikely(blk_pc_request(req))) |
| 1343 | max_sectors = q->max_hw_sectors; | ||
| 1344 | else | ||
| 1345 | max_sectors = q->max_sectors; | ||
| 1346 | |||
| 1347 | |||
| 1348 | if (req->nr_sectors + bio_sectors(bio) > max_sectors) { | ||
| 1331 | req->flags |= REQ_NOMERGE; | 1349 | req->flags |= REQ_NOMERGE; |
| 1332 | if (req == q->last_merge) | 1350 | if (req == q->last_merge) |
| 1333 | q->last_merge = NULL; | 1351 | q->last_merge = NULL; |
| @@ -2144,7 +2162,7 @@ int blk_rq_map_user(request_queue_t *q, struct request *rq, void __user *ubuf, | |||
| 2144 | struct bio *bio; | 2162 | struct bio *bio; |
| 2145 | int reading; | 2163 | int reading; |
| 2146 | 2164 | ||
| 2147 | if (len > (q->max_sectors << 9)) | 2165 | if (len > (q->max_hw_sectors << 9)) |
| 2148 | return -EINVAL; | 2166 | return -EINVAL; |
| 2149 | if (!len || !ubuf) | 2167 | if (!len || !ubuf) |
| 2150 | return -EINVAL; | 2168 | return -EINVAL; |
| @@ -2259,7 +2277,7 @@ int blk_rq_map_kern(request_queue_t *q, struct request *rq, void *kbuf, | |||
| 2259 | { | 2277 | { |
| 2260 | struct bio *bio; | 2278 | struct bio *bio; |
| 2261 | 2279 | ||
| 2262 | if (len > (q->max_sectors << 9)) | 2280 | if (len > (q->max_hw_sectors << 9)) |
| 2263 | return -EINVAL; | 2281 | return -EINVAL; |
| 2264 | if (!len || !kbuf) | 2282 | if (!len || !kbuf) |
| 2265 | return -EINVAL; | 2283 | return -EINVAL; |
| @@ -2306,6 +2324,8 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk, | |||
| 2306 | generic_unplug_device(q); | 2324 | generic_unplug_device(q); |
| 2307 | } | 2325 | } |
| 2308 | 2326 | ||
| 2327 | EXPORT_SYMBOL_GPL(blk_execute_rq_nowait); | ||
| 2328 | |||
| 2309 | /** | 2329 | /** |
| 2310 | * blk_execute_rq - insert a request into queue for execution | 2330 | * blk_execute_rq - insert a request into queue for execution |
| 2311 | * @q: queue to insert the request in | 2331 | * @q: queue to insert the request in |
| @@ -2444,7 +2464,7 @@ void disk_round_stats(struct gendisk *disk) | |||
| 2444 | /* | 2464 | /* |
| 2445 | * queue lock must be held | 2465 | * queue lock must be held |
| 2446 | */ | 2466 | */ |
| 2447 | static void __blk_put_request(request_queue_t *q, struct request *req) | 2467 | void __blk_put_request(request_queue_t *q, struct request *req) |
| 2448 | { | 2468 | { |
| 2449 | struct request_list *rl = req->rl; | 2469 | struct request_list *rl = req->rl; |
| 2450 | 2470 | ||
| @@ -2473,6 +2493,8 @@ static void __blk_put_request(request_queue_t *q, struct request *req) | |||
| 2473 | } | 2493 | } |
| 2474 | } | 2494 | } |
| 2475 | 2495 | ||
| 2496 | EXPORT_SYMBOL_GPL(__blk_put_request); | ||
| 2497 | |||
| 2476 | void blk_put_request(struct request *req) | 2498 | void blk_put_request(struct request *req) |
| 2477 | { | 2499 | { |
| 2478 | unsigned long flags; | 2500 | unsigned long flags; |
diff --git a/block/scsi_ioctl.c b/block/scsi_ioctl.c index 6e7db2e79f42..1d8852f7bbff 100644 --- a/block/scsi_ioctl.c +++ b/block/scsi_ioctl.c | |||
| @@ -233,7 +233,7 @@ static int sg_io(struct file *file, request_queue_t *q, | |||
| 233 | if (verify_command(file, cmd)) | 233 | if (verify_command(file, cmd)) |
| 234 | return -EPERM; | 234 | return -EPERM; |
| 235 | 235 | ||
| 236 | if (hdr->dxfer_len > (q->max_sectors << 9)) | 236 | if (hdr->dxfer_len > (q->max_hw_sectors << 9)) |
| 237 | return -EIO; | 237 | return -EIO; |
| 238 | 238 | ||
| 239 | if (hdr->dxfer_len) | 239 | if (hdr->dxfer_len) |
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index a6d3baa46f61..a6f2dc66c3db 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c | |||
| @@ -638,7 +638,7 @@ int dm_split_args(int *argc, char ***argvp, char *input) | |||
| 638 | static void check_for_valid_limits(struct io_restrictions *rs) | 638 | static void check_for_valid_limits(struct io_restrictions *rs) |
| 639 | { | 639 | { |
| 640 | if (!rs->max_sectors) | 640 | if (!rs->max_sectors) |
| 641 | rs->max_sectors = MAX_SECTORS; | 641 | rs->max_sectors = SAFE_MAX_SECTORS; |
| 642 | if (!rs->max_phys_segments) | 642 | if (!rs->max_phys_segments) |
| 643 | rs->max_phys_segments = MAX_PHYS_SEGMENTS; | 643 | rs->max_phys_segments = MAX_PHYS_SEGMENTS; |
| 644 | if (!rs->max_hw_segments) | 644 | if (!rs->max_hw_segments) |
diff --git a/drivers/message/fusion/mptbase.c b/drivers/message/fusion/mptbase.c index 4262a22adc22..537836068c49 100644 --- a/drivers/message/fusion/mptbase.c +++ b/drivers/message/fusion/mptbase.c | |||
| @@ -313,13 +313,13 @@ mpt_reply(MPT_ADAPTER *ioc, u32 pa) | |||
| 313 | u32 log_info = le32_to_cpu(mr->u.reply.IOCLogInfo); | 313 | u32 log_info = le32_to_cpu(mr->u.reply.IOCLogInfo); |
| 314 | if (ioc->bus_type == FC) | 314 | if (ioc->bus_type == FC) |
| 315 | mpt_fc_log_info(ioc, log_info); | 315 | mpt_fc_log_info(ioc, log_info); |
| 316 | else if (ioc->bus_type == SCSI) | 316 | else if (ioc->bus_type == SPI) |
| 317 | mpt_sp_log_info(ioc, log_info); | 317 | mpt_sp_log_info(ioc, log_info); |
| 318 | else if (ioc->bus_type == SAS) | 318 | else if (ioc->bus_type == SAS) |
| 319 | mpt_sas_log_info(ioc, log_info); | 319 | mpt_sas_log_info(ioc, log_info); |
| 320 | } | 320 | } |
| 321 | if (ioc_stat & MPI_IOCSTATUS_MASK) { | 321 | if (ioc_stat & MPI_IOCSTATUS_MASK) { |
| 322 | if (ioc->bus_type == SCSI && | 322 | if (ioc->bus_type == SPI && |
| 323 | cb_idx != mpt_stm_index && | 323 | cb_idx != mpt_stm_index && |
| 324 | cb_idx != mpt_lan_index) | 324 | cb_idx != mpt_lan_index) |
| 325 | mpt_sp_ioc_info(ioc, (u32)ioc_stat, mf); | 325 | mpt_sp_ioc_info(ioc, (u32)ioc_stat, mf); |
| @@ -1376,7 +1376,7 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1376 | } | 1376 | } |
| 1377 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_53C1030) { | 1377 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_53C1030) { |
| 1378 | ioc->prod_name = "LSI53C1030"; | 1378 | ioc->prod_name = "LSI53C1030"; |
| 1379 | ioc->bus_type = SCSI; | 1379 | ioc->bus_type = SPI; |
| 1380 | /* 1030 Chip Fix. Disable Split transactions | 1380 | /* 1030 Chip Fix. Disable Split transactions |
| 1381 | * for PCIX. Set MOST bits to zero if Rev < C0( = 8). | 1381 | * for PCIX. Set MOST bits to zero if Rev < C0( = 8). |
| 1382 | */ | 1382 | */ |
| @@ -1389,7 +1389,7 @@ mpt_attach(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1389 | } | 1389 | } |
| 1390 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_1030_53C1035) { | 1390 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_1030_53C1035) { |
| 1391 | ioc->prod_name = "LSI53C1035"; | 1391 | ioc->prod_name = "LSI53C1035"; |
| 1392 | ioc->bus_type = SCSI; | 1392 | ioc->bus_type = SPI; |
| 1393 | } | 1393 | } |
| 1394 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_SAS1064) { | 1394 | else if (pdev->device == MPI_MANUFACTPAGE_DEVID_SAS1064) { |
| 1395 | ioc->prod_name = "LSISAS1064"; | 1395 | ioc->prod_name = "LSISAS1064"; |
| @@ -3042,7 +3042,7 @@ mpt_downloadboot(MPT_ADAPTER *ioc, MpiFwHeader_t *pFwHeader, int sleepFlag) | |||
| 3042 | /* Clear the internal flash bad bit - autoincrementing register, | 3042 | /* Clear the internal flash bad bit - autoincrementing register, |
| 3043 | * so must do two writes. | 3043 | * so must do two writes. |
| 3044 | */ | 3044 | */ |
| 3045 | if (ioc->bus_type == SCSI) { | 3045 | if (ioc->bus_type == SPI) { |
| 3046 | /* | 3046 | /* |
| 3047 | * 1030 and 1035 H/W errata, workaround to access | 3047 | * 1030 and 1035 H/W errata, workaround to access |
| 3048 | * the ClearFlashBadSignatureBit | 3048 | * the ClearFlashBadSignatureBit |
| @@ -3152,7 +3152,7 @@ KickStart(MPT_ADAPTER *ioc, int force, int sleepFlag) | |||
| 3152 | int cnt,cntdn; | 3152 | int cnt,cntdn; |
| 3153 | 3153 | ||
| 3154 | dinitprintk((KERN_WARNING MYNAM ": KickStarting %s!\n", ioc->name)); | 3154 | dinitprintk((KERN_WARNING MYNAM ": KickStarting %s!\n", ioc->name)); |
| 3155 | if (ioc->bus_type == SCSI) { | 3155 | if (ioc->bus_type == SPI) { |
| 3156 | /* Always issue a Msg Unit Reset first. This will clear some | 3156 | /* Always issue a Msg Unit Reset first. This will clear some |
| 3157 | * SCSI bus hang conditions. | 3157 | * SCSI bus hang conditions. |
| 3158 | */ | 3158 | */ |
| @@ -3580,7 +3580,7 @@ initChainBuffers(MPT_ADAPTER *ioc) | |||
| 3580 | dinitprintk((KERN_INFO MYNAM ": %s Now numSGE=%d num_sge=%d num_chain=%d\n", | 3580 | dinitprintk((KERN_INFO MYNAM ": %s Now numSGE=%d num_sge=%d num_chain=%d\n", |
| 3581 | ioc->name, numSGE, num_sge, num_chain)); | 3581 | ioc->name, numSGE, num_sge, num_chain)); |
| 3582 | 3582 | ||
| 3583 | if (ioc->bus_type == SCSI) | 3583 | if (ioc->bus_type == SPI) |
| 3584 | num_chain *= MPT_SCSI_CAN_QUEUE; | 3584 | num_chain *= MPT_SCSI_CAN_QUEUE; |
| 3585 | else | 3585 | else |
| 3586 | num_chain *= MPT_FC_CAN_QUEUE; | 3586 | num_chain *= MPT_FC_CAN_QUEUE; |
diff --git a/drivers/message/fusion/mptbase.h b/drivers/message/fusion/mptbase.h index bac8eb4186d2..6c48d1f54ac9 100644 --- a/drivers/message/fusion/mptbase.h +++ b/drivers/message/fusion/mptbase.h | |||
| @@ -76,8 +76,8 @@ | |||
| 76 | #define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR | 76 | #define COPYRIGHT "Copyright (c) 1999-2005 " MODULEAUTHOR |
| 77 | #endif | 77 | #endif |
| 78 | 78 | ||
| 79 | #define MPT_LINUX_VERSION_COMMON "3.03.04" | 79 | #define MPT_LINUX_VERSION_COMMON "3.03.05" |
| 80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.04" | 80 | #define MPT_LINUX_PACKAGE_NAME "@(#)mptlinux-3.03.05" |
| 81 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" | 81 | #define WHAT_MAGIC_STRING "@" "(" "#" ")" |
| 82 | 82 | ||
| 83 | #define show_mptmod_ver(s,ver) \ | 83 | #define show_mptmod_ver(s,ver) \ |
| @@ -321,7 +321,7 @@ typedef struct _SYSIF_REGS | |||
| 321 | * Dynamic Multi-Pathing specific stuff... | 321 | * Dynamic Multi-Pathing specific stuff... |
| 322 | */ | 322 | */ |
| 323 | 323 | ||
| 324 | /* VirtDevice negoFlags field */ | 324 | /* VirtTarget negoFlags field */ |
| 325 | #define MPT_TARGET_NO_NEGO_WIDE 0x01 | 325 | #define MPT_TARGET_NO_NEGO_WIDE 0x01 |
| 326 | #define MPT_TARGET_NO_NEGO_SYNC 0x02 | 326 | #define MPT_TARGET_NO_NEGO_SYNC 0x02 |
| 327 | #define MPT_TARGET_NO_NEGO_QAS 0x04 | 327 | #define MPT_TARGET_NO_NEGO_QAS 0x04 |
| @@ -330,8 +330,7 @@ typedef struct _SYSIF_REGS | |||
| 330 | /* | 330 | /* |
| 331 | * VirtDevice - FC LUN device or SCSI target device | 331 | * VirtDevice - FC LUN device or SCSI target device |
| 332 | */ | 332 | */ |
| 333 | typedef struct _VirtDevice { | 333 | typedef struct _VirtTarget { |
| 334 | struct scsi_device *device; | ||
| 335 | u8 tflags; | 334 | u8 tflags; |
| 336 | u8 ioc_id; | 335 | u8 ioc_id; |
| 337 | u8 target_id; | 336 | u8 target_id; |
| @@ -342,21 +341,18 @@ typedef struct _VirtDevice { | |||
| 342 | u8 negoFlags; /* bit field, see above */ | 341 | u8 negoFlags; /* bit field, see above */ |
| 343 | u8 raidVolume; /* set, if RAID Volume */ | 342 | u8 raidVolume; /* set, if RAID Volume */ |
| 344 | u8 type; /* byte 0 of Inquiry data */ | 343 | u8 type; /* byte 0 of Inquiry data */ |
| 345 | u8 cflags; /* controller flags */ | ||
| 346 | u8 rsvd1raid; | ||
| 347 | u16 fc_phys_lun; | ||
| 348 | u16 fc_xlat_lun; | ||
| 349 | u32 num_luns; | 344 | u32 num_luns; |
| 350 | u32 luns[8]; /* Max LUNs is 256 */ | 345 | u32 luns[8]; /* Max LUNs is 256 */ |
| 351 | u8 pad[4]; | ||
| 352 | u8 inq_data[8]; | 346 | u8 inq_data[8]; |
| 353 | /* IEEE Registered Extended Identifier | 347 | } VirtTarget; |
| 354 | obtained via INQUIRY VPD page 0x83 */ | 348 | |
| 355 | /* NOTE: Do not separate uniq_prepad and uniq_data | 349 | typedef struct _VirtDevice { |
| 356 | as they are treateed as a single entity in the code */ | 350 | VirtTarget *vtarget; |
| 357 | u8 uniq_prepad[8]; | 351 | u8 ioc_id; |
| 358 | u8 uniq_data[20]; | 352 | u8 bus_id; |
| 359 | u8 pad2[4]; | 353 | u8 target_id; |
| 354 | u8 configured_lun; | ||
| 355 | u32 lun; | ||
| 360 | } VirtDevice; | 356 | } VirtDevice; |
| 361 | 357 | ||
| 362 | /* | 358 | /* |
| @@ -903,7 +899,7 @@ typedef struct _MPT_LOCAL_REPLY { | |||
| 903 | 899 | ||
| 904 | typedef enum { | 900 | typedef enum { |
| 905 | FC, | 901 | FC, |
| 906 | SCSI, | 902 | SPI, |
| 907 | SAS | 903 | SAS |
| 908 | } BUS_TYPE; | 904 | } BUS_TYPE; |
| 909 | 905 | ||
| @@ -912,7 +908,7 @@ typedef struct _MPT_SCSI_HOST { | |||
| 912 | int port; | 908 | int port; |
| 913 | u32 pad0; | 909 | u32 pad0; |
| 914 | struct scsi_cmnd **ScsiLookup; | 910 | struct scsi_cmnd **ScsiLookup; |
| 915 | VirtDevice **Targets; | 911 | VirtTarget **Targets; |
| 916 | MPT_LOCAL_REPLY *pLocal; /* used for internal commands */ | 912 | MPT_LOCAL_REPLY *pLocal; /* used for internal commands */ |
| 917 | struct timer_list timer; | 913 | struct timer_list timer; |
| 918 | /* Pool of memory for holding SCpnts before doing | 914 | /* Pool of memory for holding SCpnts before doing |
diff --git a/drivers/message/fusion/mptctl.c b/drivers/message/fusion/mptctl.c index 602138f8544d..959d2c5951b8 100644 --- a/drivers/message/fusion/mptctl.c +++ b/drivers/message/fusion/mptctl.c | |||
| @@ -1245,7 +1245,7 @@ mptctl_gettargetinfo (unsigned long arg) | |||
| 1245 | MPT_ADAPTER *ioc; | 1245 | MPT_ADAPTER *ioc; |
| 1246 | struct Scsi_Host *sh; | 1246 | struct Scsi_Host *sh; |
| 1247 | MPT_SCSI_HOST *hd; | 1247 | MPT_SCSI_HOST *hd; |
| 1248 | VirtDevice *vdev; | 1248 | VirtTarget *vdev; |
| 1249 | char *pmem; | 1249 | char *pmem; |
| 1250 | int *pdata; | 1250 | int *pdata; |
| 1251 | IOCPage2_t *pIoc2; | 1251 | IOCPage2_t *pIoc2; |
| @@ -1822,7 +1822,7 @@ mptctl_do_mpt_command (struct mpt_ioctl_command karg, void __user *mfPtr) | |||
| 1822 | case MPI_FUNCTION_SCSI_IO_REQUEST: | 1822 | case MPI_FUNCTION_SCSI_IO_REQUEST: |
| 1823 | if (ioc->sh) { | 1823 | if (ioc->sh) { |
| 1824 | SCSIIORequest_t *pScsiReq = (SCSIIORequest_t *) mf; | 1824 | SCSIIORequest_t *pScsiReq = (SCSIIORequest_t *) mf; |
| 1825 | VirtDevice *pTarget = NULL; | 1825 | VirtTarget *pTarget = NULL; |
| 1826 | MPT_SCSI_HOST *hd = NULL; | 1826 | MPT_SCSI_HOST *hd = NULL; |
| 1827 | int qtag = MPI_SCSIIO_CONTROL_UNTAGGED; | 1827 | int qtag = MPI_SCSIIO_CONTROL_UNTAGGED; |
| 1828 | int scsidir = 0; | 1828 | int scsidir = 0; |
diff --git a/drivers/message/fusion/mptfc.c b/drivers/message/fusion/mptfc.c index a628be9bbbad..ba61e1828858 100644 --- a/drivers/message/fusion/mptfc.c +++ b/drivers/message/fusion/mptfc.c | |||
| @@ -84,13 +84,16 @@ static int mptfcTaskCtx = -1; | |||
| 84 | static int mptfcInternalCtx = -1; /* Used only for internal commands */ | 84 | static int mptfcInternalCtx = -1; /* Used only for internal commands */ |
| 85 | 85 | ||
| 86 | static struct scsi_host_template mptfc_driver_template = { | 86 | static struct scsi_host_template mptfc_driver_template = { |
| 87 | .module = THIS_MODULE, | ||
| 87 | .proc_name = "mptfc", | 88 | .proc_name = "mptfc", |
| 88 | .proc_info = mptscsih_proc_info, | 89 | .proc_info = mptscsih_proc_info, |
| 89 | .name = "MPT FC Host", | 90 | .name = "MPT FC Host", |
| 90 | .info = mptscsih_info, | 91 | .info = mptscsih_info, |
| 91 | .queuecommand = mptscsih_qcmd, | 92 | .queuecommand = mptscsih_qcmd, |
| 93 | .target_alloc = mptscsih_target_alloc, | ||
| 92 | .slave_alloc = mptscsih_slave_alloc, | 94 | .slave_alloc = mptscsih_slave_alloc, |
| 93 | .slave_configure = mptscsih_slave_configure, | 95 | .slave_configure = mptscsih_slave_configure, |
| 96 | .target_destroy = mptscsih_target_destroy, | ||
| 94 | .slave_destroy = mptscsih_slave_destroy, | 97 | .slave_destroy = mptscsih_slave_destroy, |
| 95 | .change_queue_depth = mptscsih_change_queue_depth, | 98 | .change_queue_depth = mptscsih_change_queue_depth, |
| 96 | .eh_abort_handler = mptscsih_abort, | 99 | .eh_abort_handler = mptscsih_abort, |
| @@ -167,13 +170,15 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 167 | printk(MYIOC_s_WARN_FMT | 170 | printk(MYIOC_s_WARN_FMT |
| 168 | "Skipping because it's not operational!\n", | 171 | "Skipping because it's not operational!\n", |
| 169 | ioc->name); | 172 | ioc->name); |
| 170 | return -ENODEV; | 173 | error = -ENODEV; |
| 174 | goto out_mptfc_probe; | ||
| 171 | } | 175 | } |
| 172 | 176 | ||
| 173 | if (!ioc->active) { | 177 | if (!ioc->active) { |
| 174 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", | 178 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", |
| 175 | ioc->name); | 179 | ioc->name); |
| 176 | return -ENODEV; | 180 | error = -ENODEV; |
| 181 | goto out_mptfc_probe; | ||
| 177 | } | 182 | } |
| 178 | 183 | ||
| 179 | /* Sanity check - ensure at least 1 port is INITIATOR capable | 184 | /* Sanity check - ensure at least 1 port is INITIATOR capable |
| @@ -198,7 +203,8 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 198 | printk(MYIOC_s_WARN_FMT | 203 | printk(MYIOC_s_WARN_FMT |
| 199 | "Unable to register controller with SCSI subsystem\n", | 204 | "Unable to register controller with SCSI subsystem\n", |
| 200 | ioc->name); | 205 | ioc->name); |
| 201 | return -1; | 206 | error = -1; |
| 207 | goto out_mptfc_probe; | ||
| 202 | } | 208 | } |
| 203 | 209 | ||
| 204 | spin_lock_irqsave(&ioc->FreeQlock, flags); | 210 | spin_lock_irqsave(&ioc->FreeQlock, flags); |
| @@ -266,7 +272,7 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 266 | mem = kmalloc(sz, GFP_ATOMIC); | 272 | mem = kmalloc(sz, GFP_ATOMIC); |
| 267 | if (mem == NULL) { | 273 | if (mem == NULL) { |
| 268 | error = -ENOMEM; | 274 | error = -ENOMEM; |
| 269 | goto mptfc_probe_failed; | 275 | goto out_mptfc_probe; |
| 270 | } | 276 | } |
| 271 | 277 | ||
| 272 | memset(mem, 0, sz); | 278 | memset(mem, 0, sz); |
| @@ -284,14 +290,14 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 284 | mem = kmalloc(sz, GFP_ATOMIC); | 290 | mem = kmalloc(sz, GFP_ATOMIC); |
| 285 | if (mem == NULL) { | 291 | if (mem == NULL) { |
| 286 | error = -ENOMEM; | 292 | error = -ENOMEM; |
| 287 | goto mptfc_probe_failed; | 293 | goto out_mptfc_probe; |
| 288 | } | 294 | } |
| 289 | 295 | ||
| 290 | memset(mem, 0, sz); | 296 | memset(mem, 0, sz); |
| 291 | hd->Targets = (VirtDevice **) mem; | 297 | hd->Targets = (VirtTarget **) mem; |
| 292 | 298 | ||
| 293 | dprintk((KERN_INFO | 299 | dprintk((KERN_INFO |
| 294 | " Targets @ %p, sz=%d\n", hd->Targets, sz)); | 300 | " vdev @ %p, sz=%d\n", hd->Targets, sz)); |
| 295 | 301 | ||
| 296 | /* Clear the TM flags | 302 | /* Clear the TM flags |
| 297 | */ | 303 | */ |
| @@ -330,13 +336,13 @@ mptfc_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 330 | if(error) { | 336 | if(error) { |
| 331 | dprintk((KERN_ERR MYNAM | 337 | dprintk((KERN_ERR MYNAM |
| 332 | "scsi_add_host failed\n")); | 338 | "scsi_add_host failed\n")); |
| 333 | goto mptfc_probe_failed; | 339 | goto out_mptfc_probe; |
| 334 | } | 340 | } |
| 335 | 341 | ||
| 336 | scsi_scan_host(sh); | 342 | scsi_scan_host(sh); |
| 337 | return 0; | 343 | return 0; |
| 338 | 344 | ||
| 339 | mptfc_probe_failed: | 345 | out_mptfc_probe: |
| 340 | 346 | ||
| 341 | mptscsih_remove(pdev); | 347 | mptscsih_remove(pdev); |
| 342 | return error; | 348 | return error; |
diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c index e0a8bb8ba7d8..17e9757e728b 100644 --- a/drivers/message/fusion/mptsas.c +++ b/drivers/message/fusion/mptsas.c | |||
| @@ -228,31 +228,35 @@ static void mptsas_print_expander_pg1(SasExpanderPage1_t *pg1) | |||
| 228 | * implement ->target_alloc. | 228 | * implement ->target_alloc. |
| 229 | */ | 229 | */ |
| 230 | static int | 230 | static int |
| 231 | mptsas_slave_alloc(struct scsi_device *device) | 231 | mptsas_slave_alloc(struct scsi_device *sdev) |
| 232 | { | 232 | { |
| 233 | struct Scsi_Host *host = device->host; | 233 | struct Scsi_Host *host = sdev->host; |
| 234 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; | 234 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; |
| 235 | struct sas_rphy *rphy; | 235 | struct sas_rphy *rphy; |
| 236 | struct mptsas_portinfo *p; | 236 | struct mptsas_portinfo *p; |
| 237 | VirtTarget *vtarget; | ||
| 237 | VirtDevice *vdev; | 238 | VirtDevice *vdev; |
| 238 | uint target = device->id; | 239 | struct scsi_target *starget; |
| 239 | int i; | 240 | int i; |
| 240 | 241 | ||
| 241 | if ((vdev = hd->Targets[target]) != NULL) | ||
| 242 | goto out; | ||
| 243 | |||
| 244 | vdev = kmalloc(sizeof(VirtDevice), GFP_KERNEL); | 242 | vdev = kmalloc(sizeof(VirtDevice), GFP_KERNEL); |
| 245 | if (!vdev) { | 243 | if (!vdev) { |
| 246 | printk(MYIOC_s_ERR_FMT "slave_alloc kmalloc(%zd) FAILED!\n", | 244 | printk(MYIOC_s_ERR_FMT "slave_alloc kmalloc(%zd) FAILED!\n", |
| 247 | hd->ioc->name, sizeof(VirtDevice)); | 245 | hd->ioc->name, sizeof(VirtDevice)); |
| 248 | return -ENOMEM; | 246 | return -ENOMEM; |
| 249 | } | 247 | } |
| 250 | |||
| 251 | memset(vdev, 0, sizeof(VirtDevice)); | 248 | memset(vdev, 0, sizeof(VirtDevice)); |
| 252 | vdev->tflags = MPT_TARGET_FLAGS_Q_YES|MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 253 | vdev->ioc_id = hd->ioc->id; | 249 | vdev->ioc_id = hd->ioc->id; |
| 250 | sdev->hostdata = vdev; | ||
| 251 | starget = scsi_target(sdev); | ||
| 252 | vtarget = starget->hostdata; | ||
| 253 | vdev->vtarget = vtarget; | ||
| 254 | if (vtarget->num_luns == 0) { | ||
| 255 | vtarget->tflags = MPT_TARGET_FLAGS_Q_YES|MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 256 | hd->Targets[sdev->id] = vtarget; | ||
| 257 | } | ||
| 254 | 258 | ||
| 255 | rphy = dev_to_rphy(device->sdev_target->dev.parent); | 259 | rphy = dev_to_rphy(sdev->sdev_target->dev.parent); |
| 256 | list_for_each_entry(p, &hd->ioc->sas_topology, list) { | 260 | list_for_each_entry(p, &hd->ioc->sas_topology, list) { |
| 257 | for (i = 0; i < p->num_phys; i++) { | 261 | for (i = 0; i < p->num_phys; i++) { |
| 258 | if (p->phy_info[i].attached.sas_address == | 262 | if (p->phy_info[i].attached.sas_address == |
| @@ -260,7 +264,7 @@ mptsas_slave_alloc(struct scsi_device *device) | |||
| 260 | vdev->target_id = | 264 | vdev->target_id = |
| 261 | p->phy_info[i].attached.target; | 265 | p->phy_info[i].attached.target; |
| 262 | vdev->bus_id = p->phy_info[i].attached.bus; | 266 | vdev->bus_id = p->phy_info[i].attached.bus; |
| 263 | hd->Targets[device->id] = vdev; | 267 | vdev->lun = sdev->lun; |
| 264 | goto out; | 268 | goto out; |
| 265 | } | 269 | } |
| 266 | } | 270 | } |
| @@ -271,19 +275,24 @@ mptsas_slave_alloc(struct scsi_device *device) | |||
| 271 | return -ENODEV; | 275 | return -ENODEV; |
| 272 | 276 | ||
| 273 | out: | 277 | out: |
| 274 | vdev->num_luns++; | 278 | vtarget->ioc_id = vdev->ioc_id; |
| 275 | device->hostdata = vdev; | 279 | vtarget->target_id = vdev->target_id; |
| 280 | vtarget->bus_id = vdev->bus_id; | ||
| 281 | vtarget->num_luns++; | ||
| 276 | return 0; | 282 | return 0; |
| 277 | } | 283 | } |
| 278 | 284 | ||
| 279 | static struct scsi_host_template mptsas_driver_template = { | 285 | static struct scsi_host_template mptsas_driver_template = { |
| 286 | .module = THIS_MODULE, | ||
| 280 | .proc_name = "mptsas", | 287 | .proc_name = "mptsas", |
| 281 | .proc_info = mptscsih_proc_info, | 288 | .proc_info = mptscsih_proc_info, |
| 282 | .name = "MPT SPI Host", | 289 | .name = "MPT SPI Host", |
| 283 | .info = mptscsih_info, | 290 | .info = mptscsih_info, |
| 284 | .queuecommand = mptscsih_qcmd, | 291 | .queuecommand = mptscsih_qcmd, |
| 292 | .target_alloc = mptscsih_target_alloc, | ||
| 285 | .slave_alloc = mptsas_slave_alloc, | 293 | .slave_alloc = mptsas_slave_alloc, |
| 286 | .slave_configure = mptscsih_slave_configure, | 294 | .slave_configure = mptscsih_slave_configure, |
| 295 | .target_destroy = mptscsih_target_destroy, | ||
| 287 | .slave_destroy = mptscsih_slave_destroy, | 296 | .slave_destroy = mptscsih_slave_destroy, |
| 288 | .change_queue_depth = mptscsih_change_queue_depth, | 297 | .change_queue_depth = mptscsih_change_queue_depth, |
| 289 | .eh_abort_handler = mptscsih_abort, | 298 | .eh_abort_handler = mptscsih_abort, |
| @@ -986,7 +995,6 @@ mptsas_probe_hba_phys(MPT_ADAPTER *ioc, int *index) | |||
| 986 | goto out_free_port_info; | 995 | goto out_free_port_info; |
| 987 | 996 | ||
| 988 | list_add_tail(&port_info->list, &ioc->sas_topology); | 997 | list_add_tail(&port_info->list, &ioc->sas_topology); |
| 989 | |||
| 990 | for (i = 0; i < port_info->num_phys; i++) { | 998 | for (i = 0; i < port_info->num_phys; i++) { |
| 991 | mptsas_sas_phy_pg0(ioc, &port_info->phy_info[i], | 999 | mptsas_sas_phy_pg0(ioc, &port_info->phy_info[i], |
| 992 | (MPI_SAS_PHY_PGAD_FORM_PHY_NUMBER << | 1000 | (MPI_SAS_PHY_PGAD_FORM_PHY_NUMBER << |
| @@ -1133,13 +1141,15 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1133 | printk(MYIOC_s_WARN_FMT | 1141 | printk(MYIOC_s_WARN_FMT |
| 1134 | "Skipping because it's not operational!\n", | 1142 | "Skipping because it's not operational!\n", |
| 1135 | ioc->name); | 1143 | ioc->name); |
| 1136 | return -ENODEV; | 1144 | error = -ENODEV; |
| 1145 | goto out_mptsas_probe; | ||
| 1137 | } | 1146 | } |
| 1138 | 1147 | ||
| 1139 | if (!ioc->active) { | 1148 | if (!ioc->active) { |
| 1140 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", | 1149 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", |
| 1141 | ioc->name); | 1150 | ioc->name); |
| 1142 | return -ENODEV; | 1151 | error = -ENODEV; |
| 1152 | goto out_mptsas_probe; | ||
| 1143 | } | 1153 | } |
| 1144 | 1154 | ||
| 1145 | /* Sanity check - ensure at least 1 port is INITIATOR capable | 1155 | /* Sanity check - ensure at least 1 port is INITIATOR capable |
| @@ -1163,7 +1173,8 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1163 | printk(MYIOC_s_WARN_FMT | 1173 | printk(MYIOC_s_WARN_FMT |
| 1164 | "Unable to register controller with SCSI subsystem\n", | 1174 | "Unable to register controller with SCSI subsystem\n", |
| 1165 | ioc->name); | 1175 | ioc->name); |
| 1166 | return -1; | 1176 | error = -1; |
| 1177 | goto out_mptsas_probe; | ||
| 1167 | } | 1178 | } |
| 1168 | 1179 | ||
| 1169 | spin_lock_irqsave(&ioc->FreeQlock, flags); | 1180 | spin_lock_irqsave(&ioc->FreeQlock, flags); |
| @@ -1237,7 +1248,7 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1237 | mem = kmalloc(sz, GFP_ATOMIC); | 1248 | mem = kmalloc(sz, GFP_ATOMIC); |
| 1238 | if (mem == NULL) { | 1249 | if (mem == NULL) { |
| 1239 | error = -ENOMEM; | 1250 | error = -ENOMEM; |
| 1240 | goto mptsas_probe_failed; | 1251 | goto out_mptsas_probe; |
| 1241 | } | 1252 | } |
| 1242 | 1253 | ||
| 1243 | memset(mem, 0, sz); | 1254 | memset(mem, 0, sz); |
| @@ -1255,14 +1266,14 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1255 | mem = kmalloc(sz, GFP_ATOMIC); | 1266 | mem = kmalloc(sz, GFP_ATOMIC); |
| 1256 | if (mem == NULL) { | 1267 | if (mem == NULL) { |
| 1257 | error = -ENOMEM; | 1268 | error = -ENOMEM; |
| 1258 | goto mptsas_probe_failed; | 1269 | goto out_mptsas_probe; |
| 1259 | } | 1270 | } |
| 1260 | 1271 | ||
| 1261 | memset(mem, 0, sz); | 1272 | memset(mem, 0, sz); |
| 1262 | hd->Targets = (VirtDevice **) mem; | 1273 | hd->Targets = (VirtTarget **) mem; |
| 1263 | 1274 | ||
| 1264 | dprintk((KERN_INFO | 1275 | dprintk((KERN_INFO |
| 1265 | " Targets @ %p, sz=%d\n", hd->Targets, sz)); | 1276 | " vtarget @ %p, sz=%d\n", hd->Targets, sz)); |
| 1266 | 1277 | ||
| 1267 | /* Clear the TM flags | 1278 | /* Clear the TM flags |
| 1268 | */ | 1279 | */ |
| @@ -1308,14 +1319,14 @@ mptsas_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 1308 | if (error) { | 1319 | if (error) { |
| 1309 | dprintk((KERN_ERR MYNAM | 1320 | dprintk((KERN_ERR MYNAM |
| 1310 | "scsi_add_host failed\n")); | 1321 | "scsi_add_host failed\n")); |
| 1311 | goto mptsas_probe_failed; | 1322 | goto out_mptsas_probe; |
| 1312 | } | 1323 | } |
| 1313 | 1324 | ||
| 1314 | mptsas_scan_sas_topology(ioc); | 1325 | mptsas_scan_sas_topology(ioc); |
| 1315 | 1326 | ||
| 1316 | return 0; | 1327 | return 0; |
| 1317 | 1328 | ||
| 1318 | mptsas_probe_failed: | 1329 | out_mptsas_probe: |
| 1319 | 1330 | ||
| 1320 | mptscsih_remove(pdev); | 1331 | mptscsih_remove(pdev); |
| 1321 | return error; | 1332 | return error; |
diff --git a/drivers/message/fusion/mptscsih.c b/drivers/message/fusion/mptscsih.c index b7b9846ff3fd..93a16fa3c4ba 100644 --- a/drivers/message/fusion/mptscsih.c +++ b/drivers/message/fusion/mptscsih.c | |||
| @@ -150,28 +150,29 @@ static int mptscsih_IssueTaskMgmt(MPT_SCSI_HOST *hd, u8 type, u8 channel, u8 tar | |||
| 150 | int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset); | 150 | int mptscsih_ioc_reset(MPT_ADAPTER *ioc, int post_reset); |
| 151 | int mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply); | 151 | int mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply); |
| 152 | 152 | ||
| 153 | static void mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char *data, int dlen); | 153 | static void mptscsih_initTarget(MPT_SCSI_HOST *hd, VirtTarget *vtarget, u8 lun, char *data, int dlen); |
| 154 | static void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56); | 154 | static void mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *vtarget, char byte56); |
| 155 | static void mptscsih_set_dvflags(MPT_SCSI_HOST *hd, SCSIIORequest_t *pReq); | ||
| 156 | static void mptscsih_setDevicePage1Flags (u8 width, u8 factor, u8 offset, int *requestedPtr, int *configurationPtr, u8 flags); | 155 | static void mptscsih_setDevicePage1Flags (u8 width, u8 factor, u8 offset, int *requestedPtr, int *configurationPtr, u8 flags); |
| 157 | static void mptscsih_no_negotiate(MPT_SCSI_HOST *hd, int target_id); | 156 | static void mptscsih_no_negotiate(MPT_SCSI_HOST *hd, struct scsi_cmnd *sc); |
| 158 | static int mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target, int flags); | 157 | static int mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target, int flags); |
| 159 | static int mptscsih_writeIOCPage4(MPT_SCSI_HOST *hd, int target_id, int bus); | 158 | static int mptscsih_writeIOCPage4(MPT_SCSI_HOST *hd, int target_id, int bus); |
| 160 | int mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r); | 159 | int mptscsih_scandv_complete(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *r); |
| 161 | static int mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *iocmd); | 160 | static int mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *iocmd); |
| 162 | static int mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, int portnum); | 161 | static void mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, VirtDevice *vdevice); |
| 162 | static void mptscsih_negotiate_to_asyn_narrow(MPT_SCSI_HOST *hd, VirtTarget *vtarget); | ||
| 163 | static int mptscsih_is_phys_disk(MPT_ADAPTER *ioc, int id); | ||
| 163 | 164 | ||
| 164 | static struct work_struct mptscsih_persistTask; | 165 | static struct work_struct mptscsih_persistTask; |
| 165 | 166 | ||
| 166 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | 167 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION |
| 167 | static int mptscsih_do_raid(MPT_SCSI_HOST *hd, u8 action, INTERNAL_CMD *io); | 168 | static int mptscsih_do_raid(MPT_SCSI_HOST *hd, u8 action, INTERNAL_CMD *io); |
| 168 | static void mptscsih_domainValidation(void *hd); | 169 | static void mptscsih_domainValidation(void *hd); |
| 169 | static int mptscsih_is_phys_disk(MPT_ADAPTER *ioc, int id); | ||
| 170 | static void mptscsih_qas_check(MPT_SCSI_HOST *hd, int id); | 170 | static void mptscsih_qas_check(MPT_SCSI_HOST *hd, int id); |
| 171 | static int mptscsih_doDv(MPT_SCSI_HOST *hd, int channel, int target); | 171 | static int mptscsih_doDv(MPT_SCSI_HOST *hd, int channel, int target); |
| 172 | static void mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage); | 172 | static void mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage); |
| 173 | static void mptscsih_fillbuf(char *buffer, int size, int index, int width); | 173 | static void mptscsih_fillbuf(char *buffer, int size, int index, int width); |
| 174 | static void mptscsih_set_dvflags_raid(MPT_SCSI_HOST *hd, int id); | 174 | static void mptscsih_set_dvflags_raid(MPT_SCSI_HOST *hd, int id); |
| 175 | static void mptscsih_set_dvflags(MPT_SCSI_HOST *hd, struct scsi_cmnd *sc); | ||
| 175 | #endif | 176 | #endif |
| 176 | 177 | ||
| 177 | void mptscsih_remove(struct pci_dev *); | 178 | void mptscsih_remove(struct pci_dev *); |
| @@ -627,7 +628,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
| 627 | dreplyprintk((KERN_NOTICE "Reply ha=%d id=%d lun=%d:\n" | 628 | dreplyprintk((KERN_NOTICE "Reply ha=%d id=%d lun=%d:\n" |
| 628 | "IOCStatus=%04xh SCSIState=%02xh SCSIStatus=%02xh\n" | 629 | "IOCStatus=%04xh SCSIState=%02xh SCSIStatus=%02xh\n" |
| 629 | "resid=%d bufflen=%d xfer_cnt=%d\n", | 630 | "resid=%d bufflen=%d xfer_cnt=%d\n", |
| 630 | ioc->id, pScsiReq->TargetID, pScsiReq->LUN[1], | 631 | ioc->id, sc->device->id, sc->device->lun, |
| 631 | status, scsi_state, scsi_status, sc->resid, | 632 | status, scsi_state, scsi_status, sc->resid, |
| 632 | sc->request_bufflen, xfer_cnt)); | 633 | sc->request_bufflen, xfer_cnt)); |
| 633 | 634 | ||
| @@ -641,7 +642,7 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
| 641 | pScsiReply->ResponseInfo) { | 642 | pScsiReply->ResponseInfo) { |
| 642 | printk(KERN_NOTICE "ha=%d id=%d lun=%d: " | 643 | printk(KERN_NOTICE "ha=%d id=%d lun=%d: " |
| 643 | "FCP_ResponseInfo=%08xh\n", | 644 | "FCP_ResponseInfo=%08xh\n", |
| 644 | ioc->id, pScsiReq->TargetID, pScsiReq->LUN[1], | 645 | ioc->id, sc->device->id, sc->device->lun, |
| 645 | le32_to_cpu(pScsiReply->ResponseInfo)); | 646 | le32_to_cpu(pScsiReply->ResponseInfo)); |
| 646 | } | 647 | } |
| 647 | 648 | ||
| @@ -677,8 +678,8 @@ mptscsih_io_done(MPT_ADAPTER *ioc, MPT_FRAME_HDR *mf, MPT_FRAME_HDR *mr) | |||
| 677 | sc->result = DID_RESET << 16; | 678 | sc->result = DID_RESET << 16; |
| 678 | 679 | ||
| 679 | /* GEM Workaround. */ | 680 | /* GEM Workaround. */ |
| 680 | if (ioc->bus_type == SCSI) | 681 | if (ioc->bus_type == SPI) |
| 681 | mptscsih_no_negotiate(hd, sc->device->id); | 682 | mptscsih_no_negotiate(hd, sc); |
| 682 | break; | 683 | break; |
| 683 | 684 | ||
| 684 | case MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH: /* 0x0049 */ | 685 | case MPI_IOCSTATUS_SCSI_RESIDUAL_MISMATCH: /* 0x0049 */ |
| @@ -892,16 +893,15 @@ mptscsih_flush_running_cmds(MPT_SCSI_HOST *hd) | |||
| 892 | * when a lun is disable by mid-layer. | 893 | * when a lun is disable by mid-layer. |
| 893 | * Do NOT access the referenced scsi_cmnd structure or | 894 | * Do NOT access the referenced scsi_cmnd structure or |
| 894 | * members. Will cause either a paging or NULL ptr error. | 895 | * members. Will cause either a paging or NULL ptr error. |
| 895 | * @hd: Pointer to a SCSI HOST structure | 896 | * @hd: Pointer to a SCSI HOST structure |
| 896 | * @target: target id | 897 | * @vdevice: per device private data |
| 897 | * @lun: lun | ||
| 898 | * | 898 | * |
| 899 | * Returns: None. | 899 | * Returns: None. |
| 900 | * | 900 | * |
| 901 | * Called from slave_destroy. | 901 | * Called from slave_destroy. |
| 902 | */ | 902 | */ |
| 903 | static void | 903 | static void |
| 904 | mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, uint target, uint lun) | 904 | mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, VirtDevice *vdevice) |
| 905 | { | 905 | { |
| 906 | SCSIIORequest_t *mf = NULL; | 906 | SCSIIORequest_t *mf = NULL; |
| 907 | int ii; | 907 | int ii; |
| @@ -909,7 +909,7 @@ mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, uint target, uint lun) | |||
| 909 | struct scsi_cmnd *sc; | 909 | struct scsi_cmnd *sc; |
| 910 | 910 | ||
| 911 | dsprintk((KERN_INFO MYNAM ": search_running target %d lun %d max %d\n", | 911 | dsprintk((KERN_INFO MYNAM ": search_running target %d lun %d max %d\n", |
| 912 | target, lun, max)); | 912 | vdevice->target_id, vdevice->lun, max)); |
| 913 | 913 | ||
| 914 | for (ii=0; ii < max; ii++) { | 914 | for (ii=0; ii < max; ii++) { |
| 915 | if ((sc = hd->ScsiLookup[ii]) != NULL) { | 915 | if ((sc = hd->ScsiLookup[ii]) != NULL) { |
| @@ -919,7 +919,7 @@ mptscsih_search_running_cmds(MPT_SCSI_HOST *hd, uint target, uint lun) | |||
| 919 | dsprintk(( "search_running: found (sc=%p, mf = %p) target %d, lun %d \n", | 919 | dsprintk(( "search_running: found (sc=%p, mf = %p) target %d, lun %d \n", |
| 920 | hd->ScsiLookup[ii], mf, mf->TargetID, mf->LUN[1])); | 920 | hd->ScsiLookup[ii], mf, mf->TargetID, mf->LUN[1])); |
| 921 | 921 | ||
| 922 | if ((mf->TargetID != ((u8)target)) || (mf->LUN[1] != ((u8) lun))) | 922 | if ((mf->TargetID != ((u8)vdevice->target_id)) || (mf->LUN[1] != ((u8) vdevice->lun))) |
| 923 | continue; | 923 | continue; |
| 924 | 924 | ||
| 925 | /* Cleanup | 925 | /* Cleanup |
| @@ -993,8 +993,10 @@ mptscsih_remove(struct pci_dev *pdev) | |||
| 993 | MPT_ADAPTER *ioc = pci_get_drvdata(pdev); | 993 | MPT_ADAPTER *ioc = pci_get_drvdata(pdev); |
| 994 | struct Scsi_Host *host = ioc->sh; | 994 | struct Scsi_Host *host = ioc->sh; |
| 995 | MPT_SCSI_HOST *hd; | 995 | MPT_SCSI_HOST *hd; |
| 996 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | ||
| 996 | int count; | 997 | int count; |
| 997 | unsigned long flags; | 998 | unsigned long flags; |
| 999 | #endif | ||
| 998 | int sz1; | 1000 | int sz1; |
| 999 | 1001 | ||
| 1000 | if(!host) { | 1002 | if(!host) { |
| @@ -1075,11 +1077,6 @@ mptscsih_shutdown(struct pci_dev *pdev) | |||
| 1075 | 1077 | ||
| 1076 | hd = (MPT_SCSI_HOST *)host->hostdata; | 1078 | hd = (MPT_SCSI_HOST *)host->hostdata; |
| 1077 | 1079 | ||
| 1078 | /* Flush the cache of this adapter | ||
| 1079 | */ | ||
| 1080 | if(hd != NULL) | ||
| 1081 | mptscsih_synchronize_cache(hd, 0); | ||
| 1082 | |||
| 1083 | } | 1080 | } |
| 1084 | 1081 | ||
| 1085 | #ifdef CONFIG_PM | 1082 | #ifdef CONFIG_PM |
| @@ -1286,7 +1283,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 1286 | MPT_SCSI_HOST *hd; | 1283 | MPT_SCSI_HOST *hd; |
| 1287 | MPT_FRAME_HDR *mf; | 1284 | MPT_FRAME_HDR *mf; |
| 1288 | SCSIIORequest_t *pScsiReq; | 1285 | SCSIIORequest_t *pScsiReq; |
| 1289 | VirtDevice *pTarget = SCpnt->device->hostdata; | 1286 | VirtDevice *vdev = SCpnt->device->hostdata; |
| 1290 | int lun; | 1287 | int lun; |
| 1291 | u32 datalen; | 1288 | u32 datalen; |
| 1292 | u32 scsictl; | 1289 | u32 scsictl; |
| @@ -1341,8 +1338,8 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 1341 | /* Default to untagged. Once a target structure has been allocated, | 1338 | /* Default to untagged. Once a target structure has been allocated, |
| 1342 | * use the Inquiry data to determine if device supports tagged. | 1339 | * use the Inquiry data to determine if device supports tagged. |
| 1343 | */ | 1340 | */ |
| 1344 | if (pTarget | 1341 | if (vdev |
| 1345 | && (pTarget->tflags & MPT_TARGET_FLAGS_Q_YES) | 1342 | && (vdev->vtarget->tflags & MPT_TARGET_FLAGS_Q_YES) |
| 1346 | && (SCpnt->device->tagged_supported)) { | 1343 | && (SCpnt->device->tagged_supported)) { |
| 1347 | scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ; | 1344 | scsictl = scsidir | MPI_SCSIIO_CONTROL_SIMPLEQ; |
| 1348 | } else { | 1345 | } else { |
| @@ -1351,8 +1348,8 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 1351 | 1348 | ||
| 1352 | /* Use the above information to set up the message frame | 1349 | /* Use the above information to set up the message frame |
| 1353 | */ | 1350 | */ |
| 1354 | pScsiReq->TargetID = (u8) pTarget->target_id; | 1351 | pScsiReq->TargetID = (u8) vdev->target_id; |
| 1355 | pScsiReq->Bus = pTarget->bus_id; | 1352 | pScsiReq->Bus = vdev->bus_id; |
| 1356 | pScsiReq->ChainOffset = 0; | 1353 | pScsiReq->ChainOffset = 0; |
| 1357 | pScsiReq->Function = MPI_FUNCTION_SCSI_IO_REQUEST; | 1354 | pScsiReq->Function = MPI_FUNCTION_SCSI_IO_REQUEST; |
| 1358 | pScsiReq->CDBLength = SCpnt->cmd_len; | 1355 | pScsiReq->CDBLength = SCpnt->cmd_len; |
| @@ -1403,8 +1400,8 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 1403 | SCpnt->host_scribble = NULL; | 1400 | SCpnt->host_scribble = NULL; |
| 1404 | 1401 | ||
| 1405 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | 1402 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION |
| 1406 | if (hd->ioc->bus_type == SCSI) { | 1403 | if (hd->ioc->bus_type == SPI) { |
| 1407 | int dvStatus = hd->ioc->spi_data.dvStatus[pTarget->target_id]; | 1404 | int dvStatus = hd->ioc->spi_data.dvStatus[vdev->target_id]; |
| 1408 | int issueCmd = 1; | 1405 | int issueCmd = 1; |
| 1409 | 1406 | ||
| 1410 | if (dvStatus || hd->ioc->spi_data.forceDv) { | 1407 | if (dvStatus || hd->ioc->spi_data.forceDv) { |
| @@ -1437,7 +1434,7 @@ mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)) | |||
| 1437 | /* Set the DV flags. | 1434 | /* Set the DV flags. |
| 1438 | */ | 1435 | */ |
| 1439 | if (dvStatus & MPT_SCSICFG_DV_NOT_DONE) | 1436 | if (dvStatus & MPT_SCSICFG_DV_NOT_DONE) |
| 1440 | mptscsih_set_dvflags(hd, pScsiReq); | 1437 | mptscsih_set_dvflags(hd, SCpnt); |
| 1441 | 1438 | ||
| 1442 | if (!issueCmd) | 1439 | if (!issueCmd) |
| 1443 | goto fail; | 1440 | goto fail; |
| @@ -1741,6 +1738,7 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) | |||
| 1741 | u32 ctx2abort; | 1738 | u32 ctx2abort; |
| 1742 | int scpnt_idx; | 1739 | int scpnt_idx; |
| 1743 | int retval; | 1740 | int retval; |
| 1741 | VirtDevice *vdev; | ||
| 1744 | 1742 | ||
| 1745 | /* If we can't locate our host adapter structure, return FAILED status. | 1743 | /* If we can't locate our host adapter structure, return FAILED status. |
| 1746 | */ | 1744 | */ |
| @@ -1790,8 +1788,9 @@ mptscsih_abort(struct scsi_cmnd * SCpnt) | |||
| 1790 | 1788 | ||
| 1791 | hd->abortSCpnt = SCpnt; | 1789 | hd->abortSCpnt = SCpnt; |
| 1792 | 1790 | ||
| 1791 | vdev = SCpnt->device->hostdata; | ||
| 1793 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK, | 1792 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_ABORT_TASK, |
| 1794 | SCpnt->device->channel, SCpnt->device->id, SCpnt->device->lun, | 1793 | vdev->bus_id, vdev->target_id, vdev->lun, |
| 1795 | ctx2abort, 2 /* 2 second timeout */); | 1794 | ctx2abort, 2 /* 2 second timeout */); |
| 1796 | 1795 | ||
| 1797 | printk (KERN_WARNING MYNAM ": %s: task abort: %s (sc=%p)\n", | 1796 | printk (KERN_WARNING MYNAM ": %s: task abort: %s (sc=%p)\n", |
| @@ -1822,6 +1821,7 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt) | |||
| 1822 | { | 1821 | { |
| 1823 | MPT_SCSI_HOST *hd; | 1822 | MPT_SCSI_HOST *hd; |
| 1824 | int retval; | 1823 | int retval; |
| 1824 | VirtDevice *vdev; | ||
| 1825 | 1825 | ||
| 1826 | /* If we can't locate our host adapter structure, return FAILED status. | 1826 | /* If we can't locate our host adapter structure, return FAILED status. |
| 1827 | */ | 1827 | */ |
| @@ -1839,8 +1839,9 @@ mptscsih_dev_reset(struct scsi_cmnd * SCpnt) | |||
| 1839 | hd->ioc->name, SCpnt); | 1839 | hd->ioc->name, SCpnt); |
| 1840 | scsi_print_command(SCpnt); | 1840 | scsi_print_command(SCpnt); |
| 1841 | 1841 | ||
| 1842 | vdev = SCpnt->device->hostdata; | ||
| 1842 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET, | 1843 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_TARGET_RESET, |
| 1843 | SCpnt->device->channel, SCpnt->device->id, | 1844 | vdev->bus_id, vdev->target_id, |
| 1844 | 0, 0, 5 /* 5 second timeout */); | 1845 | 0, 0, 5 /* 5 second timeout */); |
| 1845 | 1846 | ||
| 1846 | printk (KERN_WARNING MYNAM ": %s: target reset: %s (sc=%p)\n", | 1847 | printk (KERN_WARNING MYNAM ": %s: target reset: %s (sc=%p)\n", |
| @@ -1871,6 +1872,7 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt) | |||
| 1871 | { | 1872 | { |
| 1872 | MPT_SCSI_HOST *hd; | 1873 | MPT_SCSI_HOST *hd; |
| 1873 | int retval; | 1874 | int retval; |
| 1875 | VirtDevice *vdev; | ||
| 1874 | 1876 | ||
| 1875 | /* If we can't locate our host adapter structure, return FAILED status. | 1877 | /* If we can't locate our host adapter structure, return FAILED status. |
| 1876 | */ | 1878 | */ |
| @@ -1888,8 +1890,9 @@ mptscsih_bus_reset(struct scsi_cmnd * SCpnt) | |||
| 1888 | if (hd->timeouts < -1) | 1890 | if (hd->timeouts < -1) |
| 1889 | hd->timeouts++; | 1891 | hd->timeouts++; |
| 1890 | 1892 | ||
| 1893 | vdev = SCpnt->device->hostdata; | ||
| 1891 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS, | 1894 | retval = mptscsih_TMHandler(hd, MPI_SCSITASKMGMT_TASKTYPE_RESET_BUS, |
| 1892 | SCpnt->device->channel, 0, 0, 0, 5 /* 5 second timeout */); | 1895 | vdev->bus_id, 0, 0, 0, 5 /* 5 second timeout */); |
| 1893 | 1896 | ||
| 1894 | printk (KERN_WARNING MYNAM ": %s: bus reset: %s (sc=%p)\n", | 1897 | printk (KERN_WARNING MYNAM ": %s: bus reset: %s (sc=%p)\n", |
| 1895 | hd->ioc->name, | 1898 | hd->ioc->name, |
| @@ -2151,23 +2154,36 @@ mptscsih_bios_param(struct scsi_device * sdev, struct block_device *bdev, | |||
| 2151 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 2154 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| 2152 | /* | 2155 | /* |
| 2153 | * OS entry point to allow host driver to alloc memory | 2156 | * OS entry point to allow host driver to alloc memory |
| 2157 | * for each scsi target. Called once per device the bus scan. | ||
| 2158 | * Return non-zero if allocation fails. | ||
| 2159 | */ | ||
| 2160 | int | ||
| 2161 | mptscsih_target_alloc(struct scsi_target *starget) | ||
| 2162 | { | ||
| 2163 | VirtTarget *vtarget; | ||
| 2164 | |||
| 2165 | vtarget = kmalloc(sizeof(VirtTarget), GFP_KERNEL); | ||
| 2166 | if (!vtarget) | ||
| 2167 | return -ENOMEM; | ||
| 2168 | memset(vtarget, 0, sizeof(VirtTarget)); | ||
| 2169 | starget->hostdata = vtarget; | ||
| 2170 | return 0; | ||
| 2171 | } | ||
| 2172 | |||
| 2173 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | ||
| 2174 | /* | ||
| 2175 | * OS entry point to allow host driver to alloc memory | ||
| 2154 | * for each scsi device. Called once per device the bus scan. | 2176 | * for each scsi device. Called once per device the bus scan. |
| 2155 | * Return non-zero if allocation fails. | 2177 | * Return non-zero if allocation fails. |
| 2156 | * Init memory once per id (not LUN). | ||
| 2157 | */ | 2178 | */ |
| 2158 | int | 2179 | int |
| 2159 | mptscsih_slave_alloc(struct scsi_device *device) | 2180 | mptscsih_slave_alloc(struct scsi_device *sdev) |
| 2160 | { | 2181 | { |
| 2161 | struct Scsi_Host *host = device->host; | 2182 | struct Scsi_Host *host = sdev->host; |
| 2162 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; | 2183 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; |
| 2184 | VirtTarget *vtarget; | ||
| 2163 | VirtDevice *vdev; | 2185 | VirtDevice *vdev; |
| 2164 | uint target = device->id; | 2186 | struct scsi_target *starget; |
| 2165 | |||
| 2166 | if (hd == NULL) | ||
| 2167 | return -ENODEV; | ||
| 2168 | |||
| 2169 | if ((vdev = hd->Targets[target]) != NULL) | ||
| 2170 | goto out; | ||
| 2171 | 2187 | ||
| 2172 | vdev = kmalloc(sizeof(VirtDevice), GFP_KERNEL); | 2188 | vdev = kmalloc(sizeof(VirtDevice), GFP_KERNEL); |
| 2173 | if (!vdev) { | 2189 | if (!vdev) { |
| @@ -2177,25 +2193,33 @@ mptscsih_slave_alloc(struct scsi_device *device) | |||
| 2177 | } | 2193 | } |
| 2178 | 2194 | ||
| 2179 | memset(vdev, 0, sizeof(VirtDevice)); | 2195 | memset(vdev, 0, sizeof(VirtDevice)); |
| 2180 | vdev->tflags = MPT_TARGET_FLAGS_Q_YES; | ||
| 2181 | vdev->ioc_id = hd->ioc->id; | 2196 | vdev->ioc_id = hd->ioc->id; |
| 2182 | vdev->target_id = device->id; | 2197 | vdev->target_id = sdev->id; |
| 2183 | vdev->bus_id = device->channel; | 2198 | vdev->bus_id = sdev->channel; |
| 2184 | vdev->raidVolume = 0; | 2199 | vdev->lun = sdev->lun; |
| 2185 | hd->Targets[device->id] = vdev; | 2200 | sdev->hostdata = vdev; |
| 2186 | if (hd->ioc->bus_type == SCSI) { | 2201 | |
| 2187 | if (hd->ioc->raid_data.isRaid & (1 << device->id)) { | 2202 | starget = scsi_target(sdev); |
| 2188 | vdev->raidVolume = 1; | 2203 | vtarget = starget->hostdata; |
| 2189 | ddvtprintk((KERN_INFO | 2204 | vdev->vtarget = vtarget; |
| 2190 | "RAID Volume @ id %d\n", device->id)); | 2205 | |
| 2206 | if (vtarget->num_luns == 0) { | ||
| 2207 | hd->Targets[sdev->id] = vtarget; | ||
| 2208 | vtarget->ioc_id = hd->ioc->id; | ||
| 2209 | vtarget->tflags = MPT_TARGET_FLAGS_Q_YES; | ||
| 2210 | vtarget->target_id = sdev->id; | ||
| 2211 | vtarget->bus_id = sdev->channel; | ||
| 2212 | if (hd->ioc->bus_type == SPI) { | ||
| 2213 | if (hd->ioc->raid_data.isRaid & (1 << sdev->id)) { | ||
| 2214 | vtarget->raidVolume = 1; | ||
| 2215 | ddvtprintk((KERN_INFO | ||
| 2216 | "RAID Volume @ id %d\n", sdev->id)); | ||
| 2217 | } | ||
| 2218 | } else { | ||
| 2219 | vtarget->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 2191 | } | 2220 | } |
| 2192 | } else { | ||
| 2193 | vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 2194 | } | 2221 | } |
| 2195 | 2222 | vtarget->num_luns++; | |
| 2196 | out: | ||
| 2197 | vdev->num_luns++; | ||
| 2198 | device->hostdata = vdev; | ||
| 2199 | return 0; | 2223 | return 0; |
| 2200 | } | 2224 | } |
| 2201 | 2225 | ||
| @@ -2204,40 +2228,52 @@ mptscsih_slave_alloc(struct scsi_device *device) | |||
| 2204 | * Called if no device present or device being unloaded | 2228 | * Called if no device present or device being unloaded |
| 2205 | */ | 2229 | */ |
| 2206 | void | 2230 | void |
| 2207 | mptscsih_slave_destroy(struct scsi_device *device) | 2231 | mptscsih_target_destroy(struct scsi_target *starget) |
| 2208 | { | 2232 | { |
| 2209 | struct Scsi_Host *host = device->host; | 2233 | if (starget->hostdata) |
| 2210 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; | 2234 | kfree(starget->hostdata); |
| 2211 | VirtDevice *vdev; | 2235 | starget->hostdata = NULL; |
| 2212 | uint target = device->id; | 2236 | } |
| 2213 | uint lun = device->lun; | ||
| 2214 | |||
| 2215 | if (hd == NULL) | ||
| 2216 | return; | ||
| 2217 | |||
| 2218 | mptscsih_search_running_cmds(hd, target, lun); | ||
| 2219 | |||
| 2220 | vdev = hd->Targets[target]; | ||
| 2221 | vdev->luns[0] &= ~(1 << lun); | ||
| 2222 | if (--vdev->num_luns) | ||
| 2223 | return; | ||
| 2224 | |||
| 2225 | kfree(hd->Targets[target]); | ||
| 2226 | hd->Targets[target] = NULL; | ||
| 2227 | |||
| 2228 | if (hd->ioc->bus_type == SCSI) { | ||
| 2229 | if (mptscsih_is_phys_disk(hd->ioc, target)) { | ||
| 2230 | hd->ioc->spi_data.forceDv |= MPT_SCSICFG_RELOAD_IOC_PG3; | ||
| 2231 | } else { | ||
| 2232 | hd->ioc->spi_data.dvStatus[target] = | ||
| 2233 | MPT_SCSICFG_NEGOTIATE; | ||
| 2234 | 2237 | ||
| 2235 | if (!hd->negoNvram) { | 2238 | /* |
| 2236 | hd->ioc->spi_data.dvStatus[target] |= | 2239 | * OS entry point to allow for host driver to free allocated memory |
| 2237 | MPT_SCSICFG_DV_NOT_DONE; | 2240 | * Called if no device present or device being unloaded |
| 2241 | */ | ||
| 2242 | void | ||
| 2243 | mptscsih_slave_destroy(struct scsi_device *sdev) | ||
| 2244 | { | ||
| 2245 | struct Scsi_Host *host = sdev->host; | ||
| 2246 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)host->hostdata; | ||
| 2247 | VirtTarget *vtarget; | ||
| 2248 | VirtDevice *vdevice; | ||
| 2249 | struct scsi_target *starget; | ||
| 2250 | |||
| 2251 | starget = scsi_target(sdev); | ||
| 2252 | vtarget = starget->hostdata; | ||
| 2253 | vdevice = sdev->hostdata; | ||
| 2254 | |||
| 2255 | mptscsih_search_running_cmds(hd, vdevice); | ||
| 2256 | vtarget->luns[0] &= ~(1 << vdevice->lun); | ||
| 2257 | vtarget->num_luns--; | ||
| 2258 | if (vtarget->num_luns == 0) { | ||
| 2259 | mptscsih_negotiate_to_asyn_narrow(hd, vtarget); | ||
| 2260 | if (hd->ioc->bus_type == SPI) { | ||
| 2261 | if (mptscsih_is_phys_disk(hd->ioc, vtarget->target_id)) { | ||
| 2262 | hd->ioc->spi_data.forceDv |= MPT_SCSICFG_RELOAD_IOC_PG3; | ||
| 2263 | } else { | ||
| 2264 | hd->ioc->spi_data.dvStatus[vtarget->target_id] = | ||
| 2265 | MPT_SCSICFG_NEGOTIATE; | ||
| 2266 | if (!hd->negoNvram) { | ||
| 2267 | hd->ioc->spi_data.dvStatus[vtarget->target_id] |= | ||
| 2268 | MPT_SCSICFG_DV_NOT_DONE; | ||
| 2269 | } | ||
| 2238 | } | 2270 | } |
| 2239 | } | 2271 | } |
| 2272 | hd->Targets[sdev->id] = NULL; | ||
| 2240 | } | 2273 | } |
| 2274 | mptscsih_synchronize_cache(hd, vdevice); | ||
| 2275 | kfree(vdevice); | ||
| 2276 | sdev->hostdata = NULL; | ||
| 2241 | } | 2277 | } |
| 2242 | 2278 | ||
| 2243 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 2279 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| @@ -2251,22 +2287,21 @@ mptscsih_slave_destroy(struct scsi_device *device) | |||
| 2251 | int | 2287 | int |
| 2252 | mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth) | 2288 | mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth) |
| 2253 | { | 2289 | { |
| 2254 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)sdev->host->hostdata; | 2290 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)sdev->host->hostdata; |
| 2255 | VirtDevice *pTarget; | 2291 | VirtTarget *vtarget; |
| 2256 | int max_depth; | 2292 | struct scsi_target *starget; |
| 2257 | int tagged; | 2293 | int max_depth; |
| 2258 | 2294 | int tagged; | |
| 2259 | if (hd == NULL) | 2295 | |
| 2260 | return 0; | 2296 | starget = scsi_target(sdev); |
| 2261 | if (!(pTarget = hd->Targets[sdev->id])) | 2297 | vtarget = starget->hostdata; |
| 2262 | return 0; | 2298 | |
| 2263 | 2299 | if (hd->ioc->bus_type == SPI) { | |
| 2264 | if (hd->ioc->bus_type == SCSI) { | 2300 | if (vtarget->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY) { |
| 2265 | if (pTarget->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY) { | 2301 | if (!(vtarget->tflags & MPT_TARGET_FLAGS_Q_YES)) |
| 2266 | if (!(pTarget->tflags & MPT_TARGET_FLAGS_Q_YES)) | ||
| 2267 | max_depth = 1; | 2302 | max_depth = 1; |
| 2268 | else if (((pTarget->inq_data[0] & 0x1f) == 0x00) && | 2303 | else if (((vtarget->inq_data[0] & 0x1f) == 0x00) && |
| 2269 | (pTarget->minSyncFactor <= MPT_ULTRA160 )) | 2304 | (vtarget->minSyncFactor <= MPT_ULTRA160 )) |
| 2270 | max_depth = MPT_SCSI_CMD_PER_DEV_HIGH; | 2305 | max_depth = MPT_SCSI_CMD_PER_DEV_HIGH; |
| 2271 | else | 2306 | else |
| 2272 | max_depth = MPT_SCSI_CMD_PER_DEV_LOW; | 2307 | max_depth = MPT_SCSI_CMD_PER_DEV_LOW; |
| @@ -2295,64 +2330,58 @@ mptscsih_change_queue_depth(struct scsi_device *sdev, int qdepth) | |||
| 2295 | * Return non-zero if fails. | 2330 | * Return non-zero if fails. |
| 2296 | */ | 2331 | */ |
| 2297 | int | 2332 | int |
| 2298 | mptscsih_slave_configure(struct scsi_device *device) | 2333 | mptscsih_slave_configure(struct scsi_device *sdev) |
| 2299 | { | 2334 | { |
| 2300 | struct Scsi_Host *sh = device->host; | 2335 | struct Scsi_Host *sh = sdev->host; |
| 2301 | VirtDevice *pTarget; | 2336 | VirtTarget *vtarget; |
| 2337 | VirtDevice *vdevice; | ||
| 2338 | struct scsi_target *starget; | ||
| 2302 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)sh->hostdata; | 2339 | MPT_SCSI_HOST *hd = (MPT_SCSI_HOST *)sh->hostdata; |
| 2340 | int indexed_lun, lun_index; | ||
| 2303 | 2341 | ||
| 2304 | if ((hd == NULL) || (hd->Targets == NULL)) { | 2342 | starget = scsi_target(sdev); |
| 2305 | return 0; | 2343 | vtarget = starget->hostdata; |
| 2306 | } | 2344 | vdevice = sdev->hostdata; |
| 2307 | 2345 | ||
| 2308 | dsprintk((MYIOC_s_INFO_FMT | 2346 | dsprintk((MYIOC_s_INFO_FMT |
| 2309 | "device @ %p, id=%d, LUN=%d, channel=%d\n", | 2347 | "device @ %p, id=%d, LUN=%d, channel=%d\n", |
| 2310 | hd->ioc->name, device, device->id, device->lun, device->channel)); | 2348 | hd->ioc->name, sdev, sdev->id, sdev->lun, sdev->channel)); |
| 2311 | dsprintk((MYIOC_s_INFO_FMT | 2349 | if (hd->ioc->bus_type == SPI) |
| 2312 | "sdtr %d wdtr %d ppr %d inq length=%d\n", | 2350 | dsprintk((MYIOC_s_INFO_FMT |
| 2313 | hd->ioc->name, device->sdtr, device->wdtr, | 2351 | "sdtr %d wdtr %d ppr %d inq length=%d\n", |
| 2314 | device->ppr, device->inquiry_len)); | 2352 | hd->ioc->name, sdev->sdtr, sdev->wdtr, |
| 2315 | 2353 | sdev->ppr, sdev->inquiry_len)); | |
| 2316 | if (device->id > sh->max_id) { | 2354 | |
| 2355 | if (sdev->id > sh->max_id) { | ||
| 2317 | /* error case, should never happen */ | 2356 | /* error case, should never happen */ |
| 2318 | scsi_adjust_queue_depth(device, 0, 1); | 2357 | scsi_adjust_queue_depth(sdev, 0, 1); |
| 2319 | goto slave_configure_exit; | ||
| 2320 | } | ||
| 2321 | |||
| 2322 | pTarget = hd->Targets[device->id]; | ||
| 2323 | |||
| 2324 | if (pTarget == NULL) { | ||
| 2325 | /* Driver doesn't know about this device. | ||
| 2326 | * Kernel may generate a "Dummy Lun 0" which | ||
| 2327 | * may become a real Lun if a | ||
| 2328 | * "scsi add-single-device" command is executed | ||
| 2329 | * while the driver is active (hot-plug a | ||
| 2330 | * device). LSI Raid controllers need | ||
| 2331 | * queue_depth set to DEV_HIGH for this reason. | ||
| 2332 | */ | ||
| 2333 | scsi_adjust_queue_depth(device, MSG_SIMPLE_TAG, | ||
| 2334 | MPT_SCSI_CMD_PER_DEV_HIGH); | ||
| 2335 | goto slave_configure_exit; | 2358 | goto slave_configure_exit; |
| 2336 | } | 2359 | } |
| 2337 | 2360 | ||
| 2338 | mptscsih_initTarget(hd, device->channel, device->id, device->lun, | 2361 | vdevice->configured_lun=1; |
| 2339 | device->inquiry, device->inquiry_len ); | 2362 | lun_index = (vdevice->lun >> 5); /* 32 luns per lun_index */ |
| 2340 | mptscsih_change_queue_depth(device, MPT_SCSI_CMD_PER_DEV_HIGH); | 2363 | indexed_lun = (vdevice->lun % 32); |
| 2364 | vtarget->luns[lun_index] |= (1 << indexed_lun); | ||
| 2365 | mptscsih_initTarget(hd, vtarget, sdev->lun, sdev->inquiry, | ||
| 2366 | sdev->inquiry_len ); | ||
| 2367 | mptscsih_change_queue_depth(sdev, MPT_SCSI_CMD_PER_DEV_HIGH); | ||
| 2341 | 2368 | ||
| 2342 | dsprintk((MYIOC_s_INFO_FMT | 2369 | dsprintk((MYIOC_s_INFO_FMT |
| 2343 | "Queue depth=%d, tflags=%x\n", | 2370 | "Queue depth=%d, tflags=%x\n", |
| 2344 | hd->ioc->name, device->queue_depth, pTarget->tflags)); | 2371 | hd->ioc->name, sdev->queue_depth, vtarget->tflags)); |
| 2345 | 2372 | ||
| 2346 | dsprintk((MYIOC_s_INFO_FMT | 2373 | if (hd->ioc->bus_type == SPI) |
| 2347 | "negoFlags=%x, maxOffset=%x, SyncFactor=%x\n", | 2374 | dsprintk((MYIOC_s_INFO_FMT |
| 2348 | hd->ioc->name, pTarget->negoFlags, pTarget->maxOffset, pTarget->minSyncFactor)); | 2375 | "negoFlags=%x, maxOffset=%x, SyncFactor=%x\n", |
| 2376 | hd->ioc->name, vtarget->negoFlags, vtarget->maxOffset, | ||
| 2377 | vtarget->minSyncFactor)); | ||
| 2349 | 2378 | ||
| 2350 | slave_configure_exit: | 2379 | slave_configure_exit: |
| 2351 | 2380 | ||
| 2352 | dsprintk((MYIOC_s_INFO_FMT | 2381 | dsprintk((MYIOC_s_INFO_FMT |
| 2353 | "tagged %d, simple %d, ordered %d\n", | 2382 | "tagged %d, simple %d, ordered %d\n", |
| 2354 | hd->ioc->name,device->tagged_supported, device->simple_tags, | 2383 | hd->ioc->name,sdev->tagged_supported, sdev->simple_tags, |
| 2355 | device->ordered_tags)); | 2384 | sdev->ordered_tags)); |
| 2356 | 2385 | ||
| 2357 | return 0; | 2386 | return 0; |
| 2358 | } | 2387 | } |
| @@ -2370,16 +2399,14 @@ slave_configure_exit: | |||
| 2370 | static void | 2399 | static void |
| 2371 | mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSIIOReply_t *pScsiReply) | 2400 | mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR *mf, SCSIIOReply_t *pScsiReply) |
| 2372 | { | 2401 | { |
| 2373 | VirtDevice *target; | 2402 | VirtDevice *vdev; |
| 2374 | SCSIIORequest_t *pReq; | 2403 | SCSIIORequest_t *pReq; |
| 2375 | u32 sense_count = le32_to_cpu(pScsiReply->SenseCount); | 2404 | u32 sense_count = le32_to_cpu(pScsiReply->SenseCount); |
| 2376 | int index; | ||
| 2377 | 2405 | ||
| 2378 | /* Get target structure | 2406 | /* Get target structure |
| 2379 | */ | 2407 | */ |
| 2380 | pReq = (SCSIIORequest_t *) mf; | 2408 | pReq = (SCSIIORequest_t *) mf; |
| 2381 | index = (int) pReq->TargetID; | 2409 | vdev = sc->device->hostdata; |
| 2382 | target = hd->Targets[index]; | ||
| 2383 | 2410 | ||
| 2384 | if (sense_count) { | 2411 | if (sense_count) { |
| 2385 | u8 *sense_data; | 2412 | u8 *sense_data; |
| @@ -2393,7 +2420,7 @@ mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR | |||
| 2393 | /* Log SMART data (asc = 0x5D, non-IM case only) if required. | 2420 | /* Log SMART data (asc = 0x5D, non-IM case only) if required. |
| 2394 | */ | 2421 | */ |
| 2395 | if ((hd->ioc->events) && (hd->ioc->eventTypes & (1 << MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE))) { | 2422 | if ((hd->ioc->events) && (hd->ioc->eventTypes & (1 << MPI_EVENT_SCSI_DEVICE_STATUS_CHANGE))) { |
| 2396 | if ((sense_data[12] == 0x5D) && (target->raidVolume == 0)) { | 2423 | if ((sense_data[12] == 0x5D) && (vdev->vtarget->raidVolume == 0)) { |
| 2397 | int idx; | 2424 | int idx; |
| 2398 | MPT_ADAPTER *ioc = hd->ioc; | 2425 | MPT_ADAPTER *ioc = hd->ioc; |
| 2399 | 2426 | ||
| @@ -2403,7 +2430,7 @@ mptscsih_copy_sense_data(struct scsi_cmnd *sc, MPT_SCSI_HOST *hd, MPT_FRAME_HDR | |||
| 2403 | 2430 | ||
| 2404 | ioc->events[idx].data[0] = (pReq->LUN[1] << 24) || | 2431 | ioc->events[idx].data[0] = (pReq->LUN[1] << 24) || |
| 2405 | (MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA << 16) || | 2432 | (MPI_EVENT_SCSI_DEV_STAT_RC_SMART_DATA << 16) || |
| 2406 | (pReq->Bus << 8) || pReq->TargetID; | 2433 | (sc->device->channel << 8) || sc->device->id; |
| 2407 | 2434 | ||
| 2408 | ioc->events[idx].data[1] = (sense_data[13] << 8) || sense_data[12]; | 2435 | ioc->events[idx].data[1] = (sense_data[13] << 8) || sense_data[12]; |
| 2409 | 2436 | ||
| @@ -2503,9 +2530,9 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
| 2503 | /* 2. Chain Buffer initialization | 2530 | /* 2. Chain Buffer initialization |
| 2504 | */ | 2531 | */ |
| 2505 | 2532 | ||
| 2506 | /* 4. Renegotiate to all devices, if SCSI | 2533 | /* 4. Renegotiate to all devices, if SPI |
| 2507 | */ | 2534 | */ |
| 2508 | if (ioc->bus_type == SCSI) { | 2535 | if (ioc->bus_type == SPI) { |
| 2509 | dnegoprintk(("writeSDP1: ALL_IDS USE_NVRAM\n")); | 2536 | dnegoprintk(("writeSDP1: ALL_IDS USE_NVRAM\n")); |
| 2510 | mptscsih_writeSDP1(hd, 0, 0, MPT_SCSICFG_ALL_IDS | MPT_SCSICFG_USE_NVRAM); | 2537 | mptscsih_writeSDP1(hd, 0, 0, MPT_SCSICFG_ALL_IDS | MPT_SCSICFG_USE_NVRAM); |
| 2511 | } | 2538 | } |
| @@ -2534,7 +2561,7 @@ mptscsih_ioc_reset(MPT_ADAPTER *ioc, int reset_phase) | |||
| 2534 | 2561 | ||
| 2535 | /* 7. Set flag to force DV and re-read IOC Page 3 | 2562 | /* 7. Set flag to force DV and re-read IOC Page 3 |
| 2536 | */ | 2563 | */ |
| 2537 | if (ioc->bus_type == SCSI) { | 2564 | if (ioc->bus_type == SPI) { |
| 2538 | ioc->spi_data.forceDv = MPT_SCSICFG_NEED_DV | MPT_SCSICFG_RELOAD_IOC_PG3; | 2565 | ioc->spi_data.forceDv = MPT_SCSICFG_NEED_DV | MPT_SCSICFG_RELOAD_IOC_PG3; |
| 2539 | ddvtprintk(("Set reload IOC Pg3 Flag\n")); | 2566 | ddvtprintk(("Set reload IOC Pg3 Flag\n")); |
| 2540 | } | 2567 | } |
| @@ -2576,7 +2603,7 @@ mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
| 2576 | break; | 2603 | break; |
| 2577 | case MPI_EVENT_IOC_BUS_RESET: /* 04 */ | 2604 | case MPI_EVENT_IOC_BUS_RESET: /* 04 */ |
| 2578 | case MPI_EVENT_EXT_BUS_RESET: /* 05 */ | 2605 | case MPI_EVENT_EXT_BUS_RESET: /* 05 */ |
| 2579 | if (hd && (ioc->bus_type == SCSI) && (hd->soft_resets < -1)) | 2606 | if (hd && (ioc->bus_type == SPI) && (hd->soft_resets < -1)) |
| 2580 | hd->soft_resets++; | 2607 | hd->soft_resets++; |
| 2581 | break; | 2608 | break; |
| 2582 | case MPI_EVENT_LOGOUT: /* 09 */ | 2609 | case MPI_EVENT_LOGOUT: /* 09 */ |
| @@ -2597,11 +2624,11 @@ mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
| 2597 | 2624 | ||
| 2598 | case MPI_EVENT_INTEGRATED_RAID: /* 0B */ | 2625 | case MPI_EVENT_INTEGRATED_RAID: /* 0B */ |
| 2599 | { | 2626 | { |
| 2627 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | ||
| 2600 | pMpiEventDataRaid_t pRaidEventData = | 2628 | pMpiEventDataRaid_t pRaidEventData = |
| 2601 | (pMpiEventDataRaid_t) pEvReply->Data; | 2629 | (pMpiEventDataRaid_t) pEvReply->Data; |
| 2602 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | ||
| 2603 | /* Domain Validation Needed */ | 2630 | /* Domain Validation Needed */ |
| 2604 | if (ioc->bus_type == SCSI && | 2631 | if (ioc->bus_type == SPI && |
| 2605 | pRaidEventData->ReasonCode == | 2632 | pRaidEventData->ReasonCode == |
| 2606 | MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED) | 2633 | MPI_EVENT_RAID_RC_DOMAIN_VAL_NEEDED) |
| 2607 | mptscsih_set_dvflags_raid(hd, pRaidEventData->PhysDiskNum); | 2634 | mptscsih_set_dvflags_raid(hd, pRaidEventData->PhysDiskNum); |
| @@ -2632,8 +2659,7 @@ mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
| 2632 | /* | 2659 | /* |
| 2633 | * mptscsih_initTarget - Target, LUN alloc/free functionality. | 2660 | * mptscsih_initTarget - Target, LUN alloc/free functionality. |
| 2634 | * @hd: Pointer to MPT_SCSI_HOST structure | 2661 | * @hd: Pointer to MPT_SCSI_HOST structure |
| 2635 | * @bus_id: Bus number (?) | 2662 | * @vtarget: per target private data |
| 2636 | * @target_id: SCSI target id | ||
| 2637 | * @lun: SCSI LUN id | 2663 | * @lun: SCSI LUN id |
| 2638 | * @data: Pointer to data | 2664 | * @data: Pointer to data |
| 2639 | * @dlen: Number of INQUIRY bytes | 2665 | * @dlen: Number of INQUIRY bytes |
| @@ -2646,15 +2672,14 @@ mptscsih_event_process(MPT_ADAPTER *ioc, EventNotificationReply_t *pEvReply) | |||
| 2646 | * | 2672 | * |
| 2647 | */ | 2673 | */ |
| 2648 | static void | 2674 | static void |
| 2649 | mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char *data, int dlen) | 2675 | mptscsih_initTarget(MPT_SCSI_HOST *hd, VirtTarget *vtarget, u8 lun, char *data, int dlen) |
| 2650 | { | 2676 | { |
| 2651 | int indexed_lun, lun_index; | ||
| 2652 | VirtDevice *vdev; | ||
| 2653 | SpiCfgData *pSpi; | 2677 | SpiCfgData *pSpi; |
| 2654 | char data_56; | 2678 | char data_56; |
| 2679 | int inq_len; | ||
| 2655 | 2680 | ||
| 2656 | dinitprintk((MYIOC_s_INFO_FMT "initTarget bus=%d id=%d lun=%d hd=%p\n", | 2681 | dinitprintk((MYIOC_s_INFO_FMT "initTarget bus=%d id=%d lun=%d hd=%p\n", |
| 2657 | hd->ioc->name, bus_id, target_id, lun, hd)); | 2682 | hd->ioc->name, vtarget->bus_id, vtarget->target_id, lun, hd)); |
| 2658 | 2683 | ||
| 2659 | /* | 2684 | /* |
| 2660 | * If the peripheral qualifier filter is enabled then if the target reports a 0x1 | 2685 | * If the peripheral qualifier filter is enabled then if the target reports a 0x1 |
| @@ -2674,75 +2699,68 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * | |||
| 2674 | if (data[0] & 0xe0) | 2699 | if (data[0] & 0xe0) |
| 2675 | return; | 2700 | return; |
| 2676 | 2701 | ||
| 2677 | if ((vdev = hd->Targets[target_id]) == NULL) { | 2702 | if (vtarget == NULL) |
| 2678 | return; | 2703 | return; |
| 2679 | } | ||
| 2680 | 2704 | ||
| 2681 | lun_index = (lun >> 5); /* 32 luns per lun_index */ | 2705 | if (data) |
| 2682 | indexed_lun = (lun % 32); | 2706 | vtarget->type = data[0]; |
| 2683 | vdev->luns[lun_index] |= (1 << indexed_lun); | 2707 | |
| 2684 | 2708 | if (hd->ioc->bus_type != SPI) | |
| 2685 | if (hd->ioc->bus_type == SCSI) { | 2709 | return; |
| 2686 | if ((data[0] == TYPE_PROCESSOR) && (hd->ioc->spi_data.Saf_Te)) { | 2710 | |
| 2687 | /* Treat all Processors as SAF-TE if | 2711 | if ((data[0] == TYPE_PROCESSOR) && (hd->ioc->spi_data.Saf_Te)) { |
| 2688 | * command line option is set */ | 2712 | /* Treat all Processors as SAF-TE if |
| 2689 | vdev->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; | 2713 | * command line option is set */ |
| 2690 | mptscsih_writeIOCPage4(hd, target_id, bus_id); | 2714 | vtarget->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; |
| 2691 | }else if ((data[0] == TYPE_PROCESSOR) && | 2715 | mptscsih_writeIOCPage4(hd, vtarget->target_id, vtarget->bus_id); |
| 2692 | !(vdev->tflags & MPT_TARGET_FLAGS_SAF_TE_ISSUED )) { | 2716 | }else if ((data[0] == TYPE_PROCESSOR) && |
| 2693 | if ( dlen > 49 ) { | 2717 | !(vtarget->tflags & MPT_TARGET_FLAGS_SAF_TE_ISSUED )) { |
| 2694 | vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; | 2718 | if ( dlen > 49 ) { |
| 2695 | if ( data[44] == 'S' && | 2719 | vtarget->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; |
| 2696 | data[45] == 'A' && | 2720 | if ( data[44] == 'S' && |
| 2697 | data[46] == 'F' && | 2721 | data[45] == 'A' && |
| 2698 | data[47] == '-' && | 2722 | data[46] == 'F' && |
| 2699 | data[48] == 'T' && | 2723 | data[47] == '-' && |
| 2700 | data[49] == 'E' ) { | 2724 | data[48] == 'T' && |
| 2701 | vdev->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; | 2725 | data[49] == 'E' ) { |
| 2702 | mptscsih_writeIOCPage4(hd, target_id, bus_id); | 2726 | vtarget->tflags |= MPT_TARGET_FLAGS_SAF_TE_ISSUED; |
| 2703 | } | 2727 | mptscsih_writeIOCPage4(hd, vtarget->target_id, vtarget->bus_id); |
| 2704 | } | 2728 | } |
| 2705 | } | 2729 | } |
| 2706 | if (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY)) { | 2730 | } |
| 2707 | if ( dlen > 8 ) { | 2731 | if (!(vtarget->tflags & MPT_TARGET_FLAGS_VALID_INQUIRY)) { |
| 2708 | memcpy (vdev->inq_data, data, 8); | 2732 | inq_len = dlen < 8 ? dlen : 8; |
| 2709 | } else { | 2733 | memcpy (vtarget->inq_data, data, inq_len); |
| 2710 | memcpy (vdev->inq_data, data, dlen); | 2734 | /* If have not done DV, set the DV flag. |
| 2711 | } | 2735 | */ |
| 2736 | pSpi = &hd->ioc->spi_data; | ||
| 2737 | if ((data[0] == TYPE_TAPE) || (data[0] == TYPE_PROCESSOR)) { | ||
| 2738 | if (pSpi->dvStatus[vtarget->target_id] & MPT_SCSICFG_DV_NOT_DONE) | ||
| 2739 | pSpi->dvStatus[vtarget->target_id] |= MPT_SCSICFG_NEED_DV; | ||
| 2740 | } | ||
| 2741 | vtarget->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 2712 | 2742 | ||
| 2713 | /* If have not done DV, set the DV flag. | 2743 | data_56 = 0x0F; /* Default to full capabilities if Inq data length is < 57 */ |
| 2744 | if (dlen > 56) { | ||
| 2745 | if ( (!(vtarget->tflags & MPT_TARGET_FLAGS_VALID_56))) { | ||
| 2746 | /* Update the target capabilities | ||
| 2714 | */ | 2747 | */ |
| 2715 | pSpi = &hd->ioc->spi_data; | 2748 | data_56 = data[56]; |
| 2716 | if ((data[0] == TYPE_TAPE) || (data[0] == TYPE_PROCESSOR)) { | 2749 | vtarget->tflags |= MPT_TARGET_FLAGS_VALID_56; |
| 2717 | if (pSpi->dvStatus[target_id] & MPT_SCSICFG_DV_NOT_DONE) | ||
| 2718 | pSpi->dvStatus[target_id] |= MPT_SCSICFG_NEED_DV; | ||
| 2719 | } | ||
| 2720 | |||
| 2721 | vdev->tflags |= MPT_TARGET_FLAGS_VALID_INQUIRY; | ||
| 2722 | |||
| 2723 | |||
| 2724 | data_56 = 0x0F; /* Default to full capabilities if Inq data length is < 57 */ | ||
| 2725 | if (dlen > 56) { | ||
| 2726 | if ( (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_56))) { | ||
| 2727 | /* Update the target capabilities | ||
| 2728 | */ | ||
| 2729 | data_56 = data[56]; | ||
| 2730 | vdev->tflags |= MPT_TARGET_FLAGS_VALID_56; | ||
| 2731 | } | ||
| 2732 | } | 2750 | } |
| 2733 | mptscsih_setTargetNegoParms(hd, vdev, data_56); | 2751 | } |
| 2734 | } else { | 2752 | mptscsih_setTargetNegoParms(hd, vtarget, data_56); |
| 2735 | /* Initial Inquiry may not request enough data bytes to | 2753 | } else { |
| 2736 | * obtain byte 57. DV will; if target doesn't return | 2754 | /* Initial Inquiry may not request enough data bytes to |
| 2737 | * at least 57 bytes, data[56] will be zero. */ | 2755 | * obtain byte 57. DV will; if target doesn't return |
| 2738 | if (dlen > 56) { | 2756 | * at least 57 bytes, data[56] will be zero. */ |
| 2739 | if ( (!(vdev->tflags & MPT_TARGET_FLAGS_VALID_56))) { | 2757 | if (dlen > 56) { |
| 2740 | /* Update the target capabilities | 2758 | if ( (!(vtarget->tflags & MPT_TARGET_FLAGS_VALID_56))) { |
| 2741 | */ | 2759 | /* Update the target capabilities |
| 2742 | data_56 = data[56]; | 2760 | */ |
| 2743 | vdev->tflags |= MPT_TARGET_FLAGS_VALID_56; | 2761 | data_56 = data[56]; |
| 2744 | mptscsih_setTargetNegoParms(hd, vdev, data_56); | 2762 | vtarget->tflags |= MPT_TARGET_FLAGS_VALID_56; |
| 2745 | } | 2763 | mptscsih_setTargetNegoParms(hd, vtarget, data_56); |
| 2746 | } | 2764 | } |
| 2747 | } | 2765 | } |
| 2748 | } | 2766 | } |
| @@ -2755,12 +2773,12 @@ mptscsih_initTarget(MPT_SCSI_HOST *hd, int bus_id, int target_id, u8 lun, char * | |||
| 2755 | * | 2773 | * |
| 2756 | */ | 2774 | */ |
| 2757 | static void | 2775 | static void |
| 2758 | mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56) | 2776 | mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtTarget *target, char byte56) |
| 2759 | { | 2777 | { |
| 2760 | SpiCfgData *pspi_data = &hd->ioc->spi_data; | 2778 | SpiCfgData *pspi_data = &hd->ioc->spi_data; |
| 2761 | int id = (int) target->target_id; | 2779 | int id = (int) target->target_id; |
| 2762 | int nvram; | 2780 | int nvram; |
| 2763 | VirtDevice *vdev; | 2781 | VirtTarget *vtarget; |
| 2764 | int ii; | 2782 | int ii; |
| 2765 | u8 width = MPT_NARROW; | 2783 | u8 width = MPT_NARROW; |
| 2766 | u8 factor = MPT_ASYNC; | 2784 | u8 factor = MPT_ASYNC; |
| @@ -2905,9 +2923,9 @@ mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56) | |||
| 2905 | 2923 | ||
| 2906 | ddvtprintk((KERN_INFO "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); | 2924 | ddvtprintk((KERN_INFO "Disabling QAS due to noQas=%02x on id=%d!\n", noQas, id)); |
| 2907 | for (ii = 0; ii < id; ii++) { | 2925 | for (ii = 0; ii < id; ii++) { |
| 2908 | if ( (vdev = hd->Targets[ii]) ) { | 2926 | if ( (vtarget = hd->Targets[ii]) ) { |
| 2909 | vdev->negoFlags |= MPT_TARGET_NO_NEGO_QAS; | 2927 | vtarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; |
| 2910 | mptscsih_writeSDP1(hd, 0, ii, vdev->negoFlags); | 2928 | mptscsih_writeSDP1(hd, 0, ii, vtarget->negoFlags); |
| 2911 | } | 2929 | } |
| 2912 | } | 2930 | } |
| 2913 | } | 2931 | } |
| @@ -2926,105 +2944,17 @@ mptscsih_setTargetNegoParms(MPT_SCSI_HOST *hd, VirtDevice *target, char byte56) | |||
| 2926 | } | 2944 | } |
| 2927 | 2945 | ||
| 2928 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 2946 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| 2929 | /* If DV disabled (negoNvram set to USE_NVARM) or if not LUN 0, return. | ||
| 2930 | * Else set the NEED_DV flag after Read Capacity Issued (disks) | ||
| 2931 | * or Mode Sense (cdroms). | ||
| 2932 | * | ||
| 2933 | * Tapes, initTarget will set this flag on completion of Inquiry command. | ||
| 2934 | * Called only if DV_NOT_DONE flag is set | ||
| 2935 | */ | ||
| 2936 | static void | ||
| 2937 | mptscsih_set_dvflags(MPT_SCSI_HOST *hd, SCSIIORequest_t *pReq) | ||
| 2938 | { | ||
| 2939 | MPT_ADAPTER *ioc = hd->ioc; | ||
| 2940 | u8 cmd; | ||
| 2941 | SpiCfgData *pSpi; | ||
| 2942 | |||
| 2943 | ddvtprintk((MYIOC_s_NOTE_FMT | ||
| 2944 | " set_dvflags: id=%d lun=%d negoNvram=%x cmd=%x\n", | ||
| 2945 | hd->ioc->name, pReq->TargetID, pReq->LUN[1], hd->negoNvram, pReq->CDB[0])); | ||
| 2946 | |||
| 2947 | if ((pReq->LUN[1] != 0) || (hd->negoNvram != 0)) | ||
| 2948 | return; | ||
| 2949 | |||
| 2950 | cmd = pReq->CDB[0]; | ||
| 2951 | |||
| 2952 | if ((cmd == READ_CAPACITY) || (cmd == MODE_SENSE)) { | ||
| 2953 | pSpi = &ioc->spi_data; | ||
| 2954 | if ((ioc->raid_data.isRaid & (1 << pReq->TargetID)) && ioc->raid_data.pIocPg3) { | ||
| 2955 | /* Set NEED_DV for all hidden disks | ||
| 2956 | */ | ||
| 2957 | Ioc3PhysDisk_t *pPDisk = ioc->raid_data.pIocPg3->PhysDisk; | ||
| 2958 | int numPDisk = ioc->raid_data.pIocPg3->NumPhysDisks; | ||
| 2959 | |||
| 2960 | while (numPDisk) { | ||
| 2961 | pSpi->dvStatus[pPDisk->PhysDiskID] |= MPT_SCSICFG_NEED_DV; | ||
| 2962 | ddvtprintk(("NEED_DV set for phys disk id %d\n", pPDisk->PhysDiskID)); | ||
| 2963 | pPDisk++; | ||
| 2964 | numPDisk--; | ||
| 2965 | } | ||
| 2966 | } | ||
| 2967 | pSpi->dvStatus[pReq->TargetID] |= MPT_SCSICFG_NEED_DV; | ||
| 2968 | ddvtprintk(("NEED_DV set for visible disk id %d\n", pReq->TargetID)); | ||
| 2969 | } | ||
| 2970 | } | ||
| 2971 | |||
| 2972 | /* mptscsih_raid_set_dv_flags() | ||
| 2973 | * | ||
| 2974 | * New or replaced disk. Set DV flag and schedule DV. | ||
| 2975 | */ | ||
| 2976 | static void | ||
| 2977 | mptscsih_set_dvflags_raid(MPT_SCSI_HOST *hd, int id) | ||
| 2978 | { | ||
| 2979 | MPT_ADAPTER *ioc = hd->ioc; | ||
| 2980 | SpiCfgData *pSpi = &ioc->spi_data; | ||
| 2981 | Ioc3PhysDisk_t *pPDisk; | ||
| 2982 | int numPDisk; | ||
| 2983 | |||
| 2984 | if (hd->negoNvram != 0) | ||
| 2985 | return; | ||
| 2986 | |||
| 2987 | ddvtprintk(("DV requested for phys disk id %d\n", id)); | ||
| 2988 | if (ioc->raid_data.pIocPg3) { | ||
| 2989 | pPDisk = ioc->raid_data.pIocPg3->PhysDisk; | ||
| 2990 | numPDisk = ioc->raid_data.pIocPg3->NumPhysDisks; | ||
| 2991 | while (numPDisk) { | ||
| 2992 | if (id == pPDisk->PhysDiskNum) { | ||
| 2993 | pSpi->dvStatus[pPDisk->PhysDiskID] = | ||
| 2994 | (MPT_SCSICFG_NEED_DV | MPT_SCSICFG_DV_NOT_DONE); | ||
| 2995 | pSpi->forceDv = MPT_SCSICFG_NEED_DV; | ||
| 2996 | ddvtprintk(("NEED_DV set for phys disk id %d\n", | ||
| 2997 | pPDisk->PhysDiskID)); | ||
| 2998 | break; | ||
| 2999 | } | ||
| 3000 | pPDisk++; | ||
| 3001 | numPDisk--; | ||
| 3002 | } | ||
| 3003 | |||
| 3004 | if (numPDisk == 0) { | ||
| 3005 | /* The physical disk that needs DV was not found | ||
| 3006 | * in the stored IOC Page 3. The driver must reload | ||
| 3007 | * this page. DV routine will set the NEED_DV flag for | ||
| 3008 | * all phys disks that have DV_NOT_DONE set. | ||
| 3009 | */ | ||
| 3010 | pSpi->forceDv = MPT_SCSICFG_NEED_DV | MPT_SCSICFG_RELOAD_IOC_PG3; | ||
| 3011 | ddvtprintk(("phys disk %d not found. Setting reload IOC Pg3 Flag\n",id)); | ||
| 3012 | } | ||
| 3013 | } | ||
| 3014 | } | ||
| 3015 | |||
| 3016 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | ||
| 3017 | /* | 2947 | /* |
| 3018 | * If no Target, bus reset on 1st I/O. Set the flag to | 2948 | * If no Target, bus reset on 1st I/O. Set the flag to |
| 3019 | * prevent any future negotiations to this device. | 2949 | * prevent any future negotiations to this device. |
| 3020 | */ | 2950 | */ |
| 3021 | static void | 2951 | static void |
| 3022 | mptscsih_no_negotiate(MPT_SCSI_HOST *hd, int target_id) | 2952 | mptscsih_no_negotiate(MPT_SCSI_HOST *hd, struct scsi_cmnd *sc) |
| 3023 | { | 2953 | { |
| 2954 | VirtDevice *vdev; | ||
| 3024 | 2955 | ||
| 3025 | if ((hd->Targets) && (hd->Targets[target_id] == NULL)) | 2956 | if ((vdev = sc->device->hostdata) != NULL) |
| 3026 | hd->ioc->spi_data.dvStatus[target_id] |= MPT_SCSICFG_BLK_NEGO; | 2957 | hd->ioc->spi_data.dvStatus[vdev->target_id] |= MPT_SCSICFG_BLK_NEGO; |
| 3027 | |||
| 3028 | return; | 2958 | return; |
| 3029 | } | 2959 | } |
| 3030 | 2960 | ||
| @@ -3100,7 +3030,7 @@ mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target_id, int flags) | |||
| 3100 | MPT_ADAPTER *ioc = hd->ioc; | 3030 | MPT_ADAPTER *ioc = hd->ioc; |
| 3101 | Config_t *pReq; | 3031 | Config_t *pReq; |
| 3102 | SCSIDevicePage1_t *pData; | 3032 | SCSIDevicePage1_t *pData; |
| 3103 | VirtDevice *pTarget=NULL; | 3033 | VirtTarget *vtarget=NULL; |
| 3104 | MPT_FRAME_HDR *mf; | 3034 | MPT_FRAME_HDR *mf; |
| 3105 | dma_addr_t dataDma; | 3035 | dma_addr_t dataDma; |
| 3106 | u16 req_idx; | 3036 | u16 req_idx; |
| @@ -3180,11 +3110,11 @@ mptscsih_writeSDP1(MPT_SCSI_HOST *hd, int portnum, int target_id, int flags) | |||
| 3180 | /* If id is not a raid volume, get the updated | 3110 | /* If id is not a raid volume, get the updated |
| 3181 | * transmission settings from the target structure. | 3111 | * transmission settings from the target structure. |
| 3182 | */ | 3112 | */ |
| 3183 | if (hd->Targets && (pTarget = hd->Targets[id]) && !pTarget->raidVolume) { | 3113 | if (hd->Targets && (vtarget = hd->Targets[id]) && !vtarget->raidVolume) { |
| 3184 | width = pTarget->maxWidth; | 3114 | width = vtarget->maxWidth; |
| 3185 | factor = pTarget->minSyncFactor; | 3115 | factor = vtarget->minSyncFactor; |
| 3186 | offset = pTarget->maxOffset; | 3116 | offset = vtarget->maxOffset; |
| 3187 | negoFlags = pTarget->negoFlags; | 3117 | negoFlags = vtarget->negoFlags; |
| 3188 | } | 3118 | } |
| 3189 | 3119 | ||
| 3190 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION | 3120 | #ifdef MPTSCSIH_ENABLE_DOMAIN_VALIDATION |
| @@ -3904,149 +3834,139 @@ mptscsih_do_cmd(MPT_SCSI_HOST *hd, INTERNAL_CMD *io) | |||
| 3904 | 3834 | ||
| 3905 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | 3835 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| 3906 | /** | 3836 | /** |
| 3907 | * mptscsih_synchronize_cache - Send SYNCHRONIZE_CACHE to all disks. | 3837 | * mptscsih_negotiate_to_asyn_narrow - Restore devices to default state |
| 3908 | * @hd: Pointer to MPT_SCSI_HOST structure | 3838 | * @hd: Pointer to a SCSI HOST structure |
| 3909 | * @portnum: IOC port number | 3839 | * @vtarget: per device private data |
| 3910 | * | 3840 | * |
| 3911 | * Uses the ISR, but with special processing. | 3841 | * Uses the ISR, but with special processing. |
| 3912 | * MUST be single-threaded. | 3842 | * MUST be single-threaded. |
| 3913 | * | 3843 | * |
| 3914 | * Return: 0 on completion | ||
| 3915 | */ | 3844 | */ |
| 3916 | static int | 3845 | static void |
| 3917 | mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, int portnum) | 3846 | mptscsih_negotiate_to_asyn_narrow(MPT_SCSI_HOST *hd, VirtTarget *vtarget) |
| 3918 | { | 3847 | { |
| 3919 | MPT_ADAPTER *ioc= hd->ioc; | 3848 | MPT_ADAPTER *ioc= hd->ioc; |
| 3920 | VirtDevice *pTarget; | 3849 | SCSIDevicePage1_t *pcfg1Data; |
| 3921 | SCSIDevicePage1_t *pcfg1Data = NULL; | ||
| 3922 | INTERNAL_CMD iocmd; | ||
| 3923 | CONFIGPARMS cfg; | 3850 | CONFIGPARMS cfg; |
| 3924 | dma_addr_t cfg1_dma_addr = -1; | 3851 | dma_addr_t cfg1_dma_addr; |
| 3925 | ConfigPageHeader_t header1; | 3852 | ConfigPageHeader_t header; |
| 3926 | int bus = 0; | 3853 | int id; |
| 3927 | int id = 0; | 3854 | int requested, configuration, data,i; |
| 3928 | int lun; | ||
| 3929 | int indexed_lun, lun_index; | ||
| 3930 | int hostId = ioc->pfacts[portnum].PortSCSIID; | ||
| 3931 | int max_id; | ||
| 3932 | int requested, configuration, data; | ||
| 3933 | int doConfig = 0; | ||
| 3934 | u8 flags, factor; | 3855 | u8 flags, factor; |
| 3935 | 3856 | ||
| 3936 | max_id = ioc->sh->max_id - 1; | 3857 | if (ioc->bus_type != SPI) |
| 3937 | 3858 | return; | |
| 3938 | /* Following parameters will not change | ||
| 3939 | * in this routine. | ||
| 3940 | */ | ||
| 3941 | iocmd.cmd = SYNCHRONIZE_CACHE; | ||
| 3942 | iocmd.flags = 0; | ||
| 3943 | iocmd.physDiskNum = -1; | ||
| 3944 | iocmd.data = NULL; | ||
| 3945 | iocmd.data_dma = -1; | ||
| 3946 | iocmd.size = 0; | ||
| 3947 | iocmd.rsvd = iocmd.rsvd2 = 0; | ||
| 3948 | |||
| 3949 | /* No SCSI hosts | ||
| 3950 | */ | ||
| 3951 | if (hd->Targets == NULL) | ||
| 3952 | return 0; | ||
| 3953 | |||
| 3954 | /* Skip the host | ||
| 3955 | */ | ||
| 3956 | if (id == hostId) | ||
| 3957 | id++; | ||
| 3958 | |||
| 3959 | /* Write SDP1 for all SCSI devices | ||
| 3960 | * Alloc memory and set up config buffer | ||
| 3961 | */ | ||
| 3962 | if (ioc->bus_type == SCSI) { | ||
| 3963 | if (ioc->spi_data.sdp1length > 0) { | ||
| 3964 | pcfg1Data = (SCSIDevicePage1_t *)pci_alloc_consistent(ioc->pcidev, | ||
| 3965 | ioc->spi_data.sdp1length * 4, &cfg1_dma_addr); | ||
| 3966 | |||
| 3967 | if (pcfg1Data != NULL) { | ||
| 3968 | doConfig = 1; | ||
| 3969 | header1.PageVersion = ioc->spi_data.sdp1version; | ||
| 3970 | header1.PageLength = ioc->spi_data.sdp1length; | ||
| 3971 | header1.PageNumber = 1; | ||
| 3972 | header1.PageType = MPI_CONFIG_PAGETYPE_SCSI_DEVICE; | ||
| 3973 | cfg.cfghdr.hdr = &header1; | ||
| 3974 | cfg.physAddr = cfg1_dma_addr; | ||
| 3975 | cfg.action = MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT; | ||
| 3976 | cfg.dir = 1; | ||
| 3977 | cfg.timeout = 0; | ||
| 3978 | } | ||
| 3979 | } | ||
| 3980 | } | ||
| 3981 | 3859 | ||
| 3982 | /* loop through all devices on this port | 3860 | if (!ioc->spi_data.sdp1length) |
| 3983 | */ | 3861 | return; |
| 3984 | while (bus < MPT_MAX_BUS) { | ||
| 3985 | iocmd.bus = bus; | ||
| 3986 | iocmd.id = id; | ||
| 3987 | pTarget = hd->Targets[(int)id]; | ||
| 3988 | 3862 | ||
| 3989 | if (doConfig) { | 3863 | pcfg1Data = (SCSIDevicePage1_t *)pci_alloc_consistent(ioc->pcidev, |
| 3864 | ioc->spi_data.sdp1length * 4, &cfg1_dma_addr); | ||
| 3990 | 3865 | ||
| 3991 | /* Set the negotiation flags */ | 3866 | if (pcfg1Data == NULL) |
| 3992 | if (pTarget && (pTarget = hd->Targets[id]) && !pTarget->raidVolume) { | 3867 | return; |
| 3993 | flags = pTarget->negoFlags; | ||
| 3994 | } else { | ||
| 3995 | flags = hd->ioc->spi_data.noQas; | ||
| 3996 | if (hd->ioc->spi_data.nvram && (hd->ioc->spi_data.nvram[id] != MPT_HOST_NVRAM_INVALID)) { | ||
| 3997 | data = hd->ioc->spi_data.nvram[id]; | ||
| 3998 | 3868 | ||
| 3999 | if (data & MPT_NVRAM_WIDE_DISABLE) | 3869 | header.PageVersion = ioc->spi_data.sdp1version; |
| 4000 | flags |= MPT_TARGET_NO_NEGO_WIDE; | 3870 | header.PageLength = ioc->spi_data.sdp1length; |
| 3871 | header.PageNumber = 1; | ||
| 3872 | header.PageType = MPI_CONFIG_PAGETYPE_SCSI_DEVICE; | ||
| 3873 | cfg.cfghdr.hdr = &header; | ||
| 3874 | cfg.physAddr = cfg1_dma_addr; | ||
| 3875 | cfg.action = MPI_CONFIG_ACTION_PAGE_WRITE_CURRENT; | ||
| 3876 | cfg.dir = 1; | ||
| 3877 | cfg.timeout = 0; | ||
| 4001 | 3878 | ||
| 4002 | factor = (data & MPT_NVRAM_SYNC_MASK) >> MPT_NVRAM_SYNC_SHIFT; | 3879 | if (vtarget->raidVolume && ioc->raid_data.pIocPg3) { |
| 4003 | if ((factor == 0) || (factor == MPT_ASYNC)) | 3880 | for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { |
| 4004 | flags |= MPT_TARGET_NO_NEGO_SYNC; | 3881 | id = ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID; |
| 4005 | } | 3882 | flags = hd->ioc->spi_data.noQas; |
| 3883 | if (hd->ioc->spi_data.nvram && (hd->ioc->spi_data.nvram[id] != MPT_HOST_NVRAM_INVALID)) { | ||
| 3884 | data = hd->ioc->spi_data.nvram[id]; | ||
| 3885 | if (data & MPT_NVRAM_WIDE_DISABLE) | ||
| 3886 | flags |= MPT_TARGET_NO_NEGO_WIDE; | ||
| 3887 | factor = (data & MPT_NVRAM_SYNC_MASK) >> MPT_NVRAM_SYNC_SHIFT; | ||
| 3888 | if ((factor == 0) || (factor == MPT_ASYNC)) | ||
| 3889 | flags |= MPT_TARGET_NO_NEGO_SYNC; | ||
| 4006 | } | 3890 | } |
| 4007 | |||
| 4008 | /* Force to async, narrow */ | ||
| 4009 | mptscsih_setDevicePage1Flags(0, MPT_ASYNC, 0, &requested, | 3891 | mptscsih_setDevicePage1Flags(0, MPT_ASYNC, 0, &requested, |
| 4010 | &configuration, flags); | 3892 | &configuration, flags); |
| 4011 | dnegoprintk(("syncronize cache: id=%d width=0 factor=MPT_ASYNC " | 3893 | dnegoprintk(("syncronize cache: id=%d width=0 factor=MPT_ASYNC " |
| 4012 | "offset=0 negoFlags=%x request=%x config=%x\n", | 3894 | "offset=0 negoFlags=%x request=%x config=%x\n", |
| 4013 | id, flags, requested, configuration)); | 3895 | id, flags, requested, configuration)); |
| 4014 | pcfg1Data->RequestedParameters = cpu_to_le32(requested); | 3896 | pcfg1Data->RequestedParameters = cpu_to_le32(requested); |
| 4015 | pcfg1Data->Reserved = 0; | 3897 | pcfg1Data->Reserved = 0; |
| 4016 | pcfg1Data->Configuration = cpu_to_le32(configuration); | 3898 | pcfg1Data->Configuration = cpu_to_le32(configuration); |
| 4017 | cfg.pageAddr = (bus<<8) | id; | 3899 | cfg.pageAddr = (vtarget->bus_id<<8) | id; |
| 4018 | mpt_config(hd->ioc, &cfg); | 3900 | mpt_config(hd->ioc, &cfg); |
| 4019 | } | 3901 | } |
| 3902 | } else { | ||
| 3903 | flags = vtarget->negoFlags; | ||
| 3904 | mptscsih_setDevicePage1Flags(0, MPT_ASYNC, 0, &requested, | ||
| 3905 | &configuration, flags); | ||
| 3906 | dnegoprintk(("syncronize cache: id=%d width=0 factor=MPT_ASYNC " | ||
| 3907 | "offset=0 negoFlags=%x request=%x config=%x\n", | ||
| 3908 | vtarget->target_id, flags, requested, configuration)); | ||
| 3909 | pcfg1Data->RequestedParameters = cpu_to_le32(requested); | ||
| 3910 | pcfg1Data->Reserved = 0; | ||
| 3911 | pcfg1Data->Configuration = cpu_to_le32(configuration); | ||
| 3912 | cfg.pageAddr = (vtarget->bus_id<<8) | vtarget->target_id; | ||
| 3913 | mpt_config(hd->ioc, &cfg); | ||
| 3914 | } | ||
| 4020 | 3915 | ||
| 4021 | /* If target Ptr NULL or if this target is NOT a disk, skip. | 3916 | if (pcfg1Data) |
| 4022 | */ | 3917 | pci_free_consistent(ioc->pcidev, header.PageLength * 4, pcfg1Data, cfg1_dma_addr); |
| 4023 | if ((pTarget) && (pTarget->inq_data[0] == TYPE_DISK)){ | 3918 | } |
| 4024 | for (lun=0; lun <= MPT_LAST_LUN; lun++) { | ||
| 4025 | /* If LUN present, issue the command | ||
| 4026 | */ | ||
| 4027 | lun_index = (lun >> 5); /* 32 luns per lun_index */ | ||
| 4028 | indexed_lun = (lun % 32); | ||
| 4029 | if (pTarget->luns[lun_index] & (1<<indexed_lun)) { | ||
| 4030 | iocmd.lun = lun; | ||
| 4031 | (void) mptscsih_do_cmd(hd, &iocmd); | ||
| 4032 | } | ||
| 4033 | } | ||
| 4034 | } | ||
| 4035 | 3919 | ||
| 4036 | /* get next relevant device */ | 3920 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ |
| 4037 | id++; | 3921 | /** |
| 3922 | * mptscsih_synchronize_cache - Send SYNCHRONIZE_CACHE to all disks. | ||
| 3923 | * @hd: Pointer to a SCSI HOST structure | ||
| 3924 | * @vtarget: per device private data | ||
| 3925 | * @lun: lun | ||
| 3926 | * | ||
| 3927 | * Uses the ISR, but with special processing. | ||
| 3928 | * MUST be single-threaded. | ||
| 3929 | * | ||
| 3930 | */ | ||
| 3931 | static void | ||
| 3932 | mptscsih_synchronize_cache(MPT_SCSI_HOST *hd, VirtDevice *vdevice) | ||
| 3933 | { | ||
| 3934 | INTERNAL_CMD iocmd; | ||
| 4038 | 3935 | ||
| 4039 | if (id == hostId) | 3936 | /* Following parameters will not change |
| 4040 | id++; | 3937 | * in this routine. |
| 3938 | */ | ||
| 3939 | iocmd.cmd = SYNCHRONIZE_CACHE; | ||
| 3940 | iocmd.flags = 0; | ||
| 3941 | iocmd.physDiskNum = -1; | ||
| 3942 | iocmd.data = NULL; | ||
| 3943 | iocmd.data_dma = -1; | ||
| 3944 | iocmd.size = 0; | ||
| 3945 | iocmd.rsvd = iocmd.rsvd2 = 0; | ||
| 3946 | iocmd.bus = vdevice->bus_id; | ||
| 3947 | iocmd.id = vdevice->target_id; | ||
| 3948 | iocmd.lun = (u8)vdevice->lun; | ||
| 4041 | 3949 | ||
| 4042 | if (id > max_id) { | 3950 | if ((vdevice->vtarget->type & TYPE_DISK) && |
| 4043 | id = 0; | 3951 | (vdevice->configured_lun)) |
| 4044 | bus++; | 3952 | mptscsih_do_cmd(hd, &iocmd); |
| 4045 | } | 3953 | } |
| 4046 | } | ||
| 4047 | 3954 | ||
| 4048 | if (pcfg1Data) { | 3955 | /* Search IOC page 3 to determine if this is hidden physical disk |
| 4049 | pci_free_consistent(ioc->pcidev, header1.PageLength * 4, pcfg1Data, cfg1_dma_addr); | 3956 | */ |
| 3957 | /* Search IOC page 3 to determine if this is hidden physical disk | ||
| 3958 | */ | ||
| 3959 | static int | ||
| 3960 | mptscsih_is_phys_disk(MPT_ADAPTER *ioc, int id) | ||
| 3961 | { | ||
| 3962 | int i; | ||
| 3963 | |||
| 3964 | if (!ioc->raid_data.isRaid || !ioc->raid_data.pIocPg3) | ||
| 3965 | return 0; | ||
| 3966 | |||
| 3967 | for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { | ||
| 3968 | if (id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) | ||
| 3969 | return 1; | ||
| 4050 | } | 3970 | } |
| 4051 | 3971 | ||
| 4052 | return 0; | 3972 | return 0; |
| @@ -4101,8 +4021,8 @@ mptscsih_domainValidation(void *arg) | |||
| 4101 | 4021 | ||
| 4102 | msleep(250); | 4022 | msleep(250); |
| 4103 | 4023 | ||
| 4104 | /* DV only to SCSI adapters */ | 4024 | /* DV only to SPI adapters */ |
| 4105 | if (ioc->bus_type != SCSI) | 4025 | if (ioc->bus_type != SPI) |
| 4106 | continue; | 4026 | continue; |
| 4107 | 4027 | ||
| 4108 | /* Make sure everything looks ok */ | 4028 | /* Make sure everything looks ok */ |
| @@ -4205,32 +4125,12 @@ mptscsih_domainValidation(void *arg) | |||
| 4205 | return; | 4125 | return; |
| 4206 | } | 4126 | } |
| 4207 | 4127 | ||
| 4208 | /* Search IOC page 3 to determine if this is hidden physical disk | ||
| 4209 | */ | ||
| 4210 | /* Search IOC page 3 to determine if this is hidden physical disk | ||
| 4211 | */ | ||
| 4212 | static int | ||
| 4213 | mptscsih_is_phys_disk(MPT_ADAPTER *ioc, int id) | ||
| 4214 | { | ||
| 4215 | int i; | ||
| 4216 | |||
| 4217 | if (!ioc->raid_data.isRaid || !ioc->raid_data.pIocPg3) | ||
| 4218 | return 0; | ||
| 4219 | |||
| 4220 | for (i = 0; i < ioc->raid_data.pIocPg3->NumPhysDisks; i++) { | ||
| 4221 | if (id == ioc->raid_data.pIocPg3->PhysDisk[i].PhysDiskID) | ||
| 4222 | return 1; | ||
| 4223 | } | ||
| 4224 | |||
| 4225 | return 0; | ||
| 4226 | } | ||
| 4227 | |||
| 4228 | /* Write SDP1 if no QAS has been enabled | 4128 | /* Write SDP1 if no QAS has been enabled |
| 4229 | */ | 4129 | */ |
| 4230 | static void | 4130 | static void |
| 4231 | mptscsih_qas_check(MPT_SCSI_HOST *hd, int id) | 4131 | mptscsih_qas_check(MPT_SCSI_HOST *hd, int id) |
| 4232 | { | 4132 | { |
| 4233 | VirtDevice *pTarget; | 4133 | VirtTarget *vtarget; |
| 4234 | int ii; | 4134 | int ii; |
| 4235 | 4135 | ||
| 4236 | if (hd->Targets == NULL) | 4136 | if (hd->Targets == NULL) |
| @@ -4243,11 +4143,11 @@ mptscsih_qas_check(MPT_SCSI_HOST *hd, int id) | |||
| 4243 | if ((hd->ioc->spi_data.dvStatus[ii] & MPT_SCSICFG_DV_NOT_DONE) != 0) | 4143 | if ((hd->ioc->spi_data.dvStatus[ii] & MPT_SCSICFG_DV_NOT_DONE) != 0) |
| 4244 | continue; | 4144 | continue; |
| 4245 | 4145 | ||
| 4246 | pTarget = hd->Targets[ii]; | 4146 | vtarget = hd->Targets[ii]; |
| 4247 | 4147 | ||
| 4248 | if ((pTarget != NULL) && (!pTarget->raidVolume)) { | 4148 | if ((vtarget != NULL) && (!vtarget->raidVolume)) { |
| 4249 | if ((pTarget->negoFlags & hd->ioc->spi_data.noQas) == 0) { | 4149 | if ((vtarget->negoFlags & hd->ioc->spi_data.noQas) == 0) { |
| 4250 | pTarget->negoFlags |= hd->ioc->spi_data.noQas; | 4150 | vtarget->negoFlags |= hd->ioc->spi_data.noQas; |
| 4251 | dnegoprintk(("writeSDP1: id=%d flags=0\n", id)); | 4151 | dnegoprintk(("writeSDP1: id=%d flags=0\n", id)); |
| 4252 | mptscsih_writeSDP1(hd, 0, ii, 0); | 4152 | mptscsih_writeSDP1(hd, 0, ii, 0); |
| 4253 | } | 4153 | } |
| @@ -4287,7 +4187,7 @@ static int | |||
| 4287 | mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | 4187 | mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) |
| 4288 | { | 4188 | { |
| 4289 | MPT_ADAPTER *ioc = hd->ioc; | 4189 | MPT_ADAPTER *ioc = hd->ioc; |
| 4290 | VirtDevice *pTarget; | 4190 | VirtTarget *vtarget; |
| 4291 | SCSIDevicePage1_t *pcfg1Data; | 4191 | SCSIDevicePage1_t *pcfg1Data; |
| 4292 | SCSIDevicePage0_t *pcfg0Data; | 4192 | SCSIDevicePage0_t *pcfg0Data; |
| 4293 | u8 *pbuf1; | 4193 | u8 *pbuf1; |
| @@ -4358,12 +4258,12 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
| 4358 | iocmd.physDiskNum = -1; | 4258 | iocmd.physDiskNum = -1; |
| 4359 | iocmd.rsvd = iocmd.rsvd2 = 0; | 4259 | iocmd.rsvd = iocmd.rsvd2 = 0; |
| 4360 | 4260 | ||
| 4361 | pTarget = hd->Targets[id]; | 4261 | vtarget = hd->Targets[id]; |
| 4362 | 4262 | ||
| 4363 | /* Use tagged commands if possible. | 4263 | /* Use tagged commands if possible. |
| 4364 | */ | 4264 | */ |
| 4365 | if (pTarget) { | 4265 | if (vtarget) { |
| 4366 | if (pTarget->tflags & MPT_TARGET_FLAGS_Q_YES) | 4266 | if (vtarget->tflags & MPT_TARGET_FLAGS_Q_YES) |
| 4367 | iocmd.flags |= MPT_ICFLAG_TAGGED_CMD; | 4267 | iocmd.flags |= MPT_ICFLAG_TAGGED_CMD; |
| 4368 | else { | 4268 | else { |
| 4369 | if (hd->ioc->facts.FWVersion.Word < 0x01000600) | 4269 | if (hd->ioc->facts.FWVersion.Word < 0x01000600) |
| @@ -4579,7 +4479,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
| 4579 | /* Reset the size for disks | 4479 | /* Reset the size for disks |
| 4580 | */ | 4480 | */ |
| 4581 | inq0 = (*pbuf1) & 0x1F; | 4481 | inq0 = (*pbuf1) & 0x1F; |
| 4582 | if ((inq0 == 0) && pTarget && !pTarget->raidVolume) { | 4482 | if ((inq0 == 0) && vtarget && !vtarget->raidVolume) { |
| 4583 | sz = 0x40; | 4483 | sz = 0x40; |
| 4584 | iocmd.size = sz; | 4484 | iocmd.size = sz; |
| 4585 | } | 4485 | } |
| @@ -4589,8 +4489,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
| 4589 | */ | 4489 | */ |
| 4590 | if (inq0 == TYPE_PROCESSOR) { | 4490 | if (inq0 == TYPE_PROCESSOR) { |
| 4591 | mptscsih_initTarget(hd, | 4491 | mptscsih_initTarget(hd, |
| 4592 | bus, | 4492 | vtarget, |
| 4593 | id, | ||
| 4594 | lun, | 4493 | lun, |
| 4595 | pbuf1, | 4494 | pbuf1, |
| 4596 | sz); | 4495 | sz); |
| @@ -4604,22 +4503,22 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
| 4604 | goto target_done; | 4503 | goto target_done; |
| 4605 | 4504 | ||
| 4606 | if (sz == 0x40) { | 4505 | if (sz == 0x40) { |
| 4607 | if ((pTarget->maxWidth == 1) && (pTarget->maxOffset) && (nfactor < 0x0A) | 4506 | if ((vtarget->maxWidth == 1) && (vtarget->maxOffset) && (nfactor < 0x0A) |
| 4608 | && (pTarget->minSyncFactor > 0x09)) { | 4507 | && (vtarget->minSyncFactor > 0x09)) { |
| 4609 | if ((pbuf1[56] & 0x04) == 0) | 4508 | if ((pbuf1[56] & 0x04) == 0) |
| 4610 | ; | 4509 | ; |
| 4611 | else if ((pbuf1[56] & 0x01) == 1) { | 4510 | else if ((pbuf1[56] & 0x01) == 1) { |
| 4612 | pTarget->minSyncFactor = | 4511 | vtarget->minSyncFactor = |
| 4613 | nfactor > MPT_ULTRA320 ? nfactor : MPT_ULTRA320; | 4512 | nfactor > MPT_ULTRA320 ? nfactor : MPT_ULTRA320; |
| 4614 | } else { | 4513 | } else { |
| 4615 | pTarget->minSyncFactor = | 4514 | vtarget->minSyncFactor = |
| 4616 | nfactor > MPT_ULTRA160 ? nfactor : MPT_ULTRA160; | 4515 | nfactor > MPT_ULTRA160 ? nfactor : MPT_ULTRA160; |
| 4617 | } | 4516 | } |
| 4618 | 4517 | ||
| 4619 | dv.max.factor = pTarget->minSyncFactor; | 4518 | dv.max.factor = vtarget->minSyncFactor; |
| 4620 | 4519 | ||
| 4621 | if ((pbuf1[56] & 0x02) == 0) { | 4520 | if ((pbuf1[56] & 0x02) == 0) { |
| 4622 | pTarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; | 4521 | vtarget->negoFlags |= MPT_TARGET_NO_NEGO_QAS; |
| 4623 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; | 4522 | hd->ioc->spi_data.noQas = MPT_TARGET_NO_NEGO_QAS; |
| 4624 | ddvprintk((MYIOC_s_NOTE_FMT | 4523 | ddvprintk((MYIOC_s_NOTE_FMT |
| 4625 | "DV: Start Basic noQas on id=%d due to pbuf1[56]=%x\n", | 4524 | "DV: Start Basic noQas on id=%d due to pbuf1[56]=%x\n", |
| @@ -4702,8 +4601,7 @@ mptscsih_doDv(MPT_SCSI_HOST *hd, int bus_number, int id) | |||
| 4702 | "DV:Inquiry compared id=%d, calling initTarget\n", ioc->name, id)); | 4601 | "DV:Inquiry compared id=%d, calling initTarget\n", ioc->name, id)); |
| 4703 | hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_DV_NOT_DONE; | 4602 | hd->ioc->spi_data.dvStatus[id] &= ~MPT_SCSICFG_DV_NOT_DONE; |
| 4704 | mptscsih_initTarget(hd, | 4603 | mptscsih_initTarget(hd, |
| 4705 | bus, | 4604 | vtarget, |
| 4706 | id, | ||
| 4707 | lun, | 4605 | lun, |
| 4708 | pbuf1, | 4606 | pbuf1, |
| 4709 | sz); | 4607 | sz); |
| @@ -5204,7 +5102,7 @@ target_done: | |||
| 5204 | static void | 5102 | static void |
| 5205 | mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) | 5103 | mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) |
| 5206 | { | 5104 | { |
| 5207 | VirtDevice *pTarget; | 5105 | VirtTarget *vtarget; |
| 5208 | SCSIDevicePage0_t *pPage0; | 5106 | SCSIDevicePage0_t *pPage0; |
| 5209 | SCSIDevicePage1_t *pPage1; | 5107 | SCSIDevicePage1_t *pPage1; |
| 5210 | int val = 0, data, configuration; | 5108 | int val = 0, data, configuration; |
| @@ -5224,11 +5122,11 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) | |||
| 5224 | * already throttled back. | 5122 | * already throttled back. |
| 5225 | */ | 5123 | */ |
| 5226 | negoFlags = hd->ioc->spi_data.noQas; | 5124 | negoFlags = hd->ioc->spi_data.noQas; |
| 5227 | if ((hd->Targets)&&((pTarget = hd->Targets[(int)id]) != NULL) && !pTarget->raidVolume) { | 5125 | if ((hd->Targets)&&((vtarget = hd->Targets[(int)id]) != NULL) && !vtarget->raidVolume) { |
| 5228 | width = pTarget->maxWidth; | 5126 | width = vtarget->maxWidth; |
| 5229 | offset = pTarget->maxOffset; | 5127 | offset = vtarget->maxOffset; |
| 5230 | factor = pTarget->minSyncFactor; | 5128 | factor = vtarget->minSyncFactor; |
| 5231 | negoFlags |= pTarget->negoFlags; | 5129 | negoFlags |= vtarget->negoFlags; |
| 5232 | } else { | 5130 | } else { |
| 5233 | if (hd->ioc->spi_data.nvram && (hd->ioc->spi_data.nvram[id] != MPT_HOST_NVRAM_INVALID)) { | 5131 | if (hd->ioc->spi_data.nvram && (hd->ioc->spi_data.nvram[id] != MPT_HOST_NVRAM_INVALID)) { |
| 5234 | data = hd->ioc->spi_data.nvram[id]; | 5132 | data = hd->ioc->spi_data.nvram[id]; |
| @@ -5430,11 +5328,11 @@ mptscsih_dv_parms(MPT_SCSI_HOST *hd, DVPARAMETERS *dv,void *pPage) | |||
| 5430 | * or overwrite nvram (phys disks only). | 5328 | * or overwrite nvram (phys disks only). |
| 5431 | */ | 5329 | */ |
| 5432 | 5330 | ||
| 5433 | if ((hd->Targets)&&((pTarget = hd->Targets[(int)id]) != NULL) && !pTarget->raidVolume ) { | 5331 | if ((hd->Targets)&&((vtarget = hd->Targets[(int)id]) != NULL) && !vtarget->raidVolume ) { |
| 5434 | pTarget->maxWidth = dv->now.width; | 5332 | vtarget->maxWidth = dv->now.width; |
| 5435 | pTarget->maxOffset = dv->now.offset; | 5333 | vtarget->maxOffset = dv->now.offset; |
| 5436 | pTarget->minSyncFactor = dv->now.factor; | 5334 | vtarget->minSyncFactor = dv->now.factor; |
| 5437 | pTarget->negoFlags = dv->now.flags; | 5335 | vtarget->negoFlags = dv->now.flags; |
| 5438 | } else { | 5336 | } else { |
| 5439 | /* Preserv all flags, use | 5337 | /* Preserv all flags, use |
| 5440 | * read-modify-write algorithm | 5338 | * read-modify-write algorithm |
| @@ -5588,6 +5486,94 @@ mptscsih_fillbuf(char *buffer, int size, int index, int width) | |||
| 5588 | break; | 5486 | break; |
| 5589 | } | 5487 | } |
| 5590 | } | 5488 | } |
| 5489 | |||
| 5490 | /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/ | ||
| 5491 | /* If DV disabled (negoNvram set to USE_NVARM) or if not LUN 0, return. | ||
| 5492 | * Else set the NEED_DV flag after Read Capacity Issued (disks) | ||
| 5493 | * or Mode Sense (cdroms). | ||
| 5494 | * | ||
| 5495 | * Tapes, initTarget will set this flag on completion of Inquiry command. | ||
| 5496 | * Called only if DV_NOT_DONE flag is set | ||
| 5497 | */ | ||
| 5498 | static void | ||
| 5499 | mptscsih_set_dvflags(MPT_SCSI_HOST *hd, struct scsi_cmnd *sc) | ||
| 5500 | { | ||
| 5501 | MPT_ADAPTER *ioc = hd->ioc; | ||
| 5502 | u8 cmd; | ||
| 5503 | SpiCfgData *pSpi; | ||
| 5504 | |||
| 5505 | ddvtprintk((MYIOC_s_NOTE_FMT | ||
| 5506 | " set_dvflags: id=%d lun=%d negoNvram=%x cmd=%x\n", | ||
| 5507 | hd->ioc->name, sc->device->id, sc->device->lun , hd->negoNvram, sc->cmnd[0])); | ||
| 5508 | |||
| 5509 | if ((sc->device->lun != 0) || (hd->negoNvram != 0)) | ||
| 5510 | return; | ||
| 5511 | |||
| 5512 | cmd = sc->cmnd[0]; | ||
| 5513 | |||
| 5514 | if ((cmd == READ_CAPACITY) || (cmd == MODE_SENSE)) { | ||
| 5515 | pSpi = &ioc->spi_data; | ||
| 5516 | if ((ioc->raid_data.isRaid & (1 << sc->device->id)) && ioc->raid_data.pIocPg3) { | ||
| 5517 | /* Set NEED_DV for all hidden disks | ||
| 5518 | */ | ||
| 5519 | Ioc3PhysDisk_t *pPDisk = ioc->raid_data.pIocPg3->PhysDisk; | ||
| 5520 | int numPDisk = ioc->raid_data.pIocPg3->NumPhysDisks; | ||
| 5521 | |||
| 5522 | while (numPDisk) { | ||
| 5523 | pSpi->dvStatus[pPDisk->PhysDiskID] |= MPT_SCSICFG_NEED_DV; | ||
| 5524 | ddvtprintk(("NEED_DV set for phys disk id %d\n", pPDisk->PhysDiskID)); | ||
| 5525 | pPDisk++; | ||
| 5526 | numPDisk--; | ||
| 5527 | } | ||
| 5528 | } | ||
| 5529 | pSpi->dvStatus[sc->device->id] |= MPT_SCSICFG_NEED_DV; | ||
| 5530 | ddvtprintk(("NEED_DV set for visible disk id %d\n", sc->device->id)); | ||
| 5531 | } | ||
| 5532 | } | ||
| 5533 | |||
| 5534 | /* mptscsih_raid_set_dv_flags() | ||
| 5535 | * | ||
| 5536 | * New or replaced disk. Set DV flag and schedule DV. | ||
| 5537 | */ | ||
| 5538 | static void | ||
| 5539 | mptscsih_set_dvflags_raid(MPT_SCSI_HOST *hd, int id) | ||
| 5540 | { | ||
| 5541 | MPT_ADAPTER *ioc = hd->ioc; | ||
| 5542 | SpiCfgData *pSpi = &ioc->spi_data; | ||
| 5543 | Ioc3PhysDisk_t *pPDisk; | ||
| 5544 | int numPDisk; | ||
| 5545 | |||
| 5546 | if (hd->negoNvram != 0) | ||
| 5547 | return; | ||
| 5548 | |||
| 5549 | ddvtprintk(("DV requested for phys disk id %d\n", id)); | ||
| 5550 | if (ioc->raid_data.pIocPg3) { | ||
| 5551 | pPDisk = ioc->raid_data.pIocPg3->PhysDisk; | ||
| 5552 | numPDisk = ioc->raid_data.pIocPg3->NumPhysDisks; | ||
| 5553 | while (numPDisk) { | ||
| 5554 | if (id == pPDisk->PhysDiskNum) { | ||
| 5555 | pSpi->dvStatus[pPDisk->PhysDiskID] = | ||
| 5556 | (MPT_SCSICFG_NEED_DV | MPT_SCSICFG_DV_NOT_DONE); | ||
| 5557 | pSpi->forceDv = MPT_SCSICFG_NEED_DV; | ||
| 5558 | ddvtprintk(("NEED_DV set for phys disk id %d\n", | ||
| 5559 | pPDisk->PhysDiskID)); | ||
| 5560 | break; | ||
| 5561 | } | ||
| 5562 | pPDisk++; | ||
| 5563 | numPDisk--; | ||
| 5564 | } | ||
| 5565 | |||
| 5566 | if (numPDisk == 0) { | ||
| 5567 | /* The physical disk that needs DV was not found | ||
| 5568 | * in the stored IOC Page 3. The driver must reload | ||
| 5569 | * this page. DV routine will set the NEED_DV flag for | ||
| 5570 | * all phys disks that have DV_NOT_DONE set. | ||
| 5571 | */ | ||
| 5572 | pSpi->forceDv = MPT_SCSICFG_NEED_DV | MPT_SCSICFG_RELOAD_IOC_PG3; | ||
| 5573 | ddvtprintk(("phys disk %d not found. Setting reload IOC Pg3 Flag\n",id)); | ||
| 5574 | } | ||
| 5575 | } | ||
| 5576 | } | ||
| 5591 | #endif /* ~MPTSCSIH_ENABLE_DOMAIN_VALIDATION */ | 5577 | #endif /* ~MPTSCSIH_ENABLE_DOMAIN_VALIDATION */ |
| 5592 | 5578 | ||
| 5593 | EXPORT_SYMBOL(mptscsih_remove); | 5579 | EXPORT_SYMBOL(mptscsih_remove); |
| @@ -5599,7 +5585,9 @@ EXPORT_SYMBOL(mptscsih_resume); | |||
| 5599 | EXPORT_SYMBOL(mptscsih_proc_info); | 5585 | EXPORT_SYMBOL(mptscsih_proc_info); |
| 5600 | EXPORT_SYMBOL(mptscsih_info); | 5586 | EXPORT_SYMBOL(mptscsih_info); |
| 5601 | EXPORT_SYMBOL(mptscsih_qcmd); | 5587 | EXPORT_SYMBOL(mptscsih_qcmd); |
| 5588 | EXPORT_SYMBOL(mptscsih_target_alloc); | ||
| 5602 | EXPORT_SYMBOL(mptscsih_slave_alloc); | 5589 | EXPORT_SYMBOL(mptscsih_slave_alloc); |
| 5590 | EXPORT_SYMBOL(mptscsih_target_destroy); | ||
| 5603 | EXPORT_SYMBOL(mptscsih_slave_destroy); | 5591 | EXPORT_SYMBOL(mptscsih_slave_destroy); |
| 5604 | EXPORT_SYMBOL(mptscsih_slave_configure); | 5592 | EXPORT_SYMBOL(mptscsih_slave_configure); |
| 5605 | EXPORT_SYMBOL(mptscsih_abort); | 5593 | EXPORT_SYMBOL(mptscsih_abort); |
diff --git a/drivers/message/fusion/mptscsih.h b/drivers/message/fusion/mptscsih.h index 971fda4b8b57..d3cba12f4bd9 100644 --- a/drivers/message/fusion/mptscsih.h +++ b/drivers/message/fusion/mptscsih.h | |||
| @@ -91,7 +91,9 @@ extern int mptscsih_resume(struct pci_dev *pdev); | |||
| 91 | extern int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func); | 91 | extern int mptscsih_proc_info(struct Scsi_Host *host, char *buffer, char **start, off_t offset, int length, int func); |
| 92 | extern const char * mptscsih_info(struct Scsi_Host *SChost); | 92 | extern const char * mptscsih_info(struct Scsi_Host *SChost); |
| 93 | extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)); | 93 | extern int mptscsih_qcmd(struct scsi_cmnd *SCpnt, void (*done)(struct scsi_cmnd *)); |
| 94 | extern int mptscsih_target_alloc(struct scsi_target *starget); | ||
| 94 | extern int mptscsih_slave_alloc(struct scsi_device *device); | 95 | extern int mptscsih_slave_alloc(struct scsi_device *device); |
| 96 | extern void mptscsih_target_destroy(struct scsi_target *starget); | ||
| 95 | extern void mptscsih_slave_destroy(struct scsi_device *device); | 97 | extern void mptscsih_slave_destroy(struct scsi_device *device); |
| 96 | extern int mptscsih_slave_configure(struct scsi_device *device); | 98 | extern int mptscsih_slave_configure(struct scsi_device *device); |
| 97 | extern int mptscsih_abort(struct scsi_cmnd * SCpnt); | 99 | extern int mptscsih_abort(struct scsi_cmnd * SCpnt); |
diff --git a/drivers/message/fusion/mptspi.c b/drivers/message/fusion/mptspi.c index 5c0e307d1d5d..ce332a6085e5 100644 --- a/drivers/message/fusion/mptspi.c +++ b/drivers/message/fusion/mptspi.c | |||
| @@ -103,13 +103,16 @@ static int mptspiTaskCtx = -1; | |||
| 103 | static int mptspiInternalCtx = -1; /* Used only for internal commands */ | 103 | static int mptspiInternalCtx = -1; /* Used only for internal commands */ |
| 104 | 104 | ||
| 105 | static struct scsi_host_template mptspi_driver_template = { | 105 | static struct scsi_host_template mptspi_driver_template = { |
| 106 | .module = THIS_MODULE, | ||
| 106 | .proc_name = "mptspi", | 107 | .proc_name = "mptspi", |
| 107 | .proc_info = mptscsih_proc_info, | 108 | .proc_info = mptscsih_proc_info, |
| 108 | .name = "MPT SPI Host", | 109 | .name = "MPT SPI Host", |
| 109 | .info = mptscsih_info, | 110 | .info = mptscsih_info, |
| 110 | .queuecommand = mptscsih_qcmd, | 111 | .queuecommand = mptscsih_qcmd, |
| 112 | .target_alloc = mptscsih_target_alloc, | ||
| 111 | .slave_alloc = mptscsih_slave_alloc, | 113 | .slave_alloc = mptscsih_slave_alloc, |
| 112 | .slave_configure = mptscsih_slave_configure, | 114 | .slave_configure = mptscsih_slave_configure, |
| 115 | .target_destroy = mptscsih_target_destroy, | ||
| 113 | .slave_destroy = mptscsih_slave_destroy, | 116 | .slave_destroy = mptscsih_slave_destroy, |
| 114 | .change_queue_depth = mptscsih_change_queue_depth, | 117 | .change_queue_depth = mptscsih_change_queue_depth, |
| 115 | .eh_abort_handler = mptscsih_abort, | 118 | .eh_abort_handler = mptscsih_abort, |
| @@ -177,13 +180,15 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 177 | printk(MYIOC_s_WARN_FMT | 180 | printk(MYIOC_s_WARN_FMT |
| 178 | "Skipping because it's not operational!\n", | 181 | "Skipping because it's not operational!\n", |
| 179 | ioc->name); | 182 | ioc->name); |
| 180 | return -ENODEV; | 183 | error = -ENODEV; |
| 184 | goto out_mptspi_probe; | ||
| 181 | } | 185 | } |
| 182 | 186 | ||
| 183 | if (!ioc->active) { | 187 | if (!ioc->active) { |
| 184 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", | 188 | printk(MYIOC_s_WARN_FMT "Skipping because it's disabled!\n", |
| 185 | ioc->name); | 189 | ioc->name); |
| 186 | return -ENODEV; | 190 | error = -ENODEV; |
| 191 | goto out_mptspi_probe; | ||
| 187 | } | 192 | } |
| 188 | 193 | ||
| 189 | /* Sanity check - ensure at least 1 port is INITIATOR capable | 194 | /* Sanity check - ensure at least 1 port is INITIATOR capable |
| @@ -208,7 +213,8 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 208 | printk(MYIOC_s_WARN_FMT | 213 | printk(MYIOC_s_WARN_FMT |
| 209 | "Unable to register controller with SCSI subsystem\n", | 214 | "Unable to register controller with SCSI subsystem\n", |
| 210 | ioc->name); | 215 | ioc->name); |
| 211 | return -1; | 216 | error = -1; |
| 217 | goto out_mptspi_probe; | ||
| 212 | } | 218 | } |
| 213 | 219 | ||
| 214 | spin_lock_irqsave(&ioc->FreeQlock, flags); | 220 | spin_lock_irqsave(&ioc->FreeQlock, flags); |
| @@ -286,7 +292,7 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 286 | mem = kmalloc(sz, GFP_ATOMIC); | 292 | mem = kmalloc(sz, GFP_ATOMIC); |
| 287 | if (mem == NULL) { | 293 | if (mem == NULL) { |
| 288 | error = -ENOMEM; | 294 | error = -ENOMEM; |
| 289 | goto mptspi_probe_failed; | 295 | goto out_mptspi_probe; |
| 290 | } | 296 | } |
| 291 | 297 | ||
| 292 | memset(mem, 0, sz); | 298 | memset(mem, 0, sz); |
| @@ -304,14 +310,14 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 304 | mem = kmalloc(sz, GFP_ATOMIC); | 310 | mem = kmalloc(sz, GFP_ATOMIC); |
| 305 | if (mem == NULL) { | 311 | if (mem == NULL) { |
| 306 | error = -ENOMEM; | 312 | error = -ENOMEM; |
| 307 | goto mptspi_probe_failed; | 313 | goto out_mptspi_probe; |
| 308 | } | 314 | } |
| 309 | 315 | ||
| 310 | memset(mem, 0, sz); | 316 | memset(mem, 0, sz); |
| 311 | hd->Targets = (VirtDevice **) mem; | 317 | hd->Targets = (VirtTarget **) mem; |
| 312 | 318 | ||
| 313 | dprintk((KERN_INFO | 319 | dprintk((KERN_INFO |
| 314 | " Targets @ %p, sz=%d\n", hd->Targets, sz)); | 320 | " vdev @ %p, sz=%d\n", hd->Targets, sz)); |
| 315 | 321 | ||
| 316 | /* Clear the TM flags | 322 | /* Clear the TM flags |
| 317 | */ | 323 | */ |
| @@ -385,13 +391,13 @@ mptspi_probe(struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 385 | if(error) { | 391 | if(error) { |
| 386 | dprintk((KERN_ERR MYNAM | 392 | dprintk((KERN_ERR MYNAM |
| 387 | "scsi_add_host failed\n")); | 393 | "scsi_add_host failed\n")); |
| 388 | goto mptspi_probe_failed; | 394 | goto out_mptspi_probe; |
| 389 | } | 395 | } |
| 390 | 396 | ||
| 391 | scsi_scan_host(sh); | 397 | scsi_scan_host(sh); |
| 392 | return 0; | 398 | return 0; |
| 393 | 399 | ||
| 394 | mptspi_probe_failed: | 400 | out_mptspi_probe: |
| 395 | 401 | ||
| 396 | mptscsih_remove(pdev); | 402 | mptscsih_remove(pdev); |
| 397 | return error; | 403 | return error; |
diff --git a/drivers/scsi/53c700.c b/drivers/scsi/53c700.c index e7ad269041a4..4ce7438608ec 100644 --- a/drivers/scsi/53c700.c +++ b/drivers/scsi/53c700.c | |||
| @@ -857,7 +857,7 @@ process_extended_message(struct Scsi_Host *host, | |||
| 857 | printk(KERN_INFO "scsi%d (%d:%d): Unexpected message %s: ", | 857 | printk(KERN_INFO "scsi%d (%d:%d): Unexpected message %s: ", |
| 858 | host->host_no, pun, lun, | 858 | host->host_no, pun, lun, |
| 859 | NCR_700_phase[(dsps & 0xf00) >> 8]); | 859 | NCR_700_phase[(dsps & 0xf00) >> 8]); |
| 860 | scsi_print_msg(hostdata->msgin); | 860 | spi_print_msg(hostdata->msgin); |
| 861 | printk("\n"); | 861 | printk("\n"); |
| 862 | /* just reject it */ | 862 | /* just reject it */ |
| 863 | hostdata->msgout[0] = A_REJECT_MSG; | 863 | hostdata->msgout[0] = A_REJECT_MSG; |
| @@ -887,7 +887,7 @@ process_message(struct Scsi_Host *host, struct NCR_700_Host_Parameters *hostdata | |||
| 887 | #ifdef NCR_700_DEBUG | 887 | #ifdef NCR_700_DEBUG |
| 888 | printk("scsi%d (%d:%d): message %s: ", host->host_no, pun, lun, | 888 | printk("scsi%d (%d:%d): message %s: ", host->host_no, pun, lun, |
| 889 | NCR_700_phase[(dsps & 0xf00) >> 8]); | 889 | NCR_700_phase[(dsps & 0xf00) >> 8]); |
| 890 | scsi_print_msg(hostdata->msgin); | 890 | spi_print_msg(hostdata->msgin); |
| 891 | printk("\n"); | 891 | printk("\n"); |
| 892 | #endif | 892 | #endif |
| 893 | 893 | ||
| @@ -939,7 +939,7 @@ process_message(struct Scsi_Host *host, struct NCR_700_Host_Parameters *hostdata | |||
| 939 | host->host_no, pun, lun, | 939 | host->host_no, pun, lun, |
| 940 | NCR_700_phase[(dsps & 0xf00) >> 8]); | 940 | NCR_700_phase[(dsps & 0xf00) >> 8]); |
| 941 | 941 | ||
| 942 | scsi_print_msg(hostdata->msgin); | 942 | spi_print_msg(hostdata->msgin); |
| 943 | printk("\n"); | 943 | printk("\n"); |
| 944 | /* just reject it */ | 944 | /* just reject it */ |
| 945 | hostdata->msgout[0] = A_REJECT_MSG; | 945 | hostdata->msgout[0] = A_REJECT_MSG; |
diff --git a/drivers/scsi/53c700.h b/drivers/scsi/53c700.h index 362d78483d09..a8c83bb03630 100644 --- a/drivers/scsi/53c700.h +++ b/drivers/scsi/53c700.h | |||
| @@ -238,21 +238,23 @@ struct NCR_700_Host_Parameters { | |||
| 238 | #ifdef CONFIG_53C700_LE_ON_BE | 238 | #ifdef CONFIG_53C700_LE_ON_BE |
| 239 | #define bE (hostdata->force_le_on_be ? 0 : 3) | 239 | #define bE (hostdata->force_le_on_be ? 0 : 3) |
| 240 | #define bSWAP (hostdata->force_le_on_be) | 240 | #define bSWAP (hostdata->force_le_on_be) |
| 241 | /* This is terrible, but there's no raw version of ioread32. That means | 241 | #define bEBus (!hostdata->force_le_on_be) |
| 242 | * that on a be board we swap twice (once in ioread32 and once again to | ||
| 243 | * get the value correct) */ | ||
| 244 | #define bS_to_io(x) ((hostdata->force_le_on_be) ? (x) : cpu_to_le32(x)) | ||
| 245 | #elif defined(__BIG_ENDIAN) | 242 | #elif defined(__BIG_ENDIAN) |
| 246 | #define bE 3 | 243 | #define bE 3 |
| 247 | #define bSWAP 0 | 244 | #define bSWAP 0 |
| 248 | #define bS_to_io(x) (x) | ||
| 249 | #elif defined(__LITTLE_ENDIAN) | 245 | #elif defined(__LITTLE_ENDIAN) |
| 250 | #define bE 0 | 246 | #define bE 0 |
| 251 | #define bSWAP 0 | 247 | #define bSWAP 0 |
| 252 | #define bS_to_io(x) (x) | ||
| 253 | #else | 248 | #else |
| 254 | #error "__BIG_ENDIAN or __LITTLE_ENDIAN must be defined, did you include byteorder.h?" | 249 | #error "__BIG_ENDIAN or __LITTLE_ENDIAN must be defined, did you include byteorder.h?" |
| 255 | #endif | 250 | #endif |
| 251 | #ifndef bEBus | ||
| 252 | #ifdef CONFIG_53C700_BE_BUS | ||
| 253 | #define bEBus 1 | ||
| 254 | #else | ||
| 255 | #define bEBus 0 | ||
| 256 | #endif | ||
| 257 | #endif | ||
| 256 | #define bS_to_cpu(x) (bSWAP ? le32_to_cpu(x) : (x)) | 258 | #define bS_to_cpu(x) (bSWAP ? le32_to_cpu(x) : (x)) |
| 257 | #define bS_to_host(x) (bSWAP ? cpu_to_le32(x) : (x)) | 259 | #define bS_to_host(x) (bSWAP ? cpu_to_le32(x) : (x)) |
| 258 | 260 | ||
| @@ -466,14 +468,15 @@ NCR_700_readl(struct Scsi_Host *host, __u32 reg) | |||
| 466 | { | 468 | { |
| 467 | const struct NCR_700_Host_Parameters *hostdata | 469 | const struct NCR_700_Host_Parameters *hostdata |
| 468 | = (struct NCR_700_Host_Parameters *)host->hostdata[0]; | 470 | = (struct NCR_700_Host_Parameters *)host->hostdata[0]; |
| 469 | __u32 value = ioread32(hostdata->base + reg); | 471 | __u32 value = bEBus ? ioread32be(hostdata->base + reg) : |
| 472 | ioread32(hostdata->base + reg); | ||
| 470 | #if 1 | 473 | #if 1 |
| 471 | /* sanity check the register */ | 474 | /* sanity check the register */ |
| 472 | if((reg & 0x3) != 0) | 475 | if((reg & 0x3) != 0) |
| 473 | BUG(); | 476 | BUG(); |
| 474 | #endif | 477 | #endif |
| 475 | 478 | ||
| 476 | return bS_to_io(value); | 479 | return value; |
| 477 | } | 480 | } |
| 478 | 481 | ||
| 479 | static inline void | 482 | static inline void |
| @@ -497,7 +500,8 @@ NCR_700_writel(__u32 value, struct Scsi_Host *host, __u32 reg) | |||
| 497 | BUG(); | 500 | BUG(); |
| 498 | #endif | 501 | #endif |
| 499 | 502 | ||
| 500 | iowrite32(bS_to_io(value), hostdata->base + reg); | 503 | bEBus ? iowrite32be(value, hostdata->base + reg): |
| 504 | iowrite32(value, hostdata->base + reg); | ||
| 501 | } | 505 | } |
| 502 | 506 | ||
| 503 | #endif | 507 | #endif |
diff --git a/drivers/scsi/53c7xx.c b/drivers/scsi/53c7xx.c index 9cb5dd48383f..7894b8ea84bd 100644 --- a/drivers/scsi/53c7xx.c +++ b/drivers/scsi/53c7xx.c | |||
| @@ -282,6 +282,7 @@ | |||
| 282 | #include "scsi.h" | 282 | #include "scsi.h" |
| 283 | #include <scsi/scsi_dbg.h> | 283 | #include <scsi/scsi_dbg.h> |
| 284 | #include <scsi/scsi_host.h> | 284 | #include <scsi/scsi_host.h> |
| 285 | #include <scsi/scsi_transport_spi.h> | ||
| 285 | #include "53c7xx.h" | 286 | #include "53c7xx.h" |
| 286 | #include <linux/stat.h> | 287 | #include <linux/stat.h> |
| 287 | #include <linux/stddef.h> | 288 | #include <linux/stddef.h> |
| @@ -1724,7 +1725,7 @@ NCR53c7xx_run_tests (struct Scsi_Host *host) { | |||
| 1724 | printk ("scsi%d : status ", host->host_no); | 1725 | printk ("scsi%d : status ", host->host_no); |
| 1725 | scsi_print_status (status); | 1726 | scsi_print_status (status); |
| 1726 | printk ("\nscsi%d : message ", host->host_no); | 1727 | printk ("\nscsi%d : message ", host->host_no); |
| 1727 | scsi_print_msg (&msg); | 1728 | spi_print_msg(&msg); |
| 1728 | printk ("\n"); | 1729 | printk ("\n"); |
| 1729 | } else if (hostdata->test_completed == 3) { | 1730 | } else if (hostdata->test_completed == 3) { |
| 1730 | printk("scsi%d : test 2 no connection with target %d\n", | 1731 | printk("scsi%d : test 2 no connection with target %d\n", |
| @@ -2313,7 +2314,7 @@ NCR53c7x0_dstat_sir_intr (struct Scsi_Host *host, struct | |||
| 2313 | printk ("scsi%d : received message", host->host_no); | 2314 | printk ("scsi%d : received message", host->host_no); |
| 2314 | if (c) | 2315 | if (c) |
| 2315 | printk (" from target %d lun %d ", c->device->id, c->device->lun); | 2316 | printk (" from target %d lun %d ", c->device->id, c->device->lun); |
| 2316 | scsi_print_msg ((unsigned char *) hostdata->msg_buf); | 2317 | spi_print_msg((unsigned char *) hostdata->msg_buf); |
| 2317 | printk("\n"); | 2318 | printk("\n"); |
| 2318 | } | 2319 | } |
| 2319 | 2320 | ||
| @@ -5540,7 +5541,7 @@ print_dsa (struct Scsi_Host *host, u32 *dsa, const char *prefix) { | |||
| 5540 | i > 0 && !check_address ((unsigned long) ptr, 1); | 5541 | i > 0 && !check_address ((unsigned long) ptr, 1); |
| 5541 | ptr += len, i -= len) { | 5542 | ptr += len, i -= len) { |
| 5542 | printk(" "); | 5543 | printk(" "); |
| 5543 | len = scsi_print_msg (ptr); | 5544 | len = spi_print_msg(ptr); |
| 5544 | printk("\n"); | 5545 | printk("\n"); |
| 5545 | if (!len) | 5546 | if (!len) |
| 5546 | break; | 5547 | break; |
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 20dd85a77813..4c42065dea88 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig | |||
| @@ -336,6 +336,7 @@ config SCSI_ACARD | |||
| 336 | config SCSI_AHA152X | 336 | config SCSI_AHA152X |
| 337 | tristate "Adaptec AHA152X/2825 support" | 337 | tristate "Adaptec AHA152X/2825 support" |
| 338 | depends on ISA && SCSI && !64BIT | 338 | depends on ISA && SCSI && !64BIT |
| 339 | select SCSI_SPI_ATTRS | ||
| 339 | ---help--- | 340 | ---help--- |
| 340 | This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825 | 341 | This is a driver for the AHA-1510, AHA-1520, AHA-1522, and AHA-2825 |
| 341 | SCSI host adapters. It also works for the AVA-1505, but the IRQ etc. | 342 | SCSI host adapters. It also works for the AVA-1505, but the IRQ etc. |
| @@ -623,6 +624,7 @@ config SCSI_OMIT_FLASHPOINT | |||
| 623 | config SCSI_DMX3191D | 624 | config SCSI_DMX3191D |
| 624 | tristate "DMX3191D SCSI support" | 625 | tristate "DMX3191D SCSI support" |
| 625 | depends on PCI && SCSI | 626 | depends on PCI && SCSI |
| 627 | select SCSI_SPI_ATTRS | ||
| 626 | help | 628 | help |
| 627 | This is support for Domex DMX3191D SCSI Host Adapters. | 629 | This is support for Domex DMX3191D SCSI Host Adapters. |
| 628 | 630 | ||
| @@ -632,6 +634,7 @@ config SCSI_DMX3191D | |||
| 632 | config SCSI_DTC3280 | 634 | config SCSI_DTC3280 |
| 633 | tristate "DTC3180/3280 SCSI support" | 635 | tristate "DTC3180/3280 SCSI support" |
| 634 | depends on ISA && SCSI | 636 | depends on ISA && SCSI |
| 637 | select SCSI_SPI_ATTRS | ||
| 635 | help | 638 | help |
| 636 | This is support for DTC 3180/3280 SCSI Host Adapters. Please read | 639 | This is support for DTC 3180/3280 SCSI Host Adapters. Please read |
| 637 | the SCSI-HOWTO, available from | 640 | the SCSI-HOWTO, available from |
| @@ -752,6 +755,7 @@ config SCSI_GDTH | |||
| 752 | config SCSI_GENERIC_NCR5380 | 755 | config SCSI_GENERIC_NCR5380 |
| 753 | tristate "Generic NCR5380/53c400 SCSI PIO support" | 756 | tristate "Generic NCR5380/53c400 SCSI PIO support" |
| 754 | depends on ISA && SCSI | 757 | depends on ISA && SCSI |
| 758 | select SCSI_SPI_ATTRS | ||
| 755 | ---help--- | 759 | ---help--- |
| 756 | This is a driver for the old NCR 53c80 series of SCSI controllers | 760 | This is a driver for the old NCR 53c80 series of SCSI controllers |
| 757 | on boards using PIO. Most boards such as the Trantor T130 fit this | 761 | on boards using PIO. Most boards such as the Trantor T130 fit this |
| @@ -771,6 +775,7 @@ config SCSI_GENERIC_NCR5380 | |||
| 771 | config SCSI_GENERIC_NCR5380_MMIO | 775 | config SCSI_GENERIC_NCR5380_MMIO |
| 772 | tristate "Generic NCR5380/53c400 SCSI MMIO support" | 776 | tristate "Generic NCR5380/53c400 SCSI MMIO support" |
| 773 | depends on ISA && SCSI | 777 | depends on ISA && SCSI |
| 778 | select SCSI_SPI_ATTRS | ||
| 774 | ---help--- | 779 | ---help--- |
| 775 | This is a driver for the old NCR 53c80 series of SCSI controllers | 780 | This is a driver for the old NCR 53c80 series of SCSI controllers |
| 776 | on boards using memory mapped I/O. | 781 | on boards using memory mapped I/O. |
| @@ -1254,6 +1259,7 @@ config SCSI_MCA_53C9X | |||
| 1254 | config SCSI_PAS16 | 1259 | config SCSI_PAS16 |
| 1255 | tristate "PAS16 SCSI support" | 1260 | tristate "PAS16 SCSI support" |
| 1256 | depends on ISA && SCSI | 1261 | depends on ISA && SCSI |
| 1262 | select SCSI_SPI_ATTRS | ||
| 1257 | ---help--- | 1263 | ---help--- |
| 1258 | This is support for a SCSI host adapter. It is explained in section | 1264 | This is support for a SCSI host adapter. It is explained in section |
| 1259 | 3.10 of the SCSI-HOWTO, available from | 1265 | 3.10 of the SCSI-HOWTO, available from |
| @@ -1423,6 +1429,7 @@ config SCSI_DC390T | |||
| 1423 | config SCSI_T128 | 1429 | config SCSI_T128 |
| 1424 | tristate "Trantor T128/T128F/T228 SCSI support" | 1430 | tristate "Trantor T128/T128F/T228 SCSI support" |
| 1425 | depends on ISA && SCSI | 1431 | depends on ISA && SCSI |
| 1432 | select SCSI_SPI_ATTRS | ||
| 1426 | ---help--- | 1433 | ---help--- |
| 1427 | This is support for a SCSI host adapter. It is explained in section | 1434 | This is support for a SCSI host adapter. It is explained in section |
| 1428 | 3.11 of the SCSI-HOWTO, available from | 1435 | 3.11 of the SCSI-HOWTO, available from |
| @@ -1681,6 +1688,7 @@ config OKTAGON_SCSI | |||
| 1681 | config ATARI_SCSI | 1688 | config ATARI_SCSI |
| 1682 | tristate "Atari native SCSI support" | 1689 | tristate "Atari native SCSI support" |
| 1683 | depends on ATARI && SCSI && BROKEN | 1690 | depends on ATARI && SCSI && BROKEN |
| 1691 | select SCSI_SPI_ATTRS | ||
| 1684 | ---help--- | 1692 | ---help--- |
| 1685 | If you have an Atari with built-in NCR5380 SCSI controller (TT, | 1693 | If you have an Atari with built-in NCR5380 SCSI controller (TT, |
| 1686 | Falcon, ...) say Y to get it supported. Of course also, if you have | 1694 | Falcon, ...) say Y to get it supported. Of course also, if you have |
| @@ -1722,6 +1730,7 @@ config TT_DMA_EMUL | |||
| 1722 | config MAC_SCSI | 1730 | config MAC_SCSI |
| 1723 | bool "Macintosh NCR5380 SCSI" | 1731 | bool "Macintosh NCR5380 SCSI" |
| 1724 | depends on MAC && SCSI=y | 1732 | depends on MAC && SCSI=y |
| 1733 | select SCSI_SPI_ATTRS | ||
| 1725 | help | 1734 | help |
| 1726 | This is the NCR 5380 SCSI controller included on most of the 68030 | 1735 | This is the NCR 5380 SCSI controller included on most of the 68030 |
| 1727 | based Macintoshes. If you have one of these say Y and read the | 1736 | based Macintoshes. If you have one of these say Y and read the |
| @@ -1743,6 +1752,7 @@ config SCSI_MAC_ESP | |||
| 1743 | config MVME147_SCSI | 1752 | config MVME147_SCSI |
| 1744 | bool "WD33C93 SCSI driver for MVME147" | 1753 | bool "WD33C93 SCSI driver for MVME147" |
| 1745 | depends on MVME147 && SCSI=y | 1754 | depends on MVME147 && SCSI=y |
| 1755 | select SCSI_SPI_ATTRS | ||
| 1746 | help | 1756 | help |
| 1747 | Support for the on-board SCSI controller on the Motorola MVME147 | 1757 | Support for the on-board SCSI controller on the Motorola MVME147 |
| 1748 | single-board computer. | 1758 | single-board computer. |
| @@ -1750,6 +1760,7 @@ config MVME147_SCSI | |||
| 1750 | config MVME16x_SCSI | 1760 | config MVME16x_SCSI |
| 1751 | bool "NCR53C710 SCSI driver for MVME16x" | 1761 | bool "NCR53C710 SCSI driver for MVME16x" |
| 1752 | depends on MVME16x && SCSI && BROKEN | 1762 | depends on MVME16x && SCSI && BROKEN |
| 1763 | select SCSI_SPI_ATTRS | ||
| 1753 | help | 1764 | help |
| 1754 | The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710 | 1765 | The Motorola MVME162, 166, 167, 172 and 177 boards use the NCR53C710 |
| 1755 | SCSI controller chip. Almost everyone using one of these boards | 1766 | SCSI controller chip. Almost everyone using one of these boards |
| @@ -1758,6 +1769,7 @@ config MVME16x_SCSI | |||
| 1758 | config BVME6000_SCSI | 1769 | config BVME6000_SCSI |
| 1759 | bool "NCR53C710 SCSI driver for BVME6000" | 1770 | bool "NCR53C710 SCSI driver for BVME6000" |
| 1760 | depends on BVME6000 && SCSI && BROKEN | 1771 | depends on BVME6000 && SCSI && BROKEN |
| 1772 | select SCSI_SPI_ATTRS | ||
| 1761 | help | 1773 | help |
| 1762 | The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710 | 1774 | The BVME4000 and BVME6000 boards from BVM Ltd use the NCR53C710 |
| 1763 | SCSI controller chip. Almost everyone using one of these boards | 1775 | SCSI controller chip. Almost everyone using one of these boards |
| @@ -1774,6 +1786,7 @@ config SCSI_NCR53C7xx_FAST | |||
| 1774 | config SUN3_SCSI | 1786 | config SUN3_SCSI |
| 1775 | tristate "Sun3 NCR5380 SCSI" | 1787 | tristate "Sun3 NCR5380 SCSI" |
| 1776 | depends on SUN3 && SCSI && BROKEN | 1788 | depends on SUN3 && SCSI && BROKEN |
| 1789 | select SCSI_SPI_ATTRS | ||
| 1777 | help | 1790 | help |
| 1778 | This option will enable support for the OBIO (onboard io) NCR5380 | 1791 | This option will enable support for the OBIO (onboard io) NCR5380 |
| 1779 | SCSI controller found in the Sun 3/50 and 3/60, as well as for | 1792 | SCSI controller found in the Sun 3/50 and 3/60, as well as for |
diff --git a/drivers/scsi/NCR5380.c b/drivers/scsi/NCR5380.c index cba9655d0f14..9f0ddbe6dc76 100644 --- a/drivers/scsi/NCR5380.c +++ b/drivers/scsi/NCR5380.c | |||
| @@ -87,6 +87,7 @@ | |||
| 87 | * the high level code. | 87 | * the high level code. |
| 88 | */ | 88 | */ |
| 89 | #include <scsi/scsi_dbg.h> | 89 | #include <scsi/scsi_dbg.h> |
| 90 | #include <scsi/scsi_transport_spi.h> | ||
| 90 | 91 | ||
| 91 | #ifndef NDEBUG | 92 | #ifndef NDEBUG |
| 92 | #define NDEBUG 0 | 93 | #define NDEBUG 0 |
| @@ -2377,7 +2378,7 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance) { | |||
| 2377 | * 3..length+1 arguments | 2378 | * 3..length+1 arguments |
| 2378 | * | 2379 | * |
| 2379 | * Start the extended message buffer with the EXTENDED_MESSAGE | 2380 | * Start the extended message buffer with the EXTENDED_MESSAGE |
| 2380 | * byte, since scsi_print_msg() wants the whole thing. | 2381 | * byte, since spi_print_msg() wants the whole thing. |
| 2381 | */ | 2382 | */ |
| 2382 | extended_msg[0] = EXTENDED_MESSAGE; | 2383 | extended_msg[0] = EXTENDED_MESSAGE; |
| 2383 | /* Accept first byte by clearing ACK */ | 2384 | /* Accept first byte by clearing ACK */ |
| @@ -2424,7 +2425,7 @@ static void NCR5380_information_transfer(struct Scsi_Host *instance) { | |||
| 2424 | default: | 2425 | default: |
| 2425 | if (!tmp) { | 2426 | if (!tmp) { |
| 2426 | printk("scsi%d: rejecting message ", instance->host_no); | 2427 | printk("scsi%d: rejecting message ", instance->host_no); |
| 2427 | scsi_print_msg(extended_msg); | 2428 | spi_print_msg(extended_msg); |
| 2428 | printk("\n"); | 2429 | printk("\n"); |
| 2429 | } else if (tmp != EXTENDED_MESSAGE) | 2430 | } else if (tmp != EXTENDED_MESSAGE) |
| 2430 | scmd_printk(KERN_INFO, cmd, | 2431 | scmd_printk(KERN_INFO, cmd, |
| @@ -2560,7 +2561,7 @@ static void NCR5380_reselect(struct Scsi_Host *instance) { | |||
| 2560 | 2561 | ||
| 2561 | if (!(msg[0] & 0x80)) { | 2562 | if (!(msg[0] & 0x80)) { |
| 2562 | printk(KERN_ERR "scsi%d : expecting IDENTIFY message, got ", instance->host_no); | 2563 | printk(KERN_ERR "scsi%d : expecting IDENTIFY message, got ", instance->host_no); |
| 2563 | scsi_print_msg(msg); | 2564 | spi_print_msg(msg); |
| 2564 | abort = 1; | 2565 | abort = 1; |
| 2565 | } else { | 2566 | } else { |
| 2566 | /* Accept message by clearing ACK */ | 2567 | /* Accept message by clearing ACK */ |
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c index 9df23b654cec..cb2ee25f213f 100644 --- a/drivers/scsi/aha152x.c +++ b/drivers/scsi/aha152x.c | |||
| @@ -259,6 +259,7 @@ | |||
| 259 | #include "scsi.h" | 259 | #include "scsi.h" |
| 260 | #include <scsi/scsi_dbg.h> | 260 | #include <scsi/scsi_dbg.h> |
| 261 | #include <scsi/scsi_host.h> | 261 | #include <scsi/scsi_host.h> |
| 262 | #include <scsi/scsi_transport_spi.h> | ||
| 262 | #include "aha152x.h" | 263 | #include "aha152x.h" |
| 263 | 264 | ||
| 264 | 265 | ||
| @@ -1845,7 +1846,7 @@ static void msgi_run(struct Scsi_Host *shpnt) | |||
| 1845 | #if defined(AHA152X_DEBUG) | 1846 | #if defined(AHA152X_DEBUG) |
| 1846 | if (HOSTDATA(shpnt)->debug & debug_msgi) { | 1847 | if (HOSTDATA(shpnt)->debug & debug_msgi) { |
| 1847 | printk(INFO_LEAD "inbound message %02x ", CMDINFO(CURRENT_SC), MSGI(0)); | 1848 | printk(INFO_LEAD "inbound message %02x ", CMDINFO(CURRENT_SC), MSGI(0)); |
| 1848 | scsi_print_msg(&MSGI(0)); | 1849 | spi_print_msg(&MSGI(0)); |
| 1849 | printk("\n"); | 1850 | printk("\n"); |
| 1850 | } | 1851 | } |
| 1851 | #endif | 1852 | #endif |
| @@ -1933,7 +1934,7 @@ static void msgi_run(struct Scsi_Host *shpnt) | |||
| 1933 | break; | 1934 | break; |
| 1934 | 1935 | ||
| 1935 | printk(INFO_LEAD, CMDINFO(CURRENT_SC)); | 1936 | printk(INFO_LEAD, CMDINFO(CURRENT_SC)); |
| 1936 | scsi_print_msg(&MSGI(0)); | 1937 | spi_print_msg(&MSGI(0)); |
| 1937 | printk("\n"); | 1938 | printk("\n"); |
| 1938 | 1939 | ||
| 1939 | ticks = (MSGI(3) * 4 + 49) / 50; | 1940 | ticks = (MSGI(3) * 4 + 49) / 50; |
| @@ -2031,7 +2032,7 @@ static void msgo_init(struct Scsi_Host *shpnt) | |||
| 2031 | int i; | 2032 | int i; |
| 2032 | 2033 | ||
| 2033 | printk(DEBUG_LEAD "messages( ", CMDINFO(CURRENT_SC)); | 2034 | printk(DEBUG_LEAD "messages( ", CMDINFO(CURRENT_SC)); |
| 2034 | for (i=0; i<MSGOLEN; i+=scsi_print_msg(&MSGO(i)), printk(" ")) | 2035 | for (i=0; i<MSGOLEN; i+=spi_print_msg(&MSGO(i)), printk(" ")) |
| 2035 | ; | 2036 | ; |
| 2036 | printk(")\n"); | 2037 | printk(")\n"); |
| 2037 | } | 2038 | } |
diff --git a/drivers/scsi/aic7xxx/aic79xx_osm.c b/drivers/scsi/aic7xxx/aic79xx_osm.c index 6aab9dacdeea..1c8f872e2dd4 100644 --- a/drivers/scsi/aic7xxx/aic79xx_osm.c +++ b/drivers/scsi/aic7xxx/aic79xx_osm.c | |||
| @@ -1064,6 +1064,7 @@ ahd_linux_register_host(struct ahd_softc *ahd, struct scsi_host_template *templa | |||
| 1064 | struct Scsi_Host *host; | 1064 | struct Scsi_Host *host; |
| 1065 | char *new_name; | 1065 | char *new_name; |
| 1066 | u_long s; | 1066 | u_long s; |
| 1067 | int retval; | ||
| 1067 | 1068 | ||
| 1068 | template->name = ahd->description; | 1069 | template->name = ahd->description; |
| 1069 | host = scsi_host_alloc(template, sizeof(struct ahd_softc *)); | 1070 | host = scsi_host_alloc(template, sizeof(struct ahd_softc *)); |
| @@ -1096,9 +1097,15 @@ ahd_linux_register_host(struct ahd_softc *ahd, struct scsi_host_template *templa | |||
| 1096 | 1097 | ||
| 1097 | host->transportt = ahd_linux_transport_template; | 1098 | host->transportt = ahd_linux_transport_template; |
| 1098 | 1099 | ||
| 1099 | scsi_add_host(host, &ahd->dev_softc->dev); /* XXX handle failure */ | 1100 | retval = scsi_add_host(host, &ahd->dev_softc->dev); |
| 1101 | if (retval) { | ||
| 1102 | printk(KERN_WARNING "aic79xx: scsi_add_host failed\n"); | ||
| 1103 | scsi_host_put(host); | ||
| 1104 | return retval; | ||
| 1105 | } | ||
| 1106 | |||
| 1100 | scsi_scan_host(host); | 1107 | scsi_scan_host(host); |
| 1101 | return (0); | 1108 | return 0; |
| 1102 | } | 1109 | } |
| 1103 | 1110 | ||
| 1104 | uint64_t | 1111 | uint64_t |
diff --git a/drivers/scsi/aic7xxx/aic7xxx_osm.c b/drivers/scsi/aic7xxx/aic7xxx_osm.c index d866213f42b8..fd389e9f9460 100644 --- a/drivers/scsi/aic7xxx/aic7xxx_osm.c +++ b/drivers/scsi/aic7xxx/aic7xxx_osm.c | |||
| @@ -1061,10 +1061,11 @@ uint32_t aic7xxx_verbose; | |||
| 1061 | int | 1061 | int |
| 1062 | ahc_linux_register_host(struct ahc_softc *ahc, struct scsi_host_template *template) | 1062 | ahc_linux_register_host(struct ahc_softc *ahc, struct scsi_host_template *template) |
| 1063 | { | 1063 | { |
| 1064 | char buf[80]; | 1064 | char buf[80]; |
| 1065 | struct Scsi_Host *host; | 1065 | struct Scsi_Host *host; |
| 1066 | char *new_name; | 1066 | char *new_name; |
| 1067 | u_long s; | 1067 | u_long s; |
| 1068 | int retval; | ||
| 1068 | 1069 | ||
| 1069 | template->name = ahc->description; | 1070 | template->name = ahc->description; |
| 1070 | host = scsi_host_alloc(template, sizeof(struct ahc_softc *)); | 1071 | host = scsi_host_alloc(template, sizeof(struct ahc_softc *)); |
| @@ -1097,9 +1098,16 @@ ahc_linux_register_host(struct ahc_softc *ahc, struct scsi_host_template *templa | |||
| 1097 | 1098 | ||
| 1098 | host->transportt = ahc_linux_transport_template; | 1099 | host->transportt = ahc_linux_transport_template; |
| 1099 | 1100 | ||
| 1100 | scsi_add_host(host, (ahc->dev_softc ? &ahc->dev_softc->dev : NULL)); /* XXX handle failure */ | 1101 | retval = scsi_add_host(host, |
| 1102 | (ahc->dev_softc ? &ahc->dev_softc->dev : NULL)); | ||
| 1103 | if (retval) { | ||
| 1104 | printk(KERN_WARNING "aic7xxx: scsi_add_host failed\n"); | ||
| 1105 | scsi_host_put(host); | ||
| 1106 | return retval; | ||
| 1107 | } | ||
| 1108 | |||
| 1101 | scsi_scan_host(host); | 1109 | scsi_scan_host(host); |
| 1102 | return (0); | 1110 | return 0; |
| 1103 | } | 1111 | } |
| 1104 | 1112 | ||
| 1105 | /* | 1113 | /* |
diff --git a/drivers/scsi/arm/Kconfig b/drivers/scsi/arm/Kconfig index 13f23043c8a3..06d7601cdf56 100644 --- a/drivers/scsi/arm/Kconfig +++ b/drivers/scsi/arm/Kconfig | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | config SCSI_ACORNSCSI_3 | 4 | config SCSI_ACORNSCSI_3 |
| 5 | tristate "Acorn SCSI card (aka30) support" | 5 | tristate "Acorn SCSI card (aka30) support" |
| 6 | depends on ARCH_ACORN && SCSI && BROKEN | 6 | depends on ARCH_ACORN && SCSI && BROKEN |
| 7 | select SCSI_SPI_ATTRS | ||
| 7 | help | 8 | help |
| 8 | This enables support for the Acorn SCSI card (aka30). If you have an | 9 | This enables support for the Acorn SCSI card (aka30). If you have an |
| 9 | Acorn system with one of these, say Y. If unsure, say N. | 10 | Acorn system with one of these, say Y. If unsure, say N. |
diff --git a/drivers/scsi/arm/acornscsi.c b/drivers/scsi/arm/acornscsi.c index b7b20c689c24..09ed05727bcb 100644 --- a/drivers/scsi/arm/acornscsi.c +++ b/drivers/scsi/arm/acornscsi.c | |||
| @@ -152,6 +152,7 @@ | |||
| 152 | #include "../scsi.h" | 152 | #include "../scsi.h" |
| 153 | #include <scsi/scsi_dbg.h> | 153 | #include <scsi/scsi_dbg.h> |
| 154 | #include <scsi/scsi_host.h> | 154 | #include <scsi/scsi_host.h> |
| 155 | #include <scsi/scsi_transport_spi.h> | ||
| 155 | #include "acornscsi.h" | 156 | #include "acornscsi.h" |
| 156 | #include "msgqueue.h" | 157 | #include "msgqueue.h" |
| 157 | #include "scsi.h" | 158 | #include "scsi.h" |
| @@ -1370,7 +1371,7 @@ void acornscsi_sendmessage(AS_Host *host) | |||
| 1370 | 1371 | ||
| 1371 | host->scsi.last_message = msg->msg[0]; | 1372 | host->scsi.last_message = msg->msg[0]; |
| 1372 | #if (DEBUG & DEBUG_MESSAGES) | 1373 | #if (DEBUG & DEBUG_MESSAGES) |
| 1373 | scsi_print_msg(msg->msg); | 1374 | spi_print_msg(msg->msg); |
| 1374 | #endif | 1375 | #endif |
| 1375 | break; | 1376 | break; |
| 1376 | 1377 | ||
| @@ -1392,7 +1393,7 @@ void acornscsi_sendmessage(AS_Host *host) | |||
| 1392 | while ((msg = msgqueue_getmsg(&host->scsi.msgs, msgnr++)) != NULL) { | 1393 | while ((msg = msgqueue_getmsg(&host->scsi.msgs, msgnr++)) != NULL) { |
| 1393 | unsigned int i; | 1394 | unsigned int i; |
| 1394 | #if (DEBUG & DEBUG_MESSAGES) | 1395 | #if (DEBUG & DEBUG_MESSAGES) |
| 1395 | scsi_print_msg(msg); | 1396 | spi_print_msg(msg); |
| 1396 | #endif | 1397 | #endif |
| 1397 | i = 0; | 1398 | i = 0; |
| 1398 | if (acornscsi_write_pio(host, msg->msg, &i, msg->length, 1000000)) | 1399 | if (acornscsi_write_pio(host, msg->msg, &i, msg->length, 1000000)) |
| @@ -1488,7 +1489,7 @@ void acornscsi_message(AS_Host *host) | |||
| 1488 | #if (DEBUG & DEBUG_MESSAGES) | 1489 | #if (DEBUG & DEBUG_MESSAGES) |
| 1489 | printk("scsi%d.%c: message in: ", | 1490 | printk("scsi%d.%c: message in: ", |
| 1490 | host->host->host_no, acornscsi_target(host)); | 1491 | host->host->host_no, acornscsi_target(host)); |
| 1491 | scsi_print_msg(message); | 1492 | spi_print_msg(message); |
| 1492 | printk("\n"); | 1493 | printk("\n"); |
| 1493 | #endif | 1494 | #endif |
| 1494 | 1495 | ||
diff --git a/drivers/scsi/atari_NCR5380.c b/drivers/scsi/atari_NCR5380.c index 2ae31ceb32a8..57295bcea3e7 100644 --- a/drivers/scsi/atari_NCR5380.c +++ b/drivers/scsi/atari_NCR5380.c | |||
| @@ -74,6 +74,7 @@ | |||
| 74 | * the high level code. | 74 | * the high level code. |
| 75 | */ | 75 | */ |
| 76 | #include <scsi/scsi_dbg.h> | 76 | #include <scsi/scsi_dbg.h> |
| 77 | #include <scsi/scsi_transport_spi.h> | ||
| 77 | 78 | ||
| 78 | #if (NDEBUG & NDEBUG_LISTS) | 79 | #if (NDEBUG & NDEBUG_LISTS) |
| 79 | #define LIST(x,y) \ | 80 | #define LIST(x,y) \ |
| @@ -2355,7 +2356,7 @@ static void NCR5380_information_transfer (struct Scsi_Host *instance) | |||
| 2355 | * 3..length+1 arguments | 2356 | * 3..length+1 arguments |
| 2356 | * | 2357 | * |
| 2357 | * Start the extended message buffer with the EXTENDED_MESSAGE | 2358 | * Start the extended message buffer with the EXTENDED_MESSAGE |
| 2358 | * byte, since scsi_print_msg() wants the whole thing. | 2359 | * byte, since spi_print_msg() wants the whole thing. |
| 2359 | */ | 2360 | */ |
| 2360 | extended_msg[0] = EXTENDED_MESSAGE; | 2361 | extended_msg[0] = EXTENDED_MESSAGE; |
| 2361 | /* Accept first byte by clearing ACK */ | 2362 | /* Accept first byte by clearing ACK */ |
| @@ -2408,7 +2409,7 @@ static void NCR5380_information_transfer (struct Scsi_Host *instance) | |||
| 2408 | default: | 2409 | default: |
| 2409 | if (!tmp) { | 2410 | if (!tmp) { |
| 2410 | printk(KERN_DEBUG "scsi%d: rejecting message ", HOSTNO); | 2411 | printk(KERN_DEBUG "scsi%d: rejecting message ", HOSTNO); |
| 2411 | scsi_print_msg (extended_msg); | 2412 | spi_print_msg(extended_msg); |
| 2412 | printk("\n"); | 2413 | printk("\n"); |
| 2413 | } else if (tmp != EXTENDED_MESSAGE) | 2414 | } else if (tmp != EXTENDED_MESSAGE) |
| 2414 | printk(KERN_DEBUG "scsi%d: rejecting unknown " | 2415 | printk(KERN_DEBUG "scsi%d: rejecting unknown " |
| @@ -2541,7 +2542,7 @@ static void NCR5380_reselect (struct Scsi_Host *instance) | |||
| 2541 | 2542 | ||
| 2542 | if (!(msg[0] & 0x80)) { | 2543 | if (!(msg[0] & 0x80)) { |
| 2543 | printk(KERN_DEBUG "scsi%d: expecting IDENTIFY message, got ", HOSTNO); | 2544 | printk(KERN_DEBUG "scsi%d: expecting IDENTIFY message, got ", HOSTNO); |
| 2544 | scsi_print_msg(msg); | 2545 | spi_print_msg(msg); |
| 2545 | do_abort(instance); | 2546 | do_abort(instance); |
| 2546 | return; | 2547 | return; |
| 2547 | } | 2548 | } |
diff --git a/drivers/scsi/ch.c b/drivers/scsi/ch.c index ccbbae2bf478..0920220f3313 100644 --- a/drivers/scsi/ch.c +++ b/drivers/scsi/ch.c | |||
| @@ -75,7 +75,7 @@ static int vendor_counts[CH_TYPES-4]; | |||
| 75 | module_param_array(vendor_firsts, int, NULL, 0444); | 75 | module_param_array(vendor_firsts, int, NULL, 0444); |
| 76 | module_param_array(vendor_counts, int, NULL, 0444); | 76 | module_param_array(vendor_counts, int, NULL, 0444); |
| 77 | 77 | ||
| 78 | static char *vendor_labels[CH_TYPES-4] = { | 78 | static const char * vendor_labels[CH_TYPES-4] = { |
| 79 | "v0", "v1", "v2", "v3" | 79 | "v0", "v1", "v2", "v3" |
| 80 | }; | 80 | }; |
| 81 | // module_param_string_array(vendor_labels, NULL, 0444); | 81 | // module_param_string_array(vendor_labels, NULL, 0444); |
| @@ -140,7 +140,7 @@ static struct file_operations changer_fops = | |||
| 140 | #endif | 140 | #endif |
| 141 | }; | 141 | }; |
| 142 | 142 | ||
| 143 | static struct { | 143 | static const struct { |
| 144 | unsigned char sense; | 144 | unsigned char sense; |
| 145 | unsigned char asc; | 145 | unsigned char asc; |
| 146 | unsigned char ascq; | 146 | unsigned char ascq; |
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c index 09bc81557b6e..30a335349cee 100644 --- a/drivers/scsi/constants.c +++ b/drivers/scsi/constants.c | |||
| @@ -1065,7 +1065,7 @@ struct error_info2 { | |||
| 1065 | const char * fmt; | 1065 | const char * fmt; |
| 1066 | }; | 1066 | }; |
| 1067 | 1067 | ||
| 1068 | static struct error_info2 additional2[] = | 1068 | static const struct error_info2 additional2[] = |
| 1069 | { | 1069 | { |
| 1070 | {0x40,0x00,0x7f,"Ram failure (%x)"}, | 1070 | {0x40,0x00,0x7f,"Ram failure (%x)"}, |
| 1071 | {0x40,0x80,0xff,"Diagnostic failure on component (%x)"}, | 1071 | {0x40,0x80,0xff,"Diagnostic failure on component (%x)"}, |
| @@ -1077,7 +1077,7 @@ static struct error_info2 additional2[] = | |||
| 1077 | }; | 1077 | }; |
| 1078 | 1078 | ||
| 1079 | /* description of the sense key values */ | 1079 | /* description of the sense key values */ |
| 1080 | static const char *snstext[] = { | 1080 | static const char * const snstext[] = { |
| 1081 | "No Sense", /* 0: There is no sense information */ | 1081 | "No Sense", /* 0: There is no sense information */ |
| 1082 | "Recovered Error", /* 1: The last command completed successfully | 1082 | "Recovered Error", /* 1: The last command completed successfully |
| 1083 | but used error correction */ | 1083 | but used error correction */ |
| @@ -1278,114 +1278,6 @@ void scsi_print_req_sense(const char *devclass, struct scsi_request *sreq) | |||
| 1278 | } | 1278 | } |
| 1279 | EXPORT_SYMBOL(scsi_print_req_sense); | 1279 | EXPORT_SYMBOL(scsi_print_req_sense); |
| 1280 | 1280 | ||
| 1281 | #ifdef CONFIG_SCSI_CONSTANTS | ||
| 1282 | static const char *one_byte_msgs[] = { | ||
| 1283 | /* 0x00 */ "Command Complete", NULL, "Save Pointers", | ||
| 1284 | /* 0x03 */ "Restore Pointers", "Disconnect", "Initiator Error", | ||
| 1285 | /* 0x06 */ "Abort", "Message Reject", "Nop", "Message Parity Error", | ||
| 1286 | /* 0x0a */ "Linked Command Complete", "Linked Command Complete w/flag", | ||
| 1287 | /* 0x0c */ "Bus device reset", "Abort Tag", "Clear Queue", | ||
| 1288 | /* 0x0f */ "Initiate Recovery", "Release Recovery" | ||
| 1289 | }; | ||
| 1290 | #define NO_ONE_BYTE_MSGS (sizeof(one_byte_msgs) / sizeof (const char *)) | ||
| 1291 | |||
| 1292 | static const char *two_byte_msgs[] = { | ||
| 1293 | /* 0x20 */ "Simple Queue Tag", "Head of Queue Tag", "Ordered Queue Tag" | ||
| 1294 | /* 0x23 */ "Ignore Wide Residue" | ||
| 1295 | }; | ||
| 1296 | #define NO_TWO_BYTE_MSGS (sizeof(two_byte_msgs) / sizeof (const char *)) | ||
| 1297 | |||
| 1298 | static const char *extended_msgs[] = { | ||
| 1299 | /* 0x00 */ "Modify Data Pointer", "Synchronous Data Transfer Request", | ||
| 1300 | /* 0x02 */ "SCSI-I Extended Identify", "Wide Data Transfer Request" | ||
| 1301 | }; | ||
| 1302 | #define NO_EXTENDED_MSGS (sizeof(two_byte_msgs) / sizeof (const char *)) | ||
| 1303 | |||
| 1304 | |||
| 1305 | int scsi_print_msg (const unsigned char *msg) | ||
| 1306 | { | ||
| 1307 | int len = 0, i; | ||
| 1308 | if (msg[0] == EXTENDED_MESSAGE) { | ||
| 1309 | len = 3 + msg[1]; | ||
| 1310 | if (msg[2] < NO_EXTENDED_MSGS) | ||
| 1311 | printk ("%s ", extended_msgs[msg[2]]); | ||
| 1312 | else | ||
| 1313 | printk ("Extended Message, reserved code (0x%02x) ", | ||
| 1314 | (int) msg[2]); | ||
| 1315 | switch (msg[2]) { | ||
| 1316 | case EXTENDED_MODIFY_DATA_POINTER: | ||
| 1317 | printk("pointer = %d", (int) (msg[3] << 24) | | ||
| 1318 | (msg[4] << 16) | (msg[5] << 8) | msg[6]); | ||
| 1319 | break; | ||
| 1320 | case EXTENDED_SDTR: | ||
| 1321 | printk("period = %d ns, offset = %d", | ||
| 1322 | (int) msg[3] * 4, (int) msg[4]); | ||
| 1323 | break; | ||
| 1324 | case EXTENDED_WDTR: | ||
| 1325 | printk("width = 2^%d bytes", msg[3]); | ||
| 1326 | break; | ||
| 1327 | default: | ||
| 1328 | for (i = 2; i < len; ++i) | ||
| 1329 | printk("%02x ", msg[i]); | ||
| 1330 | } | ||
| 1331 | /* Identify */ | ||
| 1332 | } else if (msg[0] & 0x80) { | ||
| 1333 | printk("Identify disconnect %sallowed %s %d ", | ||
| 1334 | (msg[0] & 0x40) ? "" : "not ", | ||
| 1335 | (msg[0] & 0x20) ? "target routine" : "lun", | ||
| 1336 | msg[0] & 0x7); | ||
| 1337 | len = 1; | ||
| 1338 | /* Normal One byte */ | ||
| 1339 | } else if (msg[0] < 0x1f) { | ||
| 1340 | if (msg[0] < NO_ONE_BYTE_MSGS) | ||
| 1341 | printk(one_byte_msgs[msg[0]]); | ||
| 1342 | else | ||
| 1343 | printk("reserved (%02x) ", msg[0]); | ||
| 1344 | len = 1; | ||
| 1345 | /* Two byte */ | ||
| 1346 | } else if (msg[0] <= 0x2f) { | ||
| 1347 | if ((msg[0] - 0x20) < NO_TWO_BYTE_MSGS) | ||
| 1348 | printk("%s %02x ", two_byte_msgs[msg[0] - 0x20], | ||
| 1349 | msg[1]); | ||
| 1350 | else | ||
| 1351 | printk("reserved two byte (%02x %02x) ", | ||
| 1352 | msg[0], msg[1]); | ||
| 1353 | len = 2; | ||
| 1354 | } else | ||
| 1355 | printk("reserved"); | ||
| 1356 | return len; | ||
| 1357 | } | ||
| 1358 | EXPORT_SYMBOL(scsi_print_msg); | ||
| 1359 | |||
| 1360 | #else /* ifndef CONFIG_SCSI_CONSTANTS */ | ||
| 1361 | |||
| 1362 | int scsi_print_msg (const unsigned char *msg) | ||
| 1363 | { | ||
| 1364 | int len = 0, i; | ||
| 1365 | |||
| 1366 | if (msg[0] == EXTENDED_MESSAGE) { | ||
| 1367 | len = 3 + msg[1]; | ||
| 1368 | for (i = 0; i < len; ++i) | ||
| 1369 | printk("%02x ", msg[i]); | ||
| 1370 | /* Identify */ | ||
| 1371 | } else if (msg[0] & 0x80) { | ||
| 1372 | printk("%02x ", msg[0]); | ||
| 1373 | len = 1; | ||
| 1374 | /* Normal One byte */ | ||
| 1375 | } else if (msg[0] < 0x1f) { | ||
| 1376 | printk("%02x ", msg[0]); | ||
| 1377 | len = 1; | ||
| 1378 | /* Two byte */ | ||
| 1379 | } else if (msg[0] <= 0x2f) { | ||
| 1380 | printk("%02x %02x", msg[0], msg[1]); | ||
| 1381 | len = 2; | ||
| 1382 | } else | ||
| 1383 | printk("%02x ", msg[0]); | ||
| 1384 | return len; | ||
| 1385 | } | ||
| 1386 | EXPORT_SYMBOL(scsi_print_msg); | ||
| 1387 | #endif /* ! CONFIG_SCSI_CONSTANTS */ | ||
| 1388 | |||
| 1389 | void scsi_print_command(struct scsi_cmnd *cmd) | 1281 | void scsi_print_command(struct scsi_cmnd *cmd) |
| 1390 | { | 1282 | { |
| 1391 | /* Assume appended output (i.e. not at start of line) */ | 1283 | /* Assume appended output (i.e. not at start of line) */ |
| @@ -1397,7 +1289,7 @@ EXPORT_SYMBOL(scsi_print_command); | |||
| 1397 | 1289 | ||
| 1398 | #ifdef CONFIG_SCSI_CONSTANTS | 1290 | #ifdef CONFIG_SCSI_CONSTANTS |
| 1399 | 1291 | ||
| 1400 | static const char * hostbyte_table[]={ | 1292 | static const char * const hostbyte_table[]={ |
| 1401 | "DID_OK", "DID_NO_CONNECT", "DID_BUS_BUSY", "DID_TIME_OUT", "DID_BAD_TARGET", | 1293 | "DID_OK", "DID_NO_CONNECT", "DID_BUS_BUSY", "DID_TIME_OUT", "DID_BAD_TARGET", |
| 1402 | "DID_ABORT", "DID_PARITY", "DID_ERROR", "DID_RESET", "DID_BAD_INTR", | 1294 | "DID_ABORT", "DID_PARITY", "DID_ERROR", "DID_RESET", "DID_BAD_INTR", |
| 1403 | "DID_PASSTHROUGH", "DID_SOFT_ERROR", "DID_IMM_RETRY"}; | 1295 | "DID_PASSTHROUGH", "DID_SOFT_ERROR", "DID_IMM_RETRY"}; |
| @@ -1422,12 +1314,12 @@ void scsi_print_hostbyte(int scsiresult) | |||
| 1422 | 1314 | ||
| 1423 | #ifdef CONFIG_SCSI_CONSTANTS | 1315 | #ifdef CONFIG_SCSI_CONSTANTS |
| 1424 | 1316 | ||
| 1425 | static const char * driverbyte_table[]={ | 1317 | static const char * const driverbyte_table[]={ |
| 1426 | "DRIVER_OK", "DRIVER_BUSY", "DRIVER_SOFT", "DRIVER_MEDIA", "DRIVER_ERROR", | 1318 | "DRIVER_OK", "DRIVER_BUSY", "DRIVER_SOFT", "DRIVER_MEDIA", "DRIVER_ERROR", |
| 1427 | "DRIVER_INVALID", "DRIVER_TIMEOUT", "DRIVER_HARD", "DRIVER_SENSE"}; | 1319 | "DRIVER_INVALID", "DRIVER_TIMEOUT", "DRIVER_HARD", "DRIVER_SENSE"}; |
| 1428 | #define NUM_DRIVERBYTE_STRS (sizeof(driverbyte_table) / sizeof(const char *)) | 1320 | #define NUM_DRIVERBYTE_STRS (sizeof(driverbyte_table) / sizeof(const char *)) |
| 1429 | 1321 | ||
| 1430 | static const char * driversuggest_table[]={"SUGGEST_OK", | 1322 | static const char * const driversuggest_table[]={"SUGGEST_OK", |
| 1431 | "SUGGEST_RETRY", "SUGGEST_ABORT", "SUGGEST_REMAP", "SUGGEST_DIE", | 1323 | "SUGGEST_RETRY", "SUGGEST_ABORT", "SUGGEST_REMAP", "SUGGEST_DIE", |
| 1432 | "SUGGEST_5", "SUGGEST_6", "SUGGEST_7", "SUGGEST_SENSE"}; | 1324 | "SUGGEST_5", "SUGGEST_6", "SUGGEST_7", "SUGGEST_SENSE"}; |
| 1433 | #define NUM_SUGGEST_STRS (sizeof(driversuggest_table) / sizeof(const char *)) | 1325 | #define NUM_SUGGEST_STRS (sizeof(driversuggest_table) / sizeof(const char *)) |
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index fa2cb3582cfa..b6714da4d6e2 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c | |||
| @@ -5887,7 +5887,12 @@ static int __devinit ipr_probe_ioa_part2(struct ipr_ioa_cfg *ioa_cfg) | |||
| 5887 | ENTER; | 5887 | ENTER; |
| 5888 | spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags); | 5888 | spin_lock_irqsave(ioa_cfg->host->host_lock, host_lock_flags); |
| 5889 | dev_dbg(&ioa_cfg->pdev->dev, "ioa_cfg adx: 0x%p\n", ioa_cfg); | 5889 | dev_dbg(&ioa_cfg->pdev->dev, "ioa_cfg adx: 0x%p\n", ioa_cfg); |
| 5890 | _ipr_initiate_ioa_reset(ioa_cfg, ipr_reset_enable_ioa, IPR_SHUTDOWN_NONE); | 5890 | if (ioa_cfg->needs_hard_reset) { |
| 5891 | ioa_cfg->needs_hard_reset = 0; | ||
| 5892 | ipr_initiate_ioa_reset(ioa_cfg, IPR_SHUTDOWN_NONE); | ||
| 5893 | } else | ||
| 5894 | _ipr_initiate_ioa_reset(ioa_cfg, ipr_reset_enable_ioa, | ||
| 5895 | IPR_SHUTDOWN_NONE); | ||
| 5891 | 5896 | ||
| 5892 | spin_unlock_irqrestore(ioa_cfg->host->host_lock, host_lock_flags); | 5897 | spin_unlock_irqrestore(ioa_cfg->host->host_lock, host_lock_flags); |
| 5893 | wait_event(ioa_cfg->reset_wait_q, !ioa_cfg->in_reset_reload); | 5898 | wait_event(ioa_cfg->reset_wait_q, !ioa_cfg->in_reset_reload); |
| @@ -6264,6 +6269,7 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, | |||
| 6264 | unsigned long ipr_regs_pci; | 6269 | unsigned long ipr_regs_pci; |
| 6265 | void __iomem *ipr_regs; | 6270 | void __iomem *ipr_regs; |
| 6266 | u32 rc = PCIBIOS_SUCCESSFUL; | 6271 | u32 rc = PCIBIOS_SUCCESSFUL; |
| 6272 | volatile u32 mask, uproc; | ||
| 6267 | 6273 | ||
| 6268 | ENTER; | 6274 | ENTER; |
| 6269 | 6275 | ||
| @@ -6356,6 +6362,15 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev, | |||
| 6356 | goto cleanup_nomem; | 6362 | goto cleanup_nomem; |
| 6357 | } | 6363 | } |
| 6358 | 6364 | ||
| 6365 | /* | ||
| 6366 | * If HRRQ updated interrupt is not masked, or reset alert is set, | ||
| 6367 | * the card is in an unknown state and needs a hard reset | ||
| 6368 | */ | ||
| 6369 | mask = readl(ioa_cfg->regs.sense_interrupt_mask_reg); | ||
| 6370 | uproc = readl(ioa_cfg->regs.sense_uproc_interrupt_reg); | ||
| 6371 | if ((mask & IPR_PCII_HRRQ_UPDATED) == 0 || (uproc & IPR_UPROCI_RESET_ALERT)) | ||
| 6372 | ioa_cfg->needs_hard_reset = 1; | ||
| 6373 | |||
| 6359 | ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER); | 6374 | ipr_mask_and_clear_interrupts(ioa_cfg, ~IPR_PCII_IOA_TRANS_TO_OPER); |
| 6360 | rc = request_irq(pdev->irq, ipr_isr, SA_SHIRQ, IPR_NAME, ioa_cfg); | 6375 | rc = request_irq(pdev->irq, ipr_isr, SA_SHIRQ, IPR_NAME, ioa_cfg); |
| 6361 | 6376 | ||
diff --git a/drivers/scsi/ipr.h b/drivers/scsi/ipr.h index 6bec673c925c..b639332131f1 100644 --- a/drivers/scsi/ipr.h +++ b/drivers/scsi/ipr.h | |||
| @@ -36,8 +36,8 @@ | |||
| 36 | /* | 36 | /* |
| 37 | * Literals | 37 | * Literals |
| 38 | */ | 38 | */ |
| 39 | #define IPR_DRIVER_VERSION "2.1.0" | 39 | #define IPR_DRIVER_VERSION "2.1.1" |
| 40 | #define IPR_DRIVER_DATE "(October 31, 2005)" | 40 | #define IPR_DRIVER_DATE "(November 15, 2005)" |
| 41 | 41 | ||
| 42 | /* | 42 | /* |
| 43 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding | 43 | * IPR_MAX_CMD_PER_LUN: This defines the maximum number of outstanding |
| @@ -922,6 +922,7 @@ struct ipr_ioa_cfg { | |||
| 922 | u8 dump_taken:1; | 922 | u8 dump_taken:1; |
| 923 | u8 allow_cmds:1; | 923 | u8 allow_cmds:1; |
| 924 | u8 allow_ml_add_del:1; | 924 | u8 allow_ml_add_del:1; |
| 925 | u8 needs_hard_reset:1; | ||
| 925 | 926 | ||
| 926 | enum ipr_cache_state cache_state; | 927 | enum ipr_cache_state cache_state; |
| 927 | u16 type; /* CCIN of the card */ | 928 | u16 type; /* CCIN of the card */ |
diff --git a/drivers/scsi/iscsi_tcp.c b/drivers/scsi/iscsi_tcp.c index 3d8009f55342..10bcf42cb65c 100644 --- a/drivers/scsi/iscsi_tcp.c +++ b/drivers/scsi/iscsi_tcp.c | |||
| @@ -49,7 +49,7 @@ MODULE_AUTHOR("Dmitry Yusupov <dmitry_yus@yahoo.com>, " | |||
| 49 | "Alex Aizman <itn780@yahoo.com>"); | 49 | "Alex Aizman <itn780@yahoo.com>"); |
| 50 | MODULE_DESCRIPTION("iSCSI/TCP data-path"); | 50 | MODULE_DESCRIPTION("iSCSI/TCP data-path"); |
| 51 | MODULE_LICENSE("GPL"); | 51 | MODULE_LICENSE("GPL"); |
| 52 | MODULE_VERSION("0:4.409"); | 52 | MODULE_VERSION("0:4.445"); |
| 53 | /* #define DEBUG_TCP */ | 53 | /* #define DEBUG_TCP */ |
| 54 | /* #define DEBUG_SCSI */ | 54 | /* #define DEBUG_SCSI */ |
| 55 | #define DEBUG_ASSERT | 55 | #define DEBUG_ASSERT |
| @@ -581,10 +581,16 @@ iscsi_hdr_recv(struct iscsi_conn *conn) | |||
| 581 | crypto_digest_digest(conn->rx_tfm, &sg, 1, (u8 *)&cdgst); | 581 | crypto_digest_digest(conn->rx_tfm, &sg, 1, (u8 *)&cdgst); |
| 582 | rdgst = *(uint32_t*)((char*)hdr + sizeof(struct iscsi_hdr) + | 582 | rdgst = *(uint32_t*)((char*)hdr + sizeof(struct iscsi_hdr) + |
| 583 | conn->in.ahslen); | 583 | conn->in.ahslen); |
| 584 | if (cdgst != rdgst) { | ||
| 585 | printk(KERN_ERR "iscsi_tcp: itt %x: hdrdgst error " | ||
| 586 | "recv 0x%x calc 0x%x\n", conn->in.itt, rdgst, | ||
| 587 | cdgst); | ||
| 588 | return ISCSI_ERR_HDR_DGST; | ||
| 589 | } | ||
| 584 | } | 590 | } |
| 585 | 591 | ||
| 586 | /* save opcode for later */ | 592 | /* save opcode for later */ |
| 587 | conn->in.opcode = hdr->opcode; | 593 | conn->in.opcode = hdr->opcode & ISCSI_OPCODE_MASK; |
| 588 | 594 | ||
| 589 | /* verify itt (itt encoding: age+cid+itt) */ | 595 | /* verify itt (itt encoding: age+cid+itt) */ |
| 590 | if (hdr->itt != cpu_to_be32(ISCSI_RESERVED_TAG)) { | 596 | if (hdr->itt != cpu_to_be32(ISCSI_RESERVED_TAG)) { |
| @@ -610,13 +616,6 @@ iscsi_hdr_recv(struct iscsi_conn *conn) | |||
| 610 | conn->in.ahslen, conn->in.datalen); | 616 | conn->in.ahslen, conn->in.datalen); |
| 611 | 617 | ||
| 612 | if (conn->in.itt < session->cmds_max) { | 618 | if (conn->in.itt < session->cmds_max) { |
| 613 | if (conn->hdrdgst_en && cdgst != rdgst) { | ||
| 614 | printk(KERN_ERR "iscsi_tcp: itt %x: hdrdgst error " | ||
| 615 | "recv 0x%x calc 0x%x\n", conn->in.itt, rdgst, | ||
| 616 | cdgst); | ||
| 617 | return ISCSI_ERR_HDR_DGST; | ||
| 618 | } | ||
| 619 | |||
| 620 | ctask = (struct iscsi_cmd_task *)session->cmds[conn->in.itt]; | 619 | ctask = (struct iscsi_cmd_task *)session->cmds[conn->in.itt]; |
| 621 | 620 | ||
| 622 | if (!ctask->sc) { | 621 | if (!ctask->sc) { |
| @@ -642,9 +641,7 @@ iscsi_hdr_recv(struct iscsi_conn *conn) | |||
| 642 | switch(conn->in.opcode) { | 641 | switch(conn->in.opcode) { |
| 643 | case ISCSI_OP_SCSI_CMD_RSP: | 642 | case ISCSI_OP_SCSI_CMD_RSP: |
| 644 | BUG_ON((void*)ctask != ctask->sc->SCp.ptr); | 643 | BUG_ON((void*)ctask != ctask->sc->SCp.ptr); |
| 645 | if (ctask->hdr.flags & ISCSI_FLAG_CMD_WRITE) | 644 | if (!conn->in.datalen) |
| 646 | rc = iscsi_cmd_rsp(conn, ctask); | ||
| 647 | else if (!conn->in.datalen) | ||
| 648 | rc = iscsi_cmd_rsp(conn, ctask); | 645 | rc = iscsi_cmd_rsp(conn, ctask); |
| 649 | else | 646 | else |
| 650 | /* | 647 | /* |
| @@ -666,8 +663,7 @@ iscsi_hdr_recv(struct iscsi_conn *conn) | |||
| 666 | break; | 663 | break; |
| 667 | case ISCSI_OP_R2T: | 664 | case ISCSI_OP_R2T: |
| 668 | BUG_ON((void*)ctask != ctask->sc->SCp.ptr); | 665 | BUG_ON((void*)ctask != ctask->sc->SCp.ptr); |
| 669 | if (ctask->hdr.flags & ISCSI_FLAG_CMD_WRITE && | 666 | if (ctask->sc->sc_data_direction == DMA_TO_DEVICE) |
| 670 | ctask->sc->sc_data_direction == DMA_TO_DEVICE) | ||
| 671 | rc = iscsi_r2t_rsp(conn, ctask); | 667 | rc = iscsi_r2t_rsp(conn, ctask); |
| 672 | else | 668 | else |
| 673 | rc = ISCSI_ERR_PROTO; | 669 | rc = ISCSI_ERR_PROTO; |
| @@ -906,11 +902,20 @@ partial_sg_digest_update(struct iscsi_conn *conn, struct scatterlist *sg, | |||
| 906 | crypto_digest_update(conn->data_rx_tfm, &temp, 1); | 902 | crypto_digest_update(conn->data_rx_tfm, &temp, 1); |
| 907 | } | 903 | } |
| 908 | 904 | ||
| 905 | static void | ||
| 906 | iscsi_recv_digest_update(struct iscsi_conn *conn, char* buf, int len) | ||
| 907 | { | ||
| 908 | struct scatterlist tmp; | ||
| 909 | |||
| 910 | sg_init_one(&tmp, buf, len); | ||
| 911 | crypto_digest_update(conn->data_rx_tfm, &tmp, 1); | ||
| 912 | } | ||
| 913 | |||
| 909 | static int iscsi_scsi_data_in(struct iscsi_conn *conn) | 914 | static int iscsi_scsi_data_in(struct iscsi_conn *conn) |
| 910 | { | 915 | { |
| 911 | struct iscsi_cmd_task *ctask = conn->in.ctask; | 916 | struct iscsi_cmd_task *ctask = conn->in.ctask; |
| 912 | struct scsi_cmnd *sc = ctask->sc; | 917 | struct scsi_cmnd *sc = ctask->sc; |
| 913 | struct scatterlist tmp, *sg; | 918 | struct scatterlist *sg; |
| 914 | int i, offset, rc = 0; | 919 | int i, offset, rc = 0; |
| 915 | 920 | ||
| 916 | BUG_ON((void*)ctask != sc->SCp.ptr); | 921 | BUG_ON((void*)ctask != sc->SCp.ptr); |
| @@ -924,10 +929,8 @@ static int iscsi_scsi_data_in(struct iscsi_conn *conn) | |||
| 924 | sc->request_bufflen, ctask->data_offset); | 929 | sc->request_bufflen, ctask->data_offset); |
| 925 | if (rc == -EAGAIN) | 930 | if (rc == -EAGAIN) |
| 926 | return rc; | 931 | return rc; |
| 927 | if (conn->datadgst_en) { | 932 | if (conn->datadgst_en) |
| 928 | sg_init_one(&tmp, sc->request_buffer, i); | 933 | iscsi_recv_digest_update(conn, sc->request_buffer, i); |
| 929 | crypto_digest_update(conn->data_rx_tfm, &tmp, 1); | ||
| 930 | } | ||
| 931 | rc = 0; | 934 | rc = 0; |
| 932 | goto done; | 935 | goto done; |
| 933 | } | 936 | } |
| @@ -1021,6 +1024,9 @@ iscsi_data_recv(struct iscsi_conn *conn) | |||
| 1021 | conn->in.hdr = &conn->hdr; | 1024 | conn->in.hdr = &conn->hdr; |
| 1022 | conn->senselen = (conn->data[0] << 8) | conn->data[1]; | 1025 | conn->senselen = (conn->data[0] << 8) | conn->data[1]; |
| 1023 | rc = iscsi_cmd_rsp(conn, conn->in.ctask); | 1026 | rc = iscsi_cmd_rsp(conn, conn->in.ctask); |
| 1027 | if (!rc && conn->datadgst_en) | ||
| 1028 | iscsi_recv_digest_update(conn, conn->data, | ||
| 1029 | conn->in.datalen); | ||
| 1024 | } | 1030 | } |
| 1025 | break; | 1031 | break; |
| 1026 | case ISCSI_OP_TEXT_RSP: | 1032 | case ISCSI_OP_TEXT_RSP: |
| @@ -1045,6 +1051,11 @@ iscsi_data_recv(struct iscsi_conn *conn) | |||
| 1045 | rc = iscsi_recv_pdu(iscsi_handle(conn), conn->in.hdr, | 1051 | rc = iscsi_recv_pdu(iscsi_handle(conn), conn->in.hdr, |
| 1046 | conn->data, conn->in.datalen); | 1052 | conn->data, conn->in.datalen); |
| 1047 | 1053 | ||
| 1054 | if (!rc && conn->datadgst_en && | ||
| 1055 | conn->in.opcode != ISCSI_OP_LOGIN_RSP) | ||
| 1056 | iscsi_recv_digest_update(conn, conn->data, | ||
| 1057 | conn->in.datalen); | ||
| 1058 | |||
| 1048 | if (mtask && conn->login_mtask != mtask) { | 1059 | if (mtask && conn->login_mtask != mtask) { |
| 1049 | spin_lock(&session->lock); | 1060 | spin_lock(&session->lock); |
| 1050 | __kfifo_put(session->mgmtpool.queue, (void*)&mtask, | 1061 | __kfifo_put(session->mgmtpool.queue, (void*)&mtask, |
| @@ -1053,6 +1064,8 @@ iscsi_data_recv(struct iscsi_conn *conn) | |||
| 1053 | } | 1064 | } |
| 1054 | } | 1065 | } |
| 1055 | break; | 1066 | break; |
| 1067 | case ISCSI_OP_ASYNC_EVENT: | ||
| 1068 | case ISCSI_OP_REJECT: | ||
| 1056 | default: | 1069 | default: |
| 1057 | BUG_ON(1); | 1070 | BUG_ON(1); |
| 1058 | } | 1071 | } |
| @@ -1114,8 +1127,7 @@ more: | |||
| 1114 | */ | 1127 | */ |
| 1115 | rc = iscsi_hdr_recv(conn); | 1128 | rc = iscsi_hdr_recv(conn); |
| 1116 | if (!rc && conn->in.datalen) { | 1129 | if (!rc && conn->in.datalen) { |
| 1117 | if (conn->datadgst_en && | 1130 | if (conn->datadgst_en) { |
| 1118 | conn->in.opcode == ISCSI_OP_SCSI_DATA_IN) { | ||
| 1119 | BUG_ON(!conn->data_rx_tfm); | 1131 | BUG_ON(!conn->data_rx_tfm); |
| 1120 | crypto_digest_init(conn->data_rx_tfm); | 1132 | crypto_digest_init(conn->data_rx_tfm); |
| 1121 | } | 1133 | } |
| @@ -1127,26 +1139,24 @@ more: | |||
| 1127 | } | 1139 | } |
| 1128 | 1140 | ||
| 1129 | if (conn->in_progress == IN_PROGRESS_DDIGEST_RECV) { | 1141 | if (conn->in_progress == IN_PROGRESS_DDIGEST_RECV) { |
| 1142 | uint32_t recv_digest; | ||
| 1130 | debug_tcp("extra data_recv offset %d copy %d\n", | 1143 | debug_tcp("extra data_recv offset %d copy %d\n", |
| 1131 | conn->in.offset, conn->in.copy); | 1144 | conn->in.offset, conn->in.copy); |
| 1132 | if (conn->in.opcode == ISCSI_OP_SCSI_DATA_IN) { | 1145 | skb_copy_bits(conn->in.skb, conn->in.offset, |
| 1133 | uint32_t recv_digest; | 1146 | &recv_digest, 4); |
| 1134 | skb_copy_bits(conn->in.skb, conn->in.offset, | 1147 | conn->in.offset += 4; |
| 1135 | &recv_digest, 4); | 1148 | conn->in.copy -= 4; |
| 1136 | conn->in.offset += 4; | 1149 | if (recv_digest != conn->in.datadgst) { |
| 1137 | conn->in.copy -= 4; | 1150 | debug_tcp("iscsi_tcp: data digest error!" |
| 1138 | if (recv_digest != conn->in.datadgst) { | 1151 | "0x%x != 0x%x\n", recv_digest, |
| 1139 | debug_tcp("iscsi_tcp: data digest error!" | 1152 | conn->in.datadgst); |
| 1140 | "0x%x != 0x%x\n", recv_digest, | 1153 | iscsi_conn_failure(conn, ISCSI_ERR_DATA_DGST); |
| 1141 | conn->in.datadgst); | 1154 | return 0; |
| 1142 | iscsi_conn_failure(conn, ISCSI_ERR_DATA_DGST); | 1155 | } else { |
| 1143 | return 0; | 1156 | debug_tcp("iscsi_tcp: data digest match!" |
| 1144 | } else { | 1157 | "0x%x == 0x%x\n", recv_digest, |
| 1145 | debug_tcp("iscsi_tcp: data digest match!" | 1158 | conn->in.datadgst); |
| 1146 | "0x%x == 0x%x\n", recv_digest, | 1159 | conn->in_progress = IN_PROGRESS_WAIT_HEADER; |
| 1147 | conn->in.datadgst); | ||
| 1148 | conn->in_progress = IN_PROGRESS_WAIT_HEADER; | ||
| 1149 | } | ||
| 1150 | } | 1160 | } |
| 1151 | } | 1161 | } |
| 1152 | 1162 | ||
| @@ -1167,8 +1177,7 @@ more: | |||
| 1167 | } | 1177 | } |
| 1168 | conn->in.copy -= conn->in.padding; | 1178 | conn->in.copy -= conn->in.padding; |
| 1169 | conn->in.offset += conn->in.padding; | 1179 | conn->in.offset += conn->in.padding; |
| 1170 | if (conn->datadgst_en && | 1180 | if (conn->datadgst_en) { |
| 1171 | conn->in.opcode == ISCSI_OP_SCSI_DATA_IN) { | ||
| 1172 | if (conn->in.padding) { | 1181 | if (conn->in.padding) { |
| 1173 | debug_tcp("padding -> %d\n", conn->in.padding); | 1182 | debug_tcp("padding -> %d\n", conn->in.padding); |
| 1174 | memset(pad, 0, conn->in.padding); | 1183 | memset(pad, 0, conn->in.padding); |
| @@ -1237,8 +1246,9 @@ iscsi_tcp_state_change(struct sock *sk) | |||
| 1237 | conn = (struct iscsi_conn*)sk->sk_user_data; | 1246 | conn = (struct iscsi_conn*)sk->sk_user_data; |
| 1238 | session = conn->session; | 1247 | session = conn->session; |
| 1239 | 1248 | ||
| 1240 | if (sk->sk_state == TCP_CLOSE_WAIT || | 1249 | if ((sk->sk_state == TCP_CLOSE_WAIT || |
| 1241 | sk->sk_state == TCP_CLOSE) { | 1250 | sk->sk_state == TCP_CLOSE) && |
| 1251 | !atomic_read(&sk->sk_rmem_alloc)) { | ||
| 1242 | debug_tcp("iscsi_tcp_state_change: TCP_CLOSE|TCP_CLOSE_WAIT\n"); | 1252 | debug_tcp("iscsi_tcp_state_change: TCP_CLOSE|TCP_CLOSE_WAIT\n"); |
| 1243 | iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED); | 1253 | iscsi_conn_failure(conn, ISCSI_ERR_CONN_FAILED); |
| 1244 | } | 1254 | } |
| @@ -2389,6 +2399,15 @@ fault: | |||
| 2389 | } | 2399 | } |
| 2390 | 2400 | ||
| 2391 | static int | 2401 | static int |
| 2402 | iscsi_change_queue_depth(struct scsi_device *sdev, int depth) | ||
| 2403 | { | ||
| 2404 | if (depth > ISCSI_MAX_CMD_PER_LUN) | ||
| 2405 | depth = ISCSI_MAX_CMD_PER_LUN; | ||
| 2406 | scsi_adjust_queue_depth(sdev, scsi_get_tag_type(sdev), depth); | ||
| 2407 | return sdev->queue_depth; | ||
| 2408 | } | ||
| 2409 | |||
| 2410 | static int | ||
| 2392 | iscsi_pool_init(struct iscsi_queue *q, int max, void ***items, int item_size) | 2411 | iscsi_pool_init(struct iscsi_queue *q, int max, void ***items, int item_size) |
| 2393 | { | 2412 | { |
| 2394 | int i; | 2413 | int i; |
| @@ -2853,8 +2872,11 @@ iscsi_conn_stop(iscsi_connh_t connh, int flag) | |||
| 2853 | * in hdr_extract() and will be re-negotiated at | 2872 | * in hdr_extract() and will be re-negotiated at |
| 2854 | * set_param() time. | 2873 | * set_param() time. |
| 2855 | */ | 2874 | */ |
| 2856 | if (flag == STOP_CONN_RECOVER) | 2875 | if (flag == STOP_CONN_RECOVER) { |
| 2857 | conn->hdr_size = sizeof(struct iscsi_hdr); | 2876 | conn->hdr_size = sizeof(struct iscsi_hdr); |
| 2877 | conn->hdrdgst_en = 0; | ||
| 2878 | conn->datadgst_en = 0; | ||
| 2879 | } | ||
| 2858 | } | 2880 | } |
| 2859 | up(&conn->xmitsema); | 2881 | up(&conn->xmitsema); |
| 2860 | } | 2882 | } |
| @@ -3247,13 +3269,14 @@ iscsi_r2tpool_free(struct iscsi_session *session) | |||
| 3247 | static struct scsi_host_template iscsi_sht = { | 3269 | static struct scsi_host_template iscsi_sht = { |
| 3248 | .name = "iSCSI Initiator over TCP/IP, v." | 3270 | .name = "iSCSI Initiator over TCP/IP, v." |
| 3249 | ISCSI_VERSION_STR, | 3271 | ISCSI_VERSION_STR, |
| 3250 | .queuecommand = iscsi_queuecommand, | 3272 | .queuecommand = iscsi_queuecommand, |
| 3273 | .change_queue_depth = iscsi_change_queue_depth, | ||
| 3251 | .can_queue = ISCSI_XMIT_CMDS_MAX - 1, | 3274 | .can_queue = ISCSI_XMIT_CMDS_MAX - 1, |
| 3252 | .sg_tablesize = ISCSI_SG_TABLESIZE, | 3275 | .sg_tablesize = ISCSI_SG_TABLESIZE, |
| 3253 | .cmd_per_lun = ISCSI_CMD_PER_LUN, | 3276 | .cmd_per_lun = ISCSI_DEF_CMD_PER_LUN, |
| 3254 | .eh_abort_handler = iscsi_eh_abort, | 3277 | .eh_abort_handler = iscsi_eh_abort, |
| 3255 | .eh_host_reset_handler = iscsi_eh_host_reset, | 3278 | .eh_host_reset_handler = iscsi_eh_host_reset, |
| 3256 | .use_clustering = DISABLE_CLUSTERING, | 3279 | .use_clustering = DISABLE_CLUSTERING, |
| 3257 | .proc_name = "iscsi_tcp", | 3280 | .proc_name = "iscsi_tcp", |
| 3258 | .this_id = -1, | 3281 | .this_id = -1, |
| 3259 | }; | 3282 | }; |
diff --git a/drivers/scsi/iscsi_tcp.h b/drivers/scsi/iscsi_tcp.h index d23ae68fae0d..855f2dfd18af 100644 --- a/drivers/scsi/iscsi_tcp.h +++ b/drivers/scsi/iscsi_tcp.h | |||
| @@ -71,7 +71,8 @@ | |||
| 71 | #define ISCSI_MGMT_CMDS_MAX 32 /* must be power of 2 */ | 71 | #define ISCSI_MGMT_CMDS_MAX 32 /* must be power of 2 */ |
| 72 | #define ISCSI_MGMT_ITT_OFFSET 0xa00 | 72 | #define ISCSI_MGMT_ITT_OFFSET 0xa00 |
| 73 | #define ISCSI_SG_TABLESIZE SG_ALL | 73 | #define ISCSI_SG_TABLESIZE SG_ALL |
| 74 | #define ISCSI_CMD_PER_LUN 128 | 74 | #define ISCSI_DEF_CMD_PER_LUN 32 |
| 75 | #define ISCSI_MAX_CMD_PER_LUN 128 | ||
| 75 | #define ISCSI_TCP_MAX_CMD_LEN 16 | 76 | #define ISCSI_TCP_MAX_CMD_LEN 16 |
| 76 | 77 | ||
| 77 | #define ITT_MASK (0xfff) | 78 | #define ITT_MASK (0xfff) |
diff --git a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h index 3062b39fbdb9..38ffa8d6e629 100644 --- a/drivers/scsi/lpfc/lpfc.h +++ b/drivers/scsi/lpfc/lpfc.h | |||
| @@ -29,9 +29,10 @@ struct lpfc_sli2_slim; | |||
| 29 | #define LPFC_LC_HBA_Q_DEPTH 1024 /* max cmds per low cost hba */ | 29 | #define LPFC_LC_HBA_Q_DEPTH 1024 /* max cmds per low cost hba */ |
| 30 | #define LPFC_LP101_HBA_Q_DEPTH 128 /* max cmds per low cost hba */ | 30 | #define LPFC_LP101_HBA_Q_DEPTH 128 /* max cmds per low cost hba */ |
| 31 | 31 | ||
| 32 | #define LPFC_CMD_PER_LUN 30 /* max outstanding cmds per lun */ | 32 | #define LPFC_CMD_PER_LUN 3 /* max outstanding cmds per lun */ |
| 33 | #define LPFC_SG_SEG_CNT 64 /* sg element count per scsi cmnd */ | 33 | #define LPFC_SG_SEG_CNT 64 /* sg element count per scsi cmnd */ |
| 34 | #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ | 34 | #define LPFC_IOCB_LIST_CNT 2250 /* list of IOCBs for fast-path usage. */ |
| 35 | #define LPFC_Q_RAMP_UP_INTERVAL 120 /* lun q_depth ramp up interval */ | ||
| 35 | 36 | ||
| 36 | /* Define macros for 64 bit support */ | 37 | /* Define macros for 64 bit support */ |
| 37 | #define putPaddrLow(addr) ((uint32_t) (0xffffffff & (u64)(addr))) | 38 | #define putPaddrLow(addr) ((uint32_t) (0xffffffff & (u64)(addr))) |
| @@ -45,6 +46,11 @@ struct lpfc_sli2_slim; | |||
| 45 | 46 | ||
| 46 | #define MAX_HBAEVT 32 | 47 | #define MAX_HBAEVT 32 |
| 47 | 48 | ||
| 49 | enum lpfc_polling_flags { | ||
| 50 | ENABLE_FCP_RING_POLLING = 0x1, | ||
| 51 | DISABLE_FCP_RING_INT = 0x2 | ||
| 52 | }; | ||
| 53 | |||
| 48 | /* Provide DMA memory definitions the driver uses per port instance. */ | 54 | /* Provide DMA memory definitions the driver uses per port instance. */ |
| 49 | struct lpfc_dmabuf { | 55 | struct lpfc_dmabuf { |
| 50 | struct list_head list; | 56 | struct list_head list; |
| @@ -167,6 +173,7 @@ struct lpfc_hba { | |||
| 167 | dma_addr_t slim2p_mapping; | 173 | dma_addr_t slim2p_mapping; |
| 168 | uint16_t pci_cfg_value; | 174 | uint16_t pci_cfg_value; |
| 169 | 175 | ||
| 176 | struct semaphore hba_can_block; | ||
| 170 | uint32_t hba_state; | 177 | uint32_t hba_state; |
| 171 | 178 | ||
| 172 | #define LPFC_INIT_START 1 /* Initial state after board reset */ | 179 | #define LPFC_INIT_START 1 /* Initial state after board reset */ |
| @@ -286,6 +293,8 @@ struct lpfc_hba { | |||
| 286 | uint32_t cfg_fcp_bind_method; | 293 | uint32_t cfg_fcp_bind_method; |
| 287 | uint32_t cfg_discovery_threads; | 294 | uint32_t cfg_discovery_threads; |
| 288 | uint32_t cfg_max_luns; | 295 | uint32_t cfg_max_luns; |
| 296 | uint32_t cfg_poll; | ||
| 297 | uint32_t cfg_poll_tmo; | ||
| 289 | uint32_t cfg_sg_seg_cnt; | 298 | uint32_t cfg_sg_seg_cnt; |
| 290 | uint32_t cfg_sg_dma_buf_size; | 299 | uint32_t cfg_sg_dma_buf_size; |
| 291 | 300 | ||
| @@ -337,7 +346,9 @@ struct lpfc_hba { | |||
| 337 | #define VPD_PORT 0x8 /* valid vpd port data */ | 346 | #define VPD_PORT 0x8 /* valid vpd port data */ |
| 338 | #define VPD_MASK 0xf /* mask for any vpd data */ | 347 | #define VPD_MASK 0xf /* mask for any vpd data */ |
| 339 | 348 | ||
| 349 | struct timer_list fcp_poll_timer; | ||
| 340 | struct timer_list els_tmofunc; | 350 | struct timer_list els_tmofunc; |
| 351 | |||
| 341 | /* | 352 | /* |
| 342 | * stat counters | 353 | * stat counters |
| 343 | */ | 354 | */ |
| @@ -348,6 +359,7 @@ struct lpfc_hba { | |||
| 348 | struct lpfc_sysfs_mbox sysfs_mbox; | 359 | struct lpfc_sysfs_mbox sysfs_mbox; |
| 349 | 360 | ||
| 350 | /* fastpath list. */ | 361 | /* fastpath list. */ |
| 362 | spinlock_t scsi_buf_list_lock; | ||
| 351 | struct list_head lpfc_scsi_buf_list; | 363 | struct list_head lpfc_scsi_buf_list; |
| 352 | uint32_t total_scsi_bufs; | 364 | uint32_t total_scsi_bufs; |
| 353 | struct list_head lpfc_iocb_list; | 365 | struct list_head lpfc_iocb_list; |
diff --git a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c index 89e8222bc7cc..5625a8c2a8fd 100644 --- a/drivers/scsi/lpfc/lpfc_attr.c +++ b/drivers/scsi/lpfc/lpfc_attr.c | |||
| @@ -278,6 +278,71 @@ lpfc_board_online_store(struct class_device *cdev, const char *buf, | |||
| 278 | return -EIO; | 278 | return -EIO; |
| 279 | } | 279 | } |
| 280 | 280 | ||
| 281 | static ssize_t | ||
| 282 | lpfc_poll_show(struct class_device *cdev, char *buf) | ||
| 283 | { | ||
| 284 | struct Scsi_Host *host = class_to_shost(cdev); | ||
| 285 | struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata[0]; | ||
| 286 | |||
| 287 | return snprintf(buf, PAGE_SIZE, "%#x\n", phba->cfg_poll); | ||
| 288 | } | ||
| 289 | |||
| 290 | static ssize_t | ||
| 291 | lpfc_poll_store(struct class_device *cdev, const char *buf, | ||
| 292 | size_t count) | ||
| 293 | { | ||
| 294 | struct Scsi_Host *host = class_to_shost(cdev); | ||
| 295 | struct lpfc_hba *phba = (struct lpfc_hba*)host->hostdata[0]; | ||
| 296 | uint32_t creg_val; | ||
| 297 | uint32_t old_val; | ||
| 298 | int val=0; | ||
| 299 | |||
| 300 | if (!isdigit(buf[0])) | ||
| 301 | return -EINVAL; | ||
| 302 | |||
| 303 | if (sscanf(buf, "%i", &val) != 1) | ||
| 304 | return -EINVAL; | ||
| 305 | |||
| 306 | if ((val & 0x3) != val) | ||
| 307 | return -EINVAL; | ||
| 308 | |||
| 309 | spin_lock_irq(phba->host->host_lock); | ||
| 310 | |||
| 311 | old_val = phba->cfg_poll; | ||
| 312 | |||
| 313 | if (val & ENABLE_FCP_RING_POLLING) { | ||
| 314 | if ((val & DISABLE_FCP_RING_INT) && | ||
| 315 | !(old_val & DISABLE_FCP_RING_INT)) { | ||
| 316 | creg_val = readl(phba->HCregaddr); | ||
| 317 | creg_val &= ~(HC_R0INT_ENA << LPFC_FCP_RING); | ||
| 318 | writel(creg_val, phba->HCregaddr); | ||
| 319 | readl(phba->HCregaddr); /* flush */ | ||
| 320 | |||
| 321 | lpfc_poll_start_timer(phba); | ||
| 322 | } | ||
| 323 | } else if (val != 0x0) { | ||
| 324 | spin_unlock_irq(phba->host->host_lock); | ||
| 325 | return -EINVAL; | ||
| 326 | } | ||
| 327 | |||
| 328 | if (!(val & DISABLE_FCP_RING_INT) && | ||
| 329 | (old_val & DISABLE_FCP_RING_INT)) | ||
| 330 | { | ||
| 331 | spin_unlock_irq(phba->host->host_lock); | ||
| 332 | del_timer(&phba->fcp_poll_timer); | ||
| 333 | spin_lock_irq(phba->host->host_lock); | ||
| 334 | creg_val = readl(phba->HCregaddr); | ||
| 335 | creg_val |= (HC_R0INT_ENA << LPFC_FCP_RING); | ||
| 336 | writel(creg_val, phba->HCregaddr); | ||
| 337 | readl(phba->HCregaddr); /* flush */ | ||
| 338 | } | ||
| 339 | |||
| 340 | phba->cfg_poll = val; | ||
| 341 | |||
| 342 | spin_unlock_irq(phba->host->host_lock); | ||
| 343 | |||
| 344 | return strlen(buf); | ||
| 345 | } | ||
| 281 | 346 | ||
| 282 | #define lpfc_param_show(attr) \ | 347 | #define lpfc_param_show(attr) \ |
| 283 | static ssize_t \ | 348 | static ssize_t \ |
| @@ -416,6 +481,15 @@ static CLASS_DEVICE_ATTR(management_version, S_IRUGO, management_version_show, | |||
| 416 | static CLASS_DEVICE_ATTR(board_online, S_IRUGO | S_IWUSR, | 481 | static CLASS_DEVICE_ATTR(board_online, S_IRUGO | S_IWUSR, |
| 417 | lpfc_board_online_show, lpfc_board_online_store); | 482 | lpfc_board_online_show, lpfc_board_online_store); |
| 418 | 483 | ||
| 484 | static int lpfc_poll = 0; | ||
| 485 | module_param(lpfc_poll, int, 0); | ||
| 486 | MODULE_PARM_DESC(lpfc_poll, "FCP ring polling mode control:" | ||
| 487 | " 0 - none," | ||
| 488 | " 1 - poll with interrupts enabled" | ||
| 489 | " 3 - poll and disable FCP ring interrupts"); | ||
| 490 | |||
| 491 | static CLASS_DEVICE_ATTR(lpfc_poll, S_IRUGO | S_IWUSR, | ||
| 492 | lpfc_poll_show, lpfc_poll_store); | ||
| 419 | 493 | ||
| 420 | /* | 494 | /* |
| 421 | # lpfc_log_verbose: Only turn this flag on if you are willing to risk being | 495 | # lpfc_log_verbose: Only turn this flag on if you are willing to risk being |
| @@ -523,10 +597,10 @@ LPFC_ATTR_R(ack0, 0, 0, 1, "Enable ACK0 support"); | |||
| 523 | # is 0. Default value of cr_count is 1. The cr_count feature is disabled if | 597 | # is 0. Default value of cr_count is 1. The cr_count feature is disabled if |
| 524 | # cr_delay is set to 0. | 598 | # cr_delay is set to 0. |
| 525 | */ | 599 | */ |
| 526 | LPFC_ATTR(cr_delay, 0, 0, 63, "A count of milliseconds after which an" | 600 | LPFC_ATTR_RW(cr_delay, 0, 0, 63, "A count of milliseconds after which an" |
| 527 | "interrupt response is generated"); | 601 | "interrupt response is generated"); |
| 528 | 602 | ||
| 529 | LPFC_ATTR(cr_count, 1, 1, 255, "A count of I/O completions after which an" | 603 | LPFC_ATTR_RW(cr_count, 1, 1, 255, "A count of I/O completions after which an" |
| 530 | "interrupt response is generated"); | 604 | "interrupt response is generated"); |
| 531 | 605 | ||
| 532 | /* | 606 | /* |
| @@ -553,6 +627,13 @@ LPFC_ATTR(discovery_threads, 32, 1, 64, "Maximum number of ELS commands" | |||
| 553 | LPFC_ATTR_R(max_luns, 256, 1, 32768, | 627 | LPFC_ATTR_R(max_luns, 256, 1, 32768, |
| 554 | "Maximum number of LUNs per target driver will support"); | 628 | "Maximum number of LUNs per target driver will support"); |
| 555 | 629 | ||
| 630 | /* | ||
| 631 | # lpfc_poll_tmo: .Milliseconds driver will wait between polling FCP ring. | ||
| 632 | # Value range is [1,255], default value is 10. | ||
| 633 | */ | ||
| 634 | LPFC_ATTR_RW(poll_tmo, 10, 1, 255, | ||
| 635 | "Milliseconds driver will wait between polling FCP ring"); | ||
| 636 | |||
| 556 | struct class_device_attribute *lpfc_host_attrs[] = { | 637 | struct class_device_attribute *lpfc_host_attrs[] = { |
| 557 | &class_device_attr_info, | 638 | &class_device_attr_info, |
| 558 | &class_device_attr_serialnum, | 639 | &class_device_attr_serialnum, |
| @@ -575,11 +656,15 @@ struct class_device_attribute *lpfc_host_attrs[] = { | |||
| 575 | &class_device_attr_lpfc_topology, | 656 | &class_device_attr_lpfc_topology, |
| 576 | &class_device_attr_lpfc_scan_down, | 657 | &class_device_attr_lpfc_scan_down, |
| 577 | &class_device_attr_lpfc_link_speed, | 658 | &class_device_attr_lpfc_link_speed, |
| 659 | &class_device_attr_lpfc_cr_delay, | ||
| 660 | &class_device_attr_lpfc_cr_count, | ||
| 578 | &class_device_attr_lpfc_fdmi_on, | 661 | &class_device_attr_lpfc_fdmi_on, |
| 579 | &class_device_attr_lpfc_max_luns, | 662 | &class_device_attr_lpfc_max_luns, |
| 580 | &class_device_attr_nport_evt_cnt, | 663 | &class_device_attr_nport_evt_cnt, |
| 581 | &class_device_attr_management_version, | 664 | &class_device_attr_management_version, |
| 582 | &class_device_attr_board_online, | 665 | &class_device_attr_board_online, |
| 666 | &class_device_attr_lpfc_poll, | ||
| 667 | &class_device_attr_lpfc_poll_tmo, | ||
| 583 | NULL, | 668 | NULL, |
| 584 | }; | 669 | }; |
| 585 | 670 | ||
| @@ -1292,6 +1377,9 @@ lpfc_get_cfgparam(struct lpfc_hba *phba) | |||
| 1292 | lpfc_fdmi_on_init(phba, lpfc_fdmi_on); | 1377 | lpfc_fdmi_on_init(phba, lpfc_fdmi_on); |
| 1293 | lpfc_discovery_threads_init(phba, lpfc_discovery_threads); | 1378 | lpfc_discovery_threads_init(phba, lpfc_discovery_threads); |
| 1294 | lpfc_max_luns_init(phba, lpfc_max_luns); | 1379 | lpfc_max_luns_init(phba, lpfc_max_luns); |
| 1380 | lpfc_poll_tmo_init(phba, lpfc_poll_tmo); | ||
| 1381 | |||
| 1382 | phba->cfg_poll = lpfc_poll; | ||
| 1295 | 1383 | ||
| 1296 | /* | 1384 | /* |
| 1297 | * The total number of segments is the configuration value plus 2 | 1385 | * The total number of segments is the configuration value plus 2 |
diff --git a/drivers/scsi/lpfc/lpfc_crtn.h b/drivers/scsi/lpfc/lpfc_crtn.h index d527d05a607f..f1e708946e66 100644 --- a/drivers/scsi/lpfc/lpfc_crtn.h +++ b/drivers/scsi/lpfc/lpfc_crtn.h | |||
| @@ -143,6 +143,9 @@ LPFC_MBOXQ_t *lpfc_mbox_get(struct lpfc_hba *); | |||
| 143 | int lpfc_mem_alloc(struct lpfc_hba *); | 143 | int lpfc_mem_alloc(struct lpfc_hba *); |
| 144 | void lpfc_mem_free(struct lpfc_hba *); | 144 | void lpfc_mem_free(struct lpfc_hba *); |
| 145 | 145 | ||
| 146 | void lpfc_poll_timeout(unsigned long ptr); | ||
| 147 | void lpfc_poll_start_timer(struct lpfc_hba * phba); | ||
| 148 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * hba); | ||
| 146 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); | 149 | struct lpfc_iocbq * lpfc_sli_get_iocbq(struct lpfc_hba *); |
| 147 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 150 | void lpfc_sli_release_iocbq(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
| 148 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); | 151 | uint16_t lpfc_sli_next_iotag(struct lpfc_hba * phba, struct lpfc_iocbq * iocb); |
diff --git a/drivers/scsi/lpfc/lpfc_disc.h b/drivers/scsi/lpfc/lpfc_disc.h index 084e7628ce17..ed6c81660e03 100644 --- a/drivers/scsi/lpfc/lpfc_disc.h +++ b/drivers/scsi/lpfc/lpfc_disc.h | |||
| @@ -73,6 +73,8 @@ struct lpfc_nodelist { | |||
| 73 | struct lpfc_hba *nlp_phba; | 73 | struct lpfc_hba *nlp_phba; |
| 74 | struct lpfc_work_evt nodev_timeout_evt; | 74 | struct lpfc_work_evt nodev_timeout_evt; |
| 75 | struct lpfc_work_evt els_retry_evt; | 75 | struct lpfc_work_evt els_retry_evt; |
| 76 | unsigned long last_ramp_up_time; /* jiffy of last ramp up */ | ||
| 77 | unsigned long last_q_full_time; /* jiffy of last queue full */ | ||
| 76 | }; | 78 | }; |
| 77 | 79 | ||
| 78 | /* Defines for nlp_flag (uint32) */ | 80 | /* Defines for nlp_flag (uint32) */ |
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index bcc29ec126dc..20f1a0713db2 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
| @@ -720,6 +720,7 @@ lpfc_cmpl_els_plogi(struct lpfc_hba * phba, struct lpfc_iocbq * cmdiocb, | |||
| 720 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ | 720 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ |
| 721 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | 721 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && |
| 722 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || | 722 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || |
| 723 | (irsp->un.ulpWord[4] == IOERR_LINK_DOWN) || | ||
| 723 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { | 724 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { |
| 724 | disc = (ndlp->nlp_flag & NLP_NPR_2B_DISC); | 725 | disc = (ndlp->nlp_flag & NLP_NPR_2B_DISC); |
| 725 | } | 726 | } |
| @@ -869,6 +870,7 @@ lpfc_cmpl_els_prli(struct lpfc_hba * phba, struct lpfc_iocbq * cmdiocb, | |||
| 869 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ | 870 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ |
| 870 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | 871 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && |
| 871 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || | 872 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || |
| 873 | (irsp->un.ulpWord[4] == IOERR_LINK_DOWN) || | ||
| 872 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { | 874 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { |
| 873 | goto out; | 875 | goto out; |
| 874 | } | 876 | } |
| @@ -1054,6 +1056,7 @@ lpfc_cmpl_els_adisc(struct lpfc_hba * phba, struct lpfc_iocbq * cmdiocb, | |||
| 1054 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ | 1056 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ |
| 1055 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | 1057 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && |
| 1056 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || | 1058 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || |
| 1059 | (irsp->un.ulpWord[4] == IOERR_LINK_DOWN) || | ||
| 1057 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { | 1060 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { |
| 1058 | disc = (ndlp->nlp_flag & NLP_NPR_2B_DISC); | 1061 | disc = (ndlp->nlp_flag & NLP_NPR_2B_DISC); |
| 1059 | } | 1062 | } |
| @@ -1205,6 +1208,7 @@ lpfc_cmpl_els_logo(struct lpfc_hba * phba, struct lpfc_iocbq * cmdiocb, | |||
| 1205 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ | 1208 | /* Do not call DSM for lpfc_els_abort'ed ELS cmds */ |
| 1206 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && | 1209 | if ((irsp->ulpStatus == IOSTAT_LOCAL_REJECT) && |
| 1207 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || | 1210 | ((irsp->un.ulpWord[4] == IOERR_SLI_ABORTED) || |
| 1211 | (irsp->un.ulpWord[4] == IOERR_LINK_DOWN) || | ||
| 1208 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { | 1212 | (irsp->un.ulpWord[4] == IOERR_SLI_DOWN))) { |
| 1209 | goto out; | 1213 | goto out; |
| 1210 | } | 1214 | } |
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 259eeb161b82..a1f751e79405 100644 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
| @@ -1017,12 +1017,7 @@ lpfc_register_remote_port(struct lpfc_hba * phba, | |||
| 1017 | rport_ids.port_name = wwn_to_u64(ndlp->nlp_portname.u.wwn); | 1017 | rport_ids.port_name = wwn_to_u64(ndlp->nlp_portname.u.wwn); |
| 1018 | rport_ids.port_id = ndlp->nlp_DID; | 1018 | rport_ids.port_id = ndlp->nlp_DID; |
| 1019 | rport_ids.roles = FC_RPORT_ROLE_UNKNOWN; | 1019 | rport_ids.roles = FC_RPORT_ROLE_UNKNOWN; |
| 1020 | if (ndlp->nlp_type & NLP_FCP_TARGET) | ||
| 1021 | rport_ids.roles |= FC_RPORT_ROLE_FCP_TARGET; | ||
| 1022 | if (ndlp->nlp_type & NLP_FCP_INITIATOR) | ||
| 1023 | rport_ids.roles |= FC_RPORT_ROLE_FCP_INITIATOR; | ||
| 1024 | 1020 | ||
| 1025 | scsi_block_requests(phba->host); | ||
| 1026 | ndlp->rport = rport = fc_remote_port_add(phba->host, 0, &rport_ids); | 1021 | ndlp->rport = rport = fc_remote_port_add(phba->host, 0, &rport_ids); |
| 1027 | if (!rport) { | 1022 | if (!rport) { |
| 1028 | dev_printk(KERN_WARNING, &phba->pcidev->dev, | 1023 | dev_printk(KERN_WARNING, &phba->pcidev->dev, |
| @@ -1039,7 +1034,16 @@ lpfc_register_remote_port(struct lpfc_hba * phba, | |||
| 1039 | } | 1034 | } |
| 1040 | rdata = rport->dd_data; | 1035 | rdata = rport->dd_data; |
| 1041 | rdata->pnode = ndlp; | 1036 | rdata->pnode = ndlp; |
| 1042 | scsi_unblock_requests(phba->host); | 1037 | |
| 1038 | if (ndlp->nlp_type & NLP_FCP_TARGET) | ||
| 1039 | rport_ids.roles |= FC_RPORT_ROLE_FCP_TARGET; | ||
| 1040 | if (ndlp->nlp_type & NLP_FCP_INITIATOR) | ||
| 1041 | rport_ids.roles |= FC_RPORT_ROLE_FCP_INITIATOR; | ||
| 1042 | |||
| 1043 | |||
| 1044 | if (rport_ids.roles != FC_RPORT_ROLE_UNKNOWN) | ||
| 1045 | fc_remote_port_rolechg(rport, rport_ids.roles); | ||
| 1046 | |||
| 1043 | 1047 | ||
| 1044 | return; | 1048 | return; |
| 1045 | } | 1049 | } |
| @@ -1053,9 +1057,7 @@ lpfc_unregister_remote_port(struct lpfc_hba * phba, | |||
| 1053 | 1057 | ||
| 1054 | ndlp->rport = NULL; | 1058 | ndlp->rport = NULL; |
| 1055 | rdata->pnode = NULL; | 1059 | rdata->pnode = NULL; |
| 1056 | scsi_block_requests(phba->host); | ||
| 1057 | fc_remote_port_delete(rport); | 1060 | fc_remote_port_delete(rport); |
| 1058 | scsi_unblock_requests(phba->host); | ||
| 1059 | 1061 | ||
| 1060 | return; | 1062 | return; |
| 1061 | } | 1063 | } |
diff --git a/drivers/scsi/lpfc/lpfc_hw.h b/drivers/scsi/lpfc/lpfc_hw.h index 86c41981188b..1ea565e0561f 100644 --- a/drivers/scsi/lpfc/lpfc_hw.h +++ b/drivers/scsi/lpfc/lpfc_hw.h | |||
| @@ -266,9 +266,11 @@ struct lpfc_name { | |||
| 266 | struct { | 266 | struct { |
| 267 | #ifdef __BIG_ENDIAN_BITFIELD | 267 | #ifdef __BIG_ENDIAN_BITFIELD |
| 268 | uint8_t nameType:4; /* FC Word 0, bit 28:31 */ | 268 | uint8_t nameType:4; /* FC Word 0, bit 28:31 */ |
| 269 | uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit 8:11 of IEEE ext */ | 269 | uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit |
| 270 | 8:11 of IEEE ext */ | ||
| 270 | #else /* __LITTLE_ENDIAN_BITFIELD */ | 271 | #else /* __LITTLE_ENDIAN_BITFIELD */ |
| 271 | uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit 8:11 of IEEE ext */ | 272 | uint8_t IEEEextMsn:4; /* FC Word 0, bit 24:27, bit |
| 273 | 8:11 of IEEE ext */ | ||
| 272 | uint8_t nameType:4; /* FC Word 0, bit 28:31 */ | 274 | uint8_t nameType:4; /* FC Word 0, bit 28:31 */ |
| 273 | #endif | 275 | #endif |
| 274 | 276 | ||
| @@ -278,7 +280,8 @@ struct lpfc_name { | |||
| 278 | #define NAME_IP_TYPE 0x4 /* IP address */ | 280 | #define NAME_IP_TYPE 0x4 /* IP address */ |
| 279 | #define NAME_CCITT_TYPE 0xC | 281 | #define NAME_CCITT_TYPE 0xC |
| 280 | #define NAME_CCITT_GR_TYPE 0xE | 282 | #define NAME_CCITT_GR_TYPE 0xE |
| 281 | uint8_t IEEEextLsb; /* FC Word 0, bit 16:23, IEEE extended Lsb */ | 283 | uint8_t IEEEextLsb; /* FC Word 0, bit 16:23, IEEE |
| 284 | extended Lsb */ | ||
| 282 | uint8_t IEEE[6]; /* FC IEEE address */ | 285 | uint8_t IEEE[6]; /* FC IEEE address */ |
| 283 | } s; | 286 | } s; |
| 284 | uint8_t wwn[8]; | 287 | uint8_t wwn[8]; |
| @@ -1024,23 +1027,38 @@ typedef struct { | |||
| 1024 | /* Start FireFly Register definitions */ | 1027 | /* Start FireFly Register definitions */ |
| 1025 | #define PCI_VENDOR_ID_EMULEX 0x10df | 1028 | #define PCI_VENDOR_ID_EMULEX 0x10df |
| 1026 | #define PCI_DEVICE_ID_FIREFLY 0x1ae5 | 1029 | #define PCI_DEVICE_ID_FIREFLY 0x1ae5 |
| 1027 | #define PCI_DEVICE_ID_SUPERFLY 0xf700 | ||
| 1028 | #define PCI_DEVICE_ID_DRAGONFLY 0xf800 | ||
| 1029 | #define PCI_DEVICE_ID_RFLY 0xf095 | 1030 | #define PCI_DEVICE_ID_RFLY 0xf095 |
| 1030 | #define PCI_DEVICE_ID_PFLY 0xf098 | 1031 | #define PCI_DEVICE_ID_PFLY 0xf098 |
| 1032 | #define PCI_DEVICE_ID_LP101 0xf0a1 | ||
| 1031 | #define PCI_DEVICE_ID_TFLY 0xf0a5 | 1033 | #define PCI_DEVICE_ID_TFLY 0xf0a5 |
| 1034 | #define PCI_DEVICE_ID_BSMB 0xf0d1 | ||
| 1035 | #define PCI_DEVICE_ID_BMID 0xf0d5 | ||
| 1036 | #define PCI_DEVICE_ID_ZSMB 0xf0e1 | ||
| 1037 | #define PCI_DEVICE_ID_ZMID 0xf0e5 | ||
| 1038 | #define PCI_DEVICE_ID_NEPTUNE 0xf0f5 | ||
| 1039 | #define PCI_DEVICE_ID_NEPTUNE_SCSP 0xf0f6 | ||
| 1040 | #define PCI_DEVICE_ID_NEPTUNE_DCSP 0xf0f7 | ||
| 1041 | #define PCI_DEVICE_ID_SUPERFLY 0xf700 | ||
| 1042 | #define PCI_DEVICE_ID_DRAGONFLY 0xf800 | ||
| 1032 | #define PCI_DEVICE_ID_CENTAUR 0xf900 | 1043 | #define PCI_DEVICE_ID_CENTAUR 0xf900 |
| 1033 | #define PCI_DEVICE_ID_PEGASUS 0xf980 | 1044 | #define PCI_DEVICE_ID_PEGASUS 0xf980 |
| 1034 | #define PCI_DEVICE_ID_THOR 0xfa00 | 1045 | #define PCI_DEVICE_ID_THOR 0xfa00 |
| 1035 | #define PCI_DEVICE_ID_VIPER 0xfb00 | 1046 | #define PCI_DEVICE_ID_VIPER 0xfb00 |
| 1047 | #define PCI_DEVICE_ID_LP10000S 0xfc00 | ||
| 1048 | #define PCI_DEVICE_ID_LP11000S 0xfc10 | ||
| 1049 | #define PCI_DEVICE_ID_LPE11000S 0xfc20 | ||
| 1036 | #define PCI_DEVICE_ID_HELIOS 0xfd00 | 1050 | #define PCI_DEVICE_ID_HELIOS 0xfd00 |
| 1037 | #define PCI_DEVICE_ID_BMID 0xf0d5 | 1051 | #define PCI_DEVICE_ID_HELIOS_SCSP 0xfd11 |
| 1038 | #define PCI_DEVICE_ID_BSMB 0xf0d1 | 1052 | #define PCI_DEVICE_ID_HELIOS_DCSP 0xfd12 |
| 1039 | #define PCI_DEVICE_ID_ZEPHYR 0xfe00 | 1053 | #define PCI_DEVICE_ID_ZEPHYR 0xfe00 |
| 1040 | #define PCI_DEVICE_ID_ZMID 0xf0e5 | 1054 | #define PCI_DEVICE_ID_ZEPHYR_SCSP 0xfe11 |
| 1041 | #define PCI_DEVICE_ID_ZSMB 0xf0e1 | 1055 | #define PCI_DEVICE_ID_ZEPHYR_DCSP 0xfe12 |
| 1042 | #define PCI_DEVICE_ID_LP101 0xf0a1 | 1056 | |
| 1043 | #define PCI_DEVICE_ID_LP10000S 0xfc00 | 1057 | #define PCI_SUBSYSTEM_ID_LP11000S 0xfc11 |
| 1058 | #define PCI_SUBSYSTEM_ID_LP11002S 0xfc12 | ||
| 1059 | #define PCI_SUBSYSTEM_ID_LPE11000S 0xfc21 | ||
| 1060 | #define PCI_SUBSYSTEM_ID_LPE11002S 0xfc22 | ||
| 1061 | #define PCI_SUBSYSTEM_ID_LPE11010S 0xfc2A | ||
| 1044 | 1062 | ||
| 1045 | #define JEDEC_ID_ADDRESS 0x0080001c | 1063 | #define JEDEC_ID_ADDRESS 0x0080001c |
| 1046 | #define FIREFLY_JEDEC_ID 0x1ACC | 1064 | #define FIREFLY_JEDEC_ID 0x1ACC |
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index 07498118359d..b7a603a45328 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
| @@ -126,34 +126,26 @@ lpfc_config_port_prep(struct lpfc_hba * phba) | |||
| 126 | return -ERESTART; | 126 | return -ERESTART; |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | /* The HBA's current state is provided by the ProgType and rr fields. | 129 | /* |
| 130 | * Read and check the value of these fields before continuing to config | 130 | * The value of rr must be 1 since the driver set the cv field to 1. |
| 131 | * this port. | 131 | * This setting requires the FW to set all revision fields. |
| 132 | */ | 132 | */ |
| 133 | if (mb->un.varRdRev.rr == 0 || mb->un.varRdRev.un.b.ProgType != 2) { | 133 | if (mb->un.varRdRev.rr == 0) { |
| 134 | /* Old firmware */ | ||
| 135 | vp->rev.rBit = 0; | 134 | vp->rev.rBit = 0; |
| 136 | lpfc_printf_log(phba, | 135 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, |
| 137 | KERN_ERR, | 136 | "%d:0440 Adapter failed to init, READ_REV has " |
| 138 | LOG_INIT, | 137 | "missing revision information.\n", |
| 139 | "%d:0440 Adapter failed to init, mbxCmd x%x " | 138 | phba->brd_no); |
| 140 | "READ_REV detected outdated firmware" | ||
| 141 | "Data: x%x\n", | ||
| 142 | phba->brd_no, | ||
| 143 | mb->mbxCommand, 0); | ||
| 144 | mempool_free(pmb, phba->mbox_mem_pool); | 139 | mempool_free(pmb, phba->mbox_mem_pool); |
| 145 | return -ERESTART; | 140 | return -ERESTART; |
| 146 | } else { | ||
| 147 | vp->rev.rBit = 1; | ||
| 148 | vp->rev.sli1FwRev = mb->un.varRdRev.sli1FwRev; | ||
| 149 | memcpy(vp->rev.sli1FwName, | ||
| 150 | (char*)mb->un.varRdRev.sli1FwName, 16); | ||
| 151 | vp->rev.sli2FwRev = mb->un.varRdRev.sli2FwRev; | ||
| 152 | memcpy(vp->rev.sli2FwName, | ||
| 153 | (char *)mb->un.varRdRev.sli2FwName, 16); | ||
| 154 | } | 141 | } |
| 155 | 142 | ||
| 156 | /* Save information as VPD data */ | 143 | /* Save information as VPD data */ |
| 144 | vp->rev.rBit = 1; | ||
| 145 | vp->rev.sli1FwRev = mb->un.varRdRev.sli1FwRev; | ||
| 146 | memcpy(vp->rev.sli1FwName, (char*) mb->un.varRdRev.sli1FwName, 16); | ||
| 147 | vp->rev.sli2FwRev = mb->un.varRdRev.sli2FwRev; | ||
| 148 | memcpy(vp->rev.sli2FwName, (char *) mb->un.varRdRev.sli2FwName, 16); | ||
| 157 | vp->rev.biuRev = mb->un.varRdRev.biuRev; | 149 | vp->rev.biuRev = mb->un.varRdRev.biuRev; |
| 158 | vp->rev.smRev = mb->un.varRdRev.smRev; | 150 | vp->rev.smRev = mb->un.varRdRev.smRev; |
| 159 | vp->rev.smFwRev = mb->un.varRdRev.un.smFwRev; | 151 | vp->rev.smFwRev = mb->un.varRdRev.un.smFwRev; |
| @@ -378,6 +370,10 @@ lpfc_config_port_post(struct lpfc_hba * phba) | |||
| 378 | if (psli->num_rings > 3) | 370 | if (psli->num_rings > 3) |
| 379 | status |= HC_R3INT_ENA; | 371 | status |= HC_R3INT_ENA; |
| 380 | 372 | ||
| 373 | if ((phba->cfg_poll & ENABLE_FCP_RING_POLLING) && | ||
| 374 | (phba->cfg_poll & DISABLE_FCP_RING_INT)) | ||
| 375 | status &= ~(HC_R0INT_ENA << LPFC_FCP_RING); | ||
| 376 | |||
| 381 | writel(status, phba->HCregaddr); | 377 | writel(status, phba->HCregaddr); |
| 382 | readl(phba->HCregaddr); /* flush */ | 378 | readl(phba->HCregaddr); /* flush */ |
| 383 | spin_unlock_irq(phba->host->host_lock); | 379 | spin_unlock_irq(phba->host->host_lock); |
| @@ -571,6 +567,8 @@ lpfc_handle_latt(struct lpfc_hba * phba) | |||
| 571 | 567 | ||
| 572 | rc = -EIO; | 568 | rc = -EIO; |
| 573 | 569 | ||
| 570 | /* Cleanup any outstanding ELS commands */ | ||
| 571 | lpfc_els_flush_cmd(phba); | ||
| 574 | 572 | ||
| 575 | psli->slistat.link_event++; | 573 | psli->slistat.link_event++; |
| 576 | lpfc_read_la(phba, pmb, mp); | 574 | lpfc_read_la(phba, pmb, mp); |
| @@ -765,96 +763,139 @@ static void | |||
| 765 | lpfc_get_hba_model_desc(struct lpfc_hba * phba, uint8_t * mdp, uint8_t * descp) | 763 | lpfc_get_hba_model_desc(struct lpfc_hba * phba, uint8_t * mdp, uint8_t * descp) |
| 766 | { | 764 | { |
| 767 | lpfc_vpd_t *vp; | 765 | lpfc_vpd_t *vp; |
| 768 | uint32_t id; | 766 | uint16_t dev_id = phba->pcidev->device; |
| 769 | uint8_t hdrtype; | 767 | uint16_t dev_subid = phba->pcidev->subsystem_device; |
| 770 | char str[16]; | 768 | uint8_t hdrtype = phba->pcidev->hdr_type; |
| 769 | char *model_str = ""; | ||
| 771 | 770 | ||
| 772 | vp = &phba->vpd; | 771 | vp = &phba->vpd; |
| 773 | pci_read_config_dword(phba->pcidev, PCI_VENDOR_ID, &id); | ||
| 774 | pci_read_config_byte(phba->pcidev, PCI_HEADER_TYPE, &hdrtype); | ||
| 775 | 772 | ||
| 776 | switch ((id >> 16) & 0xffff) { | 773 | switch (dev_id) { |
| 777 | case PCI_DEVICE_ID_FIREFLY: | 774 | case PCI_DEVICE_ID_FIREFLY: |
| 778 | strcpy(str, "LP6000 1"); | 775 | model_str = "LP6000 1Gb PCI"; |
| 779 | break; | 776 | break; |
| 780 | case PCI_DEVICE_ID_SUPERFLY: | 777 | case PCI_DEVICE_ID_SUPERFLY: |
| 781 | if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3) | 778 | if (vp->rev.biuRev >= 1 && vp->rev.biuRev <= 3) |
| 782 | strcpy(str, "LP7000 1"); | 779 | model_str = "LP7000 1Gb PCI"; |
| 783 | else | 780 | else |
| 784 | strcpy(str, "LP7000E 1"); | 781 | model_str = "LP7000E 1Gb PCI"; |
| 785 | break; | 782 | break; |
| 786 | case PCI_DEVICE_ID_DRAGONFLY: | 783 | case PCI_DEVICE_ID_DRAGONFLY: |
| 787 | strcpy(str, "LP8000 1"); | 784 | model_str = "LP8000 1Gb PCI"; |
| 788 | break; | 785 | break; |
| 789 | case PCI_DEVICE_ID_CENTAUR: | 786 | case PCI_DEVICE_ID_CENTAUR: |
| 790 | if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID) | 787 | if (FC_JEDEC_ID(vp->rev.biuRev) == CENTAUR_2G_JEDEC_ID) |
| 791 | strcpy(str, "LP9002 2"); | 788 | model_str = "LP9002 2Gb PCI"; |
| 792 | else | 789 | else |
| 793 | strcpy(str, "LP9000 1"); | 790 | model_str = "LP9000 1Gb PCI"; |
| 794 | break; | 791 | break; |
| 795 | case PCI_DEVICE_ID_RFLY: | 792 | case PCI_DEVICE_ID_RFLY: |
| 796 | strcpy(str, "LP952 2"); | 793 | model_str = "LP952 2Gb PCI"; |
| 797 | break; | 794 | break; |
| 798 | case PCI_DEVICE_ID_PEGASUS: | 795 | case PCI_DEVICE_ID_PEGASUS: |
| 799 | strcpy(str, "LP9802 2"); | 796 | model_str = "LP9802 2Gb PCI-X"; |
| 800 | break; | 797 | break; |
| 801 | case PCI_DEVICE_ID_THOR: | 798 | case PCI_DEVICE_ID_THOR: |
| 802 | if (hdrtype == 0x80) | 799 | if (hdrtype == 0x80) |
| 803 | strcpy(str, "LP10000DC 2"); | 800 | model_str = "LP10000DC 2Gb 2-port PCI-X"; |
| 804 | else | 801 | else |
| 805 | strcpy(str, "LP10000 2"); | 802 | model_str = "LP10000 2Gb PCI-X"; |
| 806 | break; | 803 | break; |
| 807 | case PCI_DEVICE_ID_VIPER: | 804 | case PCI_DEVICE_ID_VIPER: |
| 808 | strcpy(str, "LPX1000 10"); | 805 | model_str = "LPX1000 10Gb PCI-X"; |
| 809 | break; | 806 | break; |
| 810 | case PCI_DEVICE_ID_PFLY: | 807 | case PCI_DEVICE_ID_PFLY: |
| 811 | strcpy(str, "LP982 2"); | 808 | model_str = "LP982 2Gb PCI-X"; |
| 812 | break; | 809 | break; |
| 813 | case PCI_DEVICE_ID_TFLY: | 810 | case PCI_DEVICE_ID_TFLY: |
| 814 | if (hdrtype == 0x80) | 811 | if (hdrtype == 0x80) |
| 815 | strcpy(str, "LP1050DC 2"); | 812 | model_str = "LP1050DC 2Gb 2-port PCI-X"; |
| 816 | else | 813 | else |
| 817 | strcpy(str, "LP1050 2"); | 814 | model_str = "LP1050 2Gb PCI-X"; |
| 818 | break; | 815 | break; |
| 819 | case PCI_DEVICE_ID_HELIOS: | 816 | case PCI_DEVICE_ID_HELIOS: |
| 820 | if (hdrtype == 0x80) | 817 | if (hdrtype == 0x80) |
| 821 | strcpy(str, "LP11002 4"); | 818 | model_str = "LP11002 4Gb 2-port PCI-X2"; |
| 819 | else | ||
| 820 | model_str = "LP11000 4Gb PCI-X2"; | ||
| 821 | break; | ||
| 822 | case PCI_DEVICE_ID_HELIOS_SCSP: | ||
| 823 | model_str = "LP11000-SP 4Gb PCI-X2"; | ||
| 824 | break; | ||
| 825 | case PCI_DEVICE_ID_HELIOS_DCSP: | ||
| 826 | model_str = "LP11002-SP 4Gb 2-port PCI-X2"; | ||
| 827 | break; | ||
| 828 | case PCI_DEVICE_ID_NEPTUNE: | ||
| 829 | if (hdrtype == 0x80) | ||
| 830 | model_str = "LPe1002 4Gb 2-port"; | ||
| 822 | else | 831 | else |
| 823 | strcpy(str, "LP11000 4"); | 832 | model_str = "LPe1000 4Gb PCIe"; |
| 833 | break; | ||
| 834 | case PCI_DEVICE_ID_NEPTUNE_SCSP: | ||
| 835 | model_str = "LPe1000-SP 4Gb PCIe"; | ||
| 836 | break; | ||
| 837 | case PCI_DEVICE_ID_NEPTUNE_DCSP: | ||
| 838 | model_str = "LPe1002-SP 4Gb 2-port PCIe"; | ||
| 824 | break; | 839 | break; |
| 825 | case PCI_DEVICE_ID_BMID: | 840 | case PCI_DEVICE_ID_BMID: |
| 826 | strcpy(str, "LP1150 4"); | 841 | model_str = "LP1150 4Gb PCI-X2"; |
| 827 | break; | 842 | break; |
| 828 | case PCI_DEVICE_ID_BSMB: | 843 | case PCI_DEVICE_ID_BSMB: |
| 829 | strcpy(str, "LP111 4"); | 844 | model_str = "LP111 4Gb PCI-X2"; |
| 830 | break; | 845 | break; |
| 831 | case PCI_DEVICE_ID_ZEPHYR: | 846 | case PCI_DEVICE_ID_ZEPHYR: |
| 832 | if (hdrtype == 0x80) | 847 | if (hdrtype == 0x80) |
| 833 | strcpy(str, "LPe11002 4"); | 848 | model_str = "LPe11002 4Gb 2-port PCIe"; |
| 834 | else | 849 | else |
| 835 | strcpy(str, "LPe11000 4"); | 850 | model_str = "LPe11000 4Gb PCIe"; |
| 851 | break; | ||
| 852 | case PCI_DEVICE_ID_ZEPHYR_SCSP: | ||
| 853 | model_str = "LPe11000-SP 4Gb PCIe"; | ||
| 854 | break; | ||
| 855 | case PCI_DEVICE_ID_ZEPHYR_DCSP: | ||
| 856 | model_str = "LPe11002-SP 4Gb 2-port PCIe"; | ||
| 836 | break; | 857 | break; |
| 837 | case PCI_DEVICE_ID_ZMID: | 858 | case PCI_DEVICE_ID_ZMID: |
| 838 | strcpy(str, "LPe1150 4"); | 859 | model_str = "LPe1150 4Gb PCIe"; |
| 839 | break; | 860 | break; |
| 840 | case PCI_DEVICE_ID_ZSMB: | 861 | case PCI_DEVICE_ID_ZSMB: |
| 841 | strcpy(str, "LPe111 4"); | 862 | model_str = "LPe111 4Gb PCIe"; |
| 842 | break; | 863 | break; |
| 843 | case PCI_DEVICE_ID_LP101: | 864 | case PCI_DEVICE_ID_LP101: |
| 844 | strcpy(str, "LP101 2"); | 865 | model_str = "LP101 2Gb PCI-X"; |
| 845 | break; | 866 | break; |
| 846 | case PCI_DEVICE_ID_LP10000S: | 867 | case PCI_DEVICE_ID_LP10000S: |
| 847 | strcpy(str, "LP10000-S 2"); | 868 | model_str = "LP10000-S 2Gb PCI"; |
| 869 | break; | ||
| 870 | case PCI_DEVICE_ID_LP11000S: | ||
| 871 | case PCI_DEVICE_ID_LPE11000S: | ||
| 872 | switch (dev_subid) { | ||
| 873 | case PCI_SUBSYSTEM_ID_LP11000S: | ||
| 874 | model_str = "LP11002-S 4Gb PCI-X2"; | ||
| 875 | break; | ||
| 876 | case PCI_SUBSYSTEM_ID_LP11002S: | ||
| 877 | model_str = "LP11000-S 4Gb 2-port PCI-X2"; | ||
| 878 | break; | ||
| 879 | case PCI_SUBSYSTEM_ID_LPE11000S: | ||
| 880 | model_str = "LPe11002-S 4Gb PCIe"; | ||
| 881 | break; | ||
| 882 | case PCI_SUBSYSTEM_ID_LPE11002S: | ||
| 883 | model_str = "LPe11002-S 4Gb 2-port PCIe"; | ||
| 884 | break; | ||
| 885 | case PCI_SUBSYSTEM_ID_LPE11010S: | ||
| 886 | model_str = "LPe11010-S 4Gb 10-port PCIe"; | ||
| 887 | break; | ||
| 888 | default: | ||
| 889 | break; | ||
| 890 | } | ||
| 848 | break; | 891 | break; |
| 849 | default: | 892 | default: |
| 850 | memset(str, 0, 16); | ||
| 851 | break; | 893 | break; |
| 852 | } | 894 | } |
| 853 | if (mdp) | 895 | if (mdp) |
| 854 | sscanf(str, "%s", mdp); | 896 | sscanf(model_str, "%s", mdp); |
| 855 | if (descp) | 897 | if (descp) |
| 856 | sprintf(descp, "Emulex LightPulse %s Gigabit PCI Fibre " | 898 | sprintf(descp, "Emulex %s Fibre Channel Adapter", model_str); |
| 857 | "Channel Adapter", str); | ||
| 858 | } | 899 | } |
| 859 | 900 | ||
| 860 | /**************************************************/ | 901 | /**************************************************/ |
| @@ -1196,6 +1237,7 @@ lpfc_stop_timer(struct lpfc_hba * phba) | |||
| 1196 | } | 1237 | } |
| 1197 | } | 1238 | } |
| 1198 | 1239 | ||
| 1240 | del_timer_sync(&phba->fcp_poll_timer); | ||
| 1199 | del_timer_sync(&phba->fc_estabtmo); | 1241 | del_timer_sync(&phba->fc_estabtmo); |
| 1200 | del_timer_sync(&phba->fc_disctmo); | 1242 | del_timer_sync(&phba->fc_disctmo); |
| 1201 | del_timer_sync(&phba->fc_fdmitmo); | 1243 | del_timer_sync(&phba->fc_fdmitmo); |
| @@ -1351,7 +1393,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid) | |||
| 1351 | goto out_put_host; | 1393 | goto out_put_host; |
| 1352 | 1394 | ||
| 1353 | host->unique_id = phba->brd_no; | 1395 | host->unique_id = phba->brd_no; |
| 1354 | 1396 | init_MUTEX(&phba->hba_can_block); | |
| 1355 | INIT_LIST_HEAD(&phba->ctrspbuflist); | 1397 | INIT_LIST_HEAD(&phba->ctrspbuflist); |
| 1356 | INIT_LIST_HEAD(&phba->rnidrspbuflist); | 1398 | INIT_LIST_HEAD(&phba->rnidrspbuflist); |
| 1357 | INIT_LIST_HEAD(&phba->freebufList); | 1399 | INIT_LIST_HEAD(&phba->freebufList); |
| @@ -1375,6 +1417,10 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid) | |||
| 1375 | psli->mbox_tmo.function = lpfc_mbox_timeout; | 1417 | psli->mbox_tmo.function = lpfc_mbox_timeout; |
| 1376 | psli->mbox_tmo.data = (unsigned long)phba; | 1418 | psli->mbox_tmo.data = (unsigned long)phba; |
| 1377 | 1419 | ||
| 1420 | init_timer(&phba->fcp_poll_timer); | ||
| 1421 | phba->fcp_poll_timer.function = lpfc_poll_timeout; | ||
| 1422 | phba->fcp_poll_timer.data = (unsigned long)phba; | ||
| 1423 | |||
| 1378 | /* | 1424 | /* |
| 1379 | * Get all the module params for configuring this host and then | 1425 | * Get all the module params for configuring this host and then |
| 1380 | * establish the host parameters. | 1426 | * establish the host parameters. |
| @@ -1489,6 +1535,7 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid) | |||
| 1489 | host->max_cmd_len = 16; | 1535 | host->max_cmd_len = 16; |
| 1490 | 1536 | ||
| 1491 | /* Initialize the list of scsi buffers used by driver for scsi IO. */ | 1537 | /* Initialize the list of scsi buffers used by driver for scsi IO. */ |
| 1538 | spin_lock_init(&phba->scsi_buf_list_lock); | ||
| 1492 | INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list); | 1539 | INIT_LIST_HEAD(&phba->lpfc_scsi_buf_list); |
| 1493 | 1540 | ||
| 1494 | host->transportt = lpfc_transport_template; | 1541 | host->transportt = lpfc_transport_template; |
| @@ -1520,6 +1567,12 @@ lpfc_pci_probe_one(struct pci_dev *pdev, const struct pci_device_id *pid) | |||
| 1520 | if (error) | 1567 | if (error) |
| 1521 | goto out_free_irq; | 1568 | goto out_free_irq; |
| 1522 | 1569 | ||
| 1570 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) { | ||
| 1571 | spin_lock_irq(phba->host->host_lock); | ||
| 1572 | lpfc_poll_start_timer(phba); | ||
| 1573 | spin_unlock_irq(phba->host->host_lock); | ||
| 1574 | } | ||
| 1575 | |||
| 1523 | /* | 1576 | /* |
| 1524 | * set fixed host attributes | 1577 | * set fixed host attributes |
| 1525 | * Must done after lpfc_sli_hba_setup() | 1578 | * Must done after lpfc_sli_hba_setup() |
| @@ -1679,14 +1732,28 @@ static struct pci_device_id lpfc_id_table[] = { | |||
| 1679 | PCI_ANY_ID, PCI_ANY_ID, }, | 1732 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1680 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY, | 1733 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_PFLY, |
| 1681 | PCI_ANY_ID, PCI_ANY_ID, }, | 1734 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1735 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE, | ||
| 1736 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1737 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_SCSP, | ||
| 1738 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1739 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_NEPTUNE_DCSP, | ||
| 1740 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1682 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS, | 1741 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS, |
| 1683 | PCI_ANY_ID, PCI_ANY_ID, }, | 1742 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1743 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_SCSP, | ||
| 1744 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1745 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_HELIOS_DCSP, | ||
| 1746 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1684 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID, | 1747 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BMID, |
| 1685 | PCI_ANY_ID, PCI_ANY_ID, }, | 1748 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1686 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB, | 1749 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_BSMB, |
| 1687 | PCI_ANY_ID, PCI_ANY_ID, }, | 1750 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1688 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, | 1751 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR, |
| 1689 | PCI_ANY_ID, PCI_ANY_ID, }, | 1752 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1753 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_SCSP, | ||
| 1754 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1755 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZEPHYR_DCSP, | ||
| 1756 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1690 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZMID, | 1757 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZMID, |
| 1691 | PCI_ANY_ID, PCI_ANY_ID, }, | 1758 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1692 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB, | 1759 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_ZSMB, |
| @@ -1697,6 +1764,10 @@ static struct pci_device_id lpfc_id_table[] = { | |||
| 1697 | PCI_ANY_ID, PCI_ANY_ID, }, | 1764 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1698 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S, | 1765 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP10000S, |
| 1699 | PCI_ANY_ID, PCI_ANY_ID, }, | 1766 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 1767 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LP11000S, | ||
| 1768 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1769 | {PCI_VENDOR_ID_EMULEX, PCI_DEVICE_ID_LPE11000S, | ||
| 1770 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 1700 | { 0 } | 1771 | { 0 } |
| 1701 | }; | 1772 | }; |
| 1702 | 1773 | ||
diff --git a/drivers/scsi/lpfc/lpfc_nportdisc.c b/drivers/scsi/lpfc/lpfc_nportdisc.c index 507a6af56f42..fbead786031f 100644 --- a/drivers/scsi/lpfc/lpfc_nportdisc.c +++ b/drivers/scsi/lpfc/lpfc_nportdisc.c | |||
| @@ -55,55 +55,76 @@ lpfc_check_adisc(struct lpfc_hba * phba, struct lpfc_nodelist * ndlp, | |||
| 55 | return (1); | 55 | return (1); |
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | |||
| 59 | int | 58 | int |
| 60 | lpfc_check_sparm(struct lpfc_hba * phba, | 59 | lpfc_check_sparm(struct lpfc_hba * phba, |
| 61 | struct lpfc_nodelist * ndlp, struct serv_parm * sp, | 60 | struct lpfc_nodelist * ndlp, struct serv_parm * sp, |
| 62 | uint32_t class) | 61 | uint32_t class) |
| 63 | { | 62 | { |
| 64 | volatile struct serv_parm *hsp = &phba->fc_sparam; | 63 | volatile struct serv_parm *hsp = &phba->fc_sparam; |
| 65 | /* First check for supported version */ | 64 | uint16_t hsp_value, ssp_value = 0; |
| 66 | 65 | ||
| 67 | /* Next check for class validity */ | 66 | /* |
| 67 | * The receive data field size and buffer-to-buffer receive data field | ||
| 68 | * size entries are 16 bits but are represented as two 8-bit fields in | ||
| 69 | * the driver data structure to account for rsvd bits and other control | ||
| 70 | * bits. Reconstruct and compare the fields as a 16-bit values before | ||
| 71 | * correcting the byte values. | ||
| 72 | */ | ||
| 68 | if (sp->cls1.classValid) { | 73 | if (sp->cls1.classValid) { |
| 69 | 74 | hsp_value = (hsp->cls1.rcvDataSizeMsb << 8) | | |
| 70 | if (sp->cls1.rcvDataSizeMsb > hsp->cls1.rcvDataSizeMsb) | 75 | hsp->cls1.rcvDataSizeLsb; |
| 71 | sp->cls1.rcvDataSizeMsb = hsp->cls1.rcvDataSizeMsb; | 76 | ssp_value = (sp->cls1.rcvDataSizeMsb << 8) | |
| 72 | if (sp->cls1.rcvDataSizeLsb > hsp->cls1.rcvDataSizeLsb) | 77 | sp->cls1.rcvDataSizeLsb; |
| 78 | if (ssp_value > hsp_value) { | ||
| 73 | sp->cls1.rcvDataSizeLsb = hsp->cls1.rcvDataSizeLsb; | 79 | sp->cls1.rcvDataSizeLsb = hsp->cls1.rcvDataSizeLsb; |
| 80 | sp->cls1.rcvDataSizeMsb = hsp->cls1.rcvDataSizeMsb; | ||
| 81 | } | ||
| 74 | } else if (class == CLASS1) { | 82 | } else if (class == CLASS1) { |
| 75 | return (0); | 83 | return 0; |
| 76 | } | 84 | } |
| 77 | 85 | ||
| 78 | if (sp->cls2.classValid) { | 86 | if (sp->cls2.classValid) { |
| 79 | 87 | hsp_value = (hsp->cls2.rcvDataSizeMsb << 8) | | |
| 80 | if (sp->cls2.rcvDataSizeMsb > hsp->cls2.rcvDataSizeMsb) | 88 | hsp->cls2.rcvDataSizeLsb; |
| 81 | sp->cls2.rcvDataSizeMsb = hsp->cls2.rcvDataSizeMsb; | 89 | ssp_value = (sp->cls2.rcvDataSizeMsb << 8) | |
| 82 | if (sp->cls2.rcvDataSizeLsb > hsp->cls2.rcvDataSizeLsb) | 90 | sp->cls2.rcvDataSizeLsb; |
| 91 | if (ssp_value > hsp_value) { | ||
| 83 | sp->cls2.rcvDataSizeLsb = hsp->cls2.rcvDataSizeLsb; | 92 | sp->cls2.rcvDataSizeLsb = hsp->cls2.rcvDataSizeLsb; |
| 93 | sp->cls2.rcvDataSizeMsb = hsp->cls2.rcvDataSizeMsb; | ||
| 94 | } | ||
| 84 | } else if (class == CLASS2) { | 95 | } else if (class == CLASS2) { |
| 85 | return (0); | 96 | return 0; |
| 86 | } | 97 | } |
| 87 | 98 | ||
| 88 | if (sp->cls3.classValid) { | 99 | if (sp->cls3.classValid) { |
| 89 | 100 | hsp_value = (hsp->cls3.rcvDataSizeMsb << 8) | | |
| 90 | if (sp->cls3.rcvDataSizeMsb > hsp->cls3.rcvDataSizeMsb) | 101 | hsp->cls3.rcvDataSizeLsb; |
| 91 | sp->cls3.rcvDataSizeMsb = hsp->cls3.rcvDataSizeMsb; | 102 | ssp_value = (sp->cls3.rcvDataSizeMsb << 8) | |
| 92 | if (sp->cls3.rcvDataSizeLsb > hsp->cls3.rcvDataSizeLsb) | 103 | sp->cls3.rcvDataSizeLsb; |
| 104 | if (ssp_value > hsp_value) { | ||
| 93 | sp->cls3.rcvDataSizeLsb = hsp->cls3.rcvDataSizeLsb; | 105 | sp->cls3.rcvDataSizeLsb = hsp->cls3.rcvDataSizeLsb; |
| 106 | sp->cls3.rcvDataSizeMsb = hsp->cls3.rcvDataSizeMsb; | ||
| 107 | } | ||
| 94 | } else if (class == CLASS3) { | 108 | } else if (class == CLASS3) { |
| 95 | return (0); | 109 | return 0; |
| 96 | } | 110 | } |
| 97 | 111 | ||
| 98 | if (sp->cmn.bbRcvSizeMsb > hsp->cmn.bbRcvSizeMsb) | 112 | /* |
| 99 | sp->cmn.bbRcvSizeMsb = hsp->cmn.bbRcvSizeMsb; | 113 | * Preserve the upper four bits of the MSB from the PLOGI response. |
| 100 | if (sp->cmn.bbRcvSizeLsb > hsp->cmn.bbRcvSizeLsb) | 114 | * These bits contain the Buffer-to-Buffer State Change Number |
| 115 | * from the target and need to be passed to the FW. | ||
| 116 | */ | ||
| 117 | hsp_value = (hsp->cmn.bbRcvSizeMsb << 8) | hsp->cmn.bbRcvSizeLsb; | ||
| 118 | ssp_value = (sp->cmn.bbRcvSizeMsb << 8) | sp->cmn.bbRcvSizeLsb; | ||
| 119 | if (ssp_value > hsp_value) { | ||
| 101 | sp->cmn.bbRcvSizeLsb = hsp->cmn.bbRcvSizeLsb; | 120 | sp->cmn.bbRcvSizeLsb = hsp->cmn.bbRcvSizeLsb; |
| 121 | sp->cmn.bbRcvSizeMsb = (sp->cmn.bbRcvSizeMsb & 0xF0) | | ||
| 122 | (hsp->cmn.bbRcvSizeMsb & 0x0F); | ||
| 123 | } | ||
| 102 | 124 | ||
| 103 | /* If check is good, copy wwpn wwnn into ndlp */ | ||
| 104 | memcpy(&ndlp->nlp_nodename, &sp->nodeName, sizeof (struct lpfc_name)); | 125 | memcpy(&ndlp->nlp_nodename, &sp->nodeName, sizeof (struct lpfc_name)); |
| 105 | memcpy(&ndlp->nlp_portname, &sp->portName, sizeof (struct lpfc_name)); | 126 | memcpy(&ndlp->nlp_portname, &sp->portName, sizeof (struct lpfc_name)); |
| 106 | return (1); | 127 | return 1; |
| 107 | } | 128 | } |
| 108 | 129 | ||
| 109 | static void * | 130 | static void * |
diff --git a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c index c63275e66e2e..9ee8218404c0 100644 --- a/drivers/scsi/lpfc/lpfc_scsi.c +++ b/drivers/scsi/lpfc/lpfc_scsi.c | |||
| @@ -41,6 +41,20 @@ | |||
| 41 | #define LPFC_ABORT_WAIT 2 | 41 | #define LPFC_ABORT_WAIT 2 |
| 42 | 42 | ||
| 43 | 43 | ||
| 44 | static inline void | ||
| 45 | lpfc_block_requests(struct lpfc_hba * phba) | ||
| 46 | { | ||
| 47 | down(&phba->hba_can_block); | ||
| 48 | scsi_block_requests(phba->host); | ||
| 49 | } | ||
| 50 | |||
| 51 | static inline void | ||
| 52 | lpfc_unblock_requests(struct lpfc_hba * phba) | ||
| 53 | { | ||
| 54 | scsi_unblock_requests(phba->host); | ||
| 55 | up(&phba->hba_can_block); | ||
| 56 | } | ||
| 57 | |||
| 44 | /* | 58 | /* |
| 45 | * This routine allocates a scsi buffer, which contains all the necessary | 59 | * This routine allocates a scsi buffer, which contains all the necessary |
| 46 | * information needed to initiate a SCSI I/O. The non-DMAable buffer region | 60 | * information needed to initiate a SCSI I/O. The non-DMAable buffer region |
| @@ -137,18 +151,22 @@ lpfc_new_scsi_buf(struct lpfc_hba * phba) | |||
| 137 | } | 151 | } |
| 138 | 152 | ||
| 139 | struct lpfc_scsi_buf* | 153 | struct lpfc_scsi_buf* |
| 140 | lpfc_sli_get_scsi_buf(struct lpfc_hba * phba) | 154 | lpfc_get_scsi_buf(struct lpfc_hba * phba) |
| 141 | { | 155 | { |
| 142 | struct lpfc_scsi_buf * lpfc_cmd = NULL; | 156 | struct lpfc_scsi_buf * lpfc_cmd = NULL; |
| 143 | struct list_head *scsi_buf_list = &phba->lpfc_scsi_buf_list; | 157 | struct list_head *scsi_buf_list = &phba->lpfc_scsi_buf_list; |
| 158 | unsigned long iflag = 0; | ||
| 144 | 159 | ||
| 160 | spin_lock_irqsave(&phba->scsi_buf_list_lock, iflag); | ||
| 145 | list_remove_head(scsi_buf_list, lpfc_cmd, struct lpfc_scsi_buf, list); | 161 | list_remove_head(scsi_buf_list, lpfc_cmd, struct lpfc_scsi_buf, list); |
| 162 | spin_unlock_irqrestore(&phba->scsi_buf_list_lock, iflag); | ||
| 146 | return lpfc_cmd; | 163 | return lpfc_cmd; |
| 147 | } | 164 | } |
| 148 | 165 | ||
| 149 | static void | 166 | static void |
| 150 | lpfc_release_scsi_buf(struct lpfc_hba * phba, struct lpfc_scsi_buf * psb) | 167 | lpfc_release_scsi_buf(struct lpfc_hba * phba, struct lpfc_scsi_buf * psb) |
| 151 | { | 168 | { |
| 169 | unsigned long iflag = 0; | ||
| 152 | /* | 170 | /* |
| 153 | * There are only two special cases to consider. (1) the scsi command | 171 | * There are only two special cases to consider. (1) the scsi command |
| 154 | * requested scatter-gather usage or (2) the scsi command allocated | 172 | * requested scatter-gather usage or (2) the scsi command allocated |
| @@ -166,8 +184,10 @@ lpfc_release_scsi_buf(struct lpfc_hba * phba, struct lpfc_scsi_buf * psb) | |||
| 166 | } | 184 | } |
| 167 | } | 185 | } |
| 168 | 186 | ||
| 187 | spin_lock_irqsave(&phba->scsi_buf_list_lock, iflag); | ||
| 169 | psb->pCmd = NULL; | 188 | psb->pCmd = NULL; |
| 170 | list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list); | 189 | list_add_tail(&psb->list, &phba->lpfc_scsi_buf_list); |
| 190 | spin_unlock_irqrestore(&phba->scsi_buf_list_lock, iflag); | ||
| 171 | } | 191 | } |
| 172 | 192 | ||
| 173 | static int | 193 | static int |
| @@ -389,7 +409,9 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, | |||
| 389 | struct lpfc_rport_data *rdata = lpfc_cmd->rdata; | 409 | struct lpfc_rport_data *rdata = lpfc_cmd->rdata; |
| 390 | struct lpfc_nodelist *pnode = rdata->pnode; | 410 | struct lpfc_nodelist *pnode = rdata->pnode; |
| 391 | struct scsi_cmnd *cmd = lpfc_cmd->pCmd; | 411 | struct scsi_cmnd *cmd = lpfc_cmd->pCmd; |
| 392 | unsigned long iflag; | 412 | int result; |
| 413 | struct scsi_device *sdev, *tmp_sdev; | ||
| 414 | int depth = 0; | ||
| 393 | 415 | ||
| 394 | lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4]; | 416 | lpfc_cmd->result = pIocbOut->iocb.un.ulpWord[4]; |
| 395 | lpfc_cmd->status = pIocbOut->iocb.ulpStatus; | 417 | lpfc_cmd->status = pIocbOut->iocb.ulpStatus; |
| @@ -441,11 +463,64 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba *phba, struct lpfc_iocbq *pIocbIn, | |||
| 441 | *lp, *(lp + 3), cmd->retries, cmd->resid); | 463 | *lp, *(lp + 3), cmd->retries, cmd->resid); |
| 442 | } | 464 | } |
| 443 | 465 | ||
| 466 | result = cmd->result; | ||
| 467 | sdev = cmd->device; | ||
| 444 | cmd->scsi_done(cmd); | 468 | cmd->scsi_done(cmd); |
| 445 | 469 | ||
| 446 | spin_lock_irqsave(phba->host->host_lock, iflag); | 470 | if (!result && |
| 471 | ((jiffies - pnode->last_ramp_up_time) > | ||
| 472 | LPFC_Q_RAMP_UP_INTERVAL * HZ) && | ||
| 473 | ((jiffies - pnode->last_q_full_time) > | ||
| 474 | LPFC_Q_RAMP_UP_INTERVAL * HZ) && | ||
| 475 | (phba->cfg_lun_queue_depth > sdev->queue_depth)) { | ||
| 476 | shost_for_each_device(tmp_sdev, sdev->host) { | ||
| 477 | if (phba->cfg_lun_queue_depth > tmp_sdev->queue_depth) { | ||
| 478 | if (tmp_sdev->id != sdev->id) | ||
| 479 | continue; | ||
| 480 | if (tmp_sdev->ordered_tags) | ||
| 481 | scsi_adjust_queue_depth(tmp_sdev, | ||
| 482 | MSG_ORDERED_TAG, | ||
| 483 | tmp_sdev->queue_depth+1); | ||
| 484 | else | ||
| 485 | scsi_adjust_queue_depth(tmp_sdev, | ||
| 486 | MSG_SIMPLE_TAG, | ||
| 487 | tmp_sdev->queue_depth+1); | ||
| 488 | |||
| 489 | pnode->last_ramp_up_time = jiffies; | ||
| 490 | } | ||
| 491 | } | ||
| 492 | } | ||
| 493 | |||
| 494 | /* | ||
| 495 | * Check for queue full. If the lun is reporting queue full, then | ||
| 496 | * back off the lun queue depth to prevent target overloads. | ||
| 497 | */ | ||
| 498 | if (result == SAM_STAT_TASK_SET_FULL) { | ||
| 499 | pnode->last_q_full_time = jiffies; | ||
| 500 | |||
| 501 | shost_for_each_device(tmp_sdev, sdev->host) { | ||
| 502 | if (tmp_sdev->id != sdev->id) | ||
| 503 | continue; | ||
| 504 | depth = scsi_track_queue_full(tmp_sdev, | ||
| 505 | tmp_sdev->queue_depth - 1); | ||
| 506 | } | ||
| 507 | /* | ||
| 508 | * The queue depth cannot be lowered any more. | ||
| 509 | * Modify the returned error code to store | ||
| 510 | * the final depth value set by | ||
| 511 | * scsi_track_queue_full. | ||
| 512 | */ | ||
| 513 | if (depth == -1) | ||
| 514 | depth = sdev->host->cmd_per_lun; | ||
| 515 | |||
| 516 | if (depth) { | ||
| 517 | lpfc_printf_log(phba, KERN_WARNING, LOG_FCP, | ||
| 518 | "%d:0711 detected queue full - lun queue depth " | ||
| 519 | " adjusted to %d.\n", phba->brd_no, depth); | ||
| 520 | } | ||
| 521 | } | ||
| 522 | |||
| 447 | lpfc_release_scsi_buf(phba, lpfc_cmd); | 523 | lpfc_release_scsi_buf(phba, lpfc_cmd); |
| 448 | spin_unlock_irqrestore(phba->host->host_lock, iflag); | ||
| 449 | } | 524 | } |
| 450 | 525 | ||
| 451 | static void | 526 | static void |
| @@ -693,6 +768,37 @@ lpfc_info(struct Scsi_Host *host) | |||
| 693 | return lpfcinfobuf; | 768 | return lpfcinfobuf; |
| 694 | } | 769 | } |
| 695 | 770 | ||
| 771 | static __inline__ void lpfc_poll_rearm_timer(struct lpfc_hba * phba) | ||
| 772 | { | ||
| 773 | unsigned long poll_tmo_expires = | ||
| 774 | (jiffies + msecs_to_jiffies(phba->cfg_poll_tmo)); | ||
| 775 | |||
| 776 | if (phba->sli.ring[LPFC_FCP_RING].txcmplq_cnt) | ||
| 777 | mod_timer(&phba->fcp_poll_timer, | ||
| 778 | poll_tmo_expires); | ||
| 779 | } | ||
| 780 | |||
| 781 | void lpfc_poll_start_timer(struct lpfc_hba * phba) | ||
| 782 | { | ||
| 783 | lpfc_poll_rearm_timer(phba); | ||
| 784 | } | ||
| 785 | |||
| 786 | void lpfc_poll_timeout(unsigned long ptr) | ||
| 787 | { | ||
| 788 | struct lpfc_hba *phba = (struct lpfc_hba *)ptr; | ||
| 789 | unsigned long iflag; | ||
| 790 | |||
| 791 | spin_lock_irqsave(phba->host->host_lock, iflag); | ||
| 792 | |||
| 793 | if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { | ||
| 794 | lpfc_sli_poll_fcp_ring (phba); | ||
| 795 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) | ||
| 796 | lpfc_poll_rearm_timer(phba); | ||
| 797 | } | ||
| 798 | |||
| 799 | spin_unlock_irqrestore(phba->host->host_lock, iflag); | ||
| 800 | } | ||
| 801 | |||
| 696 | static int | 802 | static int |
| 697 | lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | 803 | lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) |
| 698 | { | 804 | { |
| @@ -719,10 +825,11 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | |||
| 719 | cmnd->result = ScsiResult(DID_BUS_BUSY, 0); | 825 | cmnd->result = ScsiResult(DID_BUS_BUSY, 0); |
| 720 | goto out_fail_command; | 826 | goto out_fail_command; |
| 721 | } | 827 | } |
| 722 | lpfc_cmd = lpfc_sli_get_scsi_buf (phba); | 828 | lpfc_cmd = lpfc_get_scsi_buf (phba); |
| 723 | if (lpfc_cmd == NULL) { | 829 | if (lpfc_cmd == NULL) { |
| 724 | printk(KERN_WARNING "%s: No buffer available - list empty, " | 830 | lpfc_printf_log(phba, KERN_INFO, LOG_FCP, |
| 725 | "total count %d\n", __FUNCTION__, phba->total_scsi_bufs); | 831 | "%d:0707 driver's buffer pool is empty, " |
| 832 | "IO busied\n", phba->brd_no); | ||
| 726 | goto out_host_busy; | 833 | goto out_host_busy; |
| 727 | } | 834 | } |
| 728 | 835 | ||
| @@ -746,11 +853,17 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | |||
| 746 | &lpfc_cmd->cur_iocbq, SLI_IOCB_RET_IOCB); | 853 | &lpfc_cmd->cur_iocbq, SLI_IOCB_RET_IOCB); |
| 747 | if (err) | 854 | if (err) |
| 748 | goto out_host_busy_free_buf; | 855 | goto out_host_busy_free_buf; |
| 856 | |||
| 857 | if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { | ||
| 858 | lpfc_sli_poll_fcp_ring(phba); | ||
| 859 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) | ||
| 860 | lpfc_poll_rearm_timer(phba); | ||
| 861 | } | ||
| 862 | |||
| 749 | return 0; | 863 | return 0; |
| 750 | 864 | ||
| 751 | out_host_busy_free_buf: | 865 | out_host_busy_free_buf: |
| 752 | lpfc_release_scsi_buf(phba, lpfc_cmd); | 866 | lpfc_release_scsi_buf(phba, lpfc_cmd); |
| 753 | cmnd->host_scribble = NULL; | ||
| 754 | out_host_busy: | 867 | out_host_busy: |
| 755 | return SCSI_MLQUEUE_HOST_BUSY; | 868 | return SCSI_MLQUEUE_HOST_BUSY; |
| 756 | 869 | ||
| @@ -759,11 +872,12 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd, void (*done) (struct scsi_cmnd *)) | |||
| 759 | return 0; | 872 | return 0; |
| 760 | } | 873 | } |
| 761 | 874 | ||
| 875 | |||
| 762 | static int | 876 | static int |
| 763 | __lpfc_abort_handler(struct scsi_cmnd *cmnd) | 877 | lpfc_abort_handler(struct scsi_cmnd *cmnd) |
| 764 | { | 878 | { |
| 765 | struct lpfc_hba *phba = | 879 | struct Scsi_Host *shost = cmnd->device->host; |
| 766 | (struct lpfc_hba *)cmnd->device->host->hostdata[0]; | 880 | struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0]; |
| 767 | struct lpfc_sli_ring *pring = &phba->sli.ring[phba->sli.fcp_ring]; | 881 | struct lpfc_sli_ring *pring = &phba->sli.ring[phba->sli.fcp_ring]; |
| 768 | struct lpfc_iocbq *iocb; | 882 | struct lpfc_iocbq *iocb; |
| 769 | struct lpfc_iocbq *abtsiocb; | 883 | struct lpfc_iocbq *abtsiocb; |
| @@ -772,6 +886,8 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd) | |||
| 772 | unsigned int loop_count = 0; | 886 | unsigned int loop_count = 0; |
| 773 | int ret = SUCCESS; | 887 | int ret = SUCCESS; |
| 774 | 888 | ||
| 889 | lpfc_block_requests(phba); | ||
| 890 | spin_lock_irq(shost->host_lock); | ||
| 775 | 891 | ||
| 776 | lpfc_cmd = (struct lpfc_scsi_buf *)cmnd->host_scribble; | 892 | lpfc_cmd = (struct lpfc_scsi_buf *)cmnd->host_scribble; |
| 777 | BUG_ON(!lpfc_cmd); | 893 | BUG_ON(!lpfc_cmd); |
| @@ -821,9 +937,15 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd) | |||
| 821 | goto out; | 937 | goto out; |
| 822 | } | 938 | } |
| 823 | 939 | ||
| 940 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) | ||
| 941 | lpfc_sli_poll_fcp_ring (phba); | ||
| 942 | |||
| 824 | /* Wait for abort to complete */ | 943 | /* Wait for abort to complete */ |
| 825 | while (lpfc_cmd->pCmd == cmnd) | 944 | while (lpfc_cmd->pCmd == cmnd) |
| 826 | { | 945 | { |
| 946 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) | ||
| 947 | lpfc_sli_poll_fcp_ring (phba); | ||
| 948 | |||
| 827 | spin_unlock_irq(phba->host->host_lock); | 949 | spin_unlock_irq(phba->host->host_lock); |
| 828 | schedule_timeout_uninterruptible(LPFC_ABORT_WAIT*HZ); | 950 | schedule_timeout_uninterruptible(LPFC_ABORT_WAIT*HZ); |
| 829 | spin_lock_irq(phba->host->host_lock); | 951 | spin_lock_irq(phba->host->host_lock); |
| @@ -844,26 +966,19 @@ __lpfc_abort_handler(struct scsi_cmnd *cmnd) | |||
| 844 | 966 | ||
| 845 | out: | 967 | out: |
| 846 | lpfc_printf_log(phba, KERN_WARNING, LOG_FCP, | 968 | lpfc_printf_log(phba, KERN_WARNING, LOG_FCP, |
| 847 | "%d:0749 SCSI layer issued abort device: ret %#x, " | 969 | "%d:0749 SCSI Layer I/O Abort Request " |
| 848 | "ID %d, LUN %d, snum %#lx\n", | 970 | "Status x%x ID %d LUN %d snum %#lx\n", |
| 849 | phba->brd_no, ret, cmnd->device->id, | 971 | phba->brd_no, ret, cmnd->device->id, |
| 850 | cmnd->device->lun, cmnd->serial_number); | 972 | cmnd->device->lun, cmnd->serial_number); |
| 851 | 973 | ||
| 852 | return ret; | 974 | spin_unlock_irq(shost->host_lock); |
| 853 | } | 975 | lpfc_unblock_requests(phba); |
| 854 | 976 | ||
| 855 | static int | 977 | return ret; |
| 856 | lpfc_abort_handler(struct scsi_cmnd *cmnd) | ||
| 857 | { | ||
| 858 | int rc; | ||
| 859 | spin_lock_irq(cmnd->device->host->host_lock); | ||
| 860 | rc = __lpfc_abort_handler(cmnd); | ||
| 861 | spin_unlock_irq(cmnd->device->host->host_lock); | ||
| 862 | return rc; | ||
| 863 | } | 978 | } |
| 864 | 979 | ||
| 865 | static int | 980 | static int |
| 866 | __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | 981 | lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) |
| 867 | { | 982 | { |
| 868 | struct Scsi_Host *shost = cmnd->device->host; | 983 | struct Scsi_Host *shost = cmnd->device->host; |
| 869 | struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0]; | 984 | struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0]; |
| @@ -871,9 +986,12 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | |||
| 871 | struct lpfc_iocbq *iocbq, *iocbqrsp; | 986 | struct lpfc_iocbq *iocbq, *iocbqrsp; |
| 872 | struct lpfc_rport_data *rdata = cmnd->device->hostdata; | 987 | struct lpfc_rport_data *rdata = cmnd->device->hostdata; |
| 873 | struct lpfc_nodelist *pnode = rdata->pnode; | 988 | struct lpfc_nodelist *pnode = rdata->pnode; |
| 989 | uint32_t cmd_result = 0, cmd_status = 0; | ||
| 874 | int ret = FAILED; | 990 | int ret = FAILED; |
| 875 | int cnt, loopcnt; | 991 | int cnt, loopcnt; |
| 876 | 992 | ||
| 993 | lpfc_block_requests(phba); | ||
| 994 | spin_lock_irq(shost->host_lock); | ||
| 877 | /* | 995 | /* |
| 878 | * If target is not in a MAPPED state, delay the reset until | 996 | * If target is not in a MAPPED state, delay the reset until |
| 879 | * target is rediscovered or nodev timeout expires. | 997 | * target is rediscovered or nodev timeout expires. |
| @@ -891,7 +1009,7 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | |||
| 891 | break; | 1009 | break; |
| 892 | } | 1010 | } |
| 893 | 1011 | ||
| 894 | lpfc_cmd = lpfc_sli_get_scsi_buf (phba); | 1012 | lpfc_cmd = lpfc_get_scsi_buf (phba); |
| 895 | if (lpfc_cmd == NULL) | 1013 | if (lpfc_cmd == NULL) |
| 896 | goto out; | 1014 | goto out; |
| 897 | 1015 | ||
| @@ -916,26 +1034,28 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | |||
| 916 | if (ret == IOCB_SUCCESS) | 1034 | if (ret == IOCB_SUCCESS) |
| 917 | ret = SUCCESS; | 1035 | ret = SUCCESS; |
| 918 | 1036 | ||
| 919 | lpfc_cmd->result = iocbqrsp->iocb.un.ulpWord[4]; | 1037 | |
| 920 | lpfc_cmd->status = iocbqrsp->iocb.ulpStatus; | 1038 | cmd_result = iocbqrsp->iocb.un.ulpWord[4]; |
| 921 | if (lpfc_cmd->status == IOSTAT_LOCAL_REJECT) | 1039 | cmd_status = iocbqrsp->iocb.ulpStatus; |
| 922 | if (lpfc_cmd->result & IOERR_DRVR_MASK) | 1040 | |
| 923 | lpfc_cmd->status = IOSTAT_DRIVER_REJECT; | 1041 | lpfc_sli_release_iocbq(phba, iocbqrsp); |
| 1042 | lpfc_release_scsi_buf(phba, lpfc_cmd); | ||
| 924 | 1043 | ||
| 925 | /* | 1044 | /* |
| 926 | * All outstanding txcmplq I/Os should have been aborted by the target. | 1045 | * All outstanding txcmplq I/Os should have been aborted by the device. |
| 927 | * Unfortunately, some targets do not abide by this forcing the driver | 1046 | * Unfortunately, some targets do not abide by this forcing the driver |
| 928 | * to double check. | 1047 | * to double check. |
| 929 | */ | 1048 | */ |
| 930 | lpfc_sli_abort_iocb(phba, &phba->sli.ring[phba->sli.fcp_ring], | 1049 | cnt = lpfc_sli_sum_iocb(phba, &phba->sli.ring[phba->sli.fcp_ring], |
| 931 | cmnd->device->id, cmnd->device->lun, 0, | 1050 | cmnd->device->id, cmnd->device->lun, |
| 932 | LPFC_CTX_LUN); | 1051 | LPFC_CTX_LUN); |
| 933 | 1052 | if (cnt) | |
| 1053 | lpfc_sli_abort_iocb(phba, | ||
| 1054 | &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1055 | cmnd->device->id, cmnd->device->lun, | ||
| 1056 | 0, LPFC_CTX_LUN); | ||
| 934 | loopcnt = 0; | 1057 | loopcnt = 0; |
| 935 | while((cnt = lpfc_sli_sum_iocb(phba, | 1058 | while(cnt) { |
| 936 | &phba->sli.ring[phba->sli.fcp_ring], | ||
| 937 | cmnd->device->id, cmnd->device->lun, | ||
| 938 | LPFC_CTX_LUN))) { | ||
| 939 | spin_unlock_irq(phba->host->host_lock); | 1059 | spin_unlock_irq(phba->host->host_lock); |
| 940 | schedule_timeout_uninterruptible(LPFC_RESET_WAIT*HZ); | 1060 | schedule_timeout_uninterruptible(LPFC_RESET_WAIT*HZ); |
| 941 | spin_lock_irq(phba->host->host_lock); | 1061 | spin_lock_irq(phba->host->host_lock); |
| @@ -943,6 +1063,11 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | |||
| 943 | if (++loopcnt | 1063 | if (++loopcnt |
| 944 | > (2 * phba->cfg_nodev_tmo)/LPFC_RESET_WAIT) | 1064 | > (2 * phba->cfg_nodev_tmo)/LPFC_RESET_WAIT) |
| 945 | break; | 1065 | break; |
| 1066 | |||
| 1067 | cnt = lpfc_sli_sum_iocb(phba, | ||
| 1068 | &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1069 | cmnd->device->id, cmnd->device->lun, | ||
| 1070 | LPFC_CTX_LUN); | ||
| 946 | } | 1071 | } |
| 947 | 1072 | ||
| 948 | if (cnt) { | 1073 | if (cnt) { |
| @@ -952,35 +1077,21 @@ __lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | |||
| 952 | ret = FAILED; | 1077 | ret = FAILED; |
| 953 | } | 1078 | } |
| 954 | 1079 | ||
| 955 | lpfc_sli_release_iocbq(phba, iocbqrsp); | ||
| 956 | |||
| 957 | out_free_scsi_buf: | 1080 | out_free_scsi_buf: |
| 958 | lpfc_printf_log(phba, KERN_ERR, LOG_FCP, | 1081 | lpfc_printf_log(phba, KERN_ERR, LOG_FCP, |
| 959 | "%d:0713 SCSI layer issued LUN reset (%d, %d) " | 1082 | "%d:0713 SCSI layer issued LUN reset (%d, %d) " |
| 960 | "Data: x%x x%x x%x\n", | 1083 | "Data: x%x x%x x%x\n", |
| 961 | phba->brd_no, lpfc_cmd->pCmd->device->id, | 1084 | phba->brd_no, cmnd->device->id,cmnd->device->lun, |
| 962 | lpfc_cmd->pCmd->device->lun, ret, lpfc_cmd->status, | 1085 | ret, cmd_status, cmd_result); |
| 963 | lpfc_cmd->result); | 1086 | |
| 964 | lpfc_release_scsi_buf(phba, lpfc_cmd); | ||
| 965 | out: | 1087 | out: |
| 1088 | spin_unlock_irq(shost->host_lock); | ||
| 1089 | lpfc_unblock_requests(phba); | ||
| 966 | return ret; | 1090 | return ret; |
| 967 | } | 1091 | } |
| 968 | 1092 | ||
| 969 | static int | 1093 | static int |
| 970 | lpfc_reset_lun_handler(struct scsi_cmnd *cmnd) | 1094 | lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) |
| 971 | { | ||
| 972 | int rc; | ||
| 973 | spin_lock_irq(cmnd->device->host->host_lock); | ||
| 974 | rc = __lpfc_reset_lun_handler(cmnd); | ||
| 975 | spin_unlock_irq(cmnd->device->host->host_lock); | ||
| 976 | return rc; | ||
| 977 | } | ||
| 978 | |||
| 979 | /* | ||
| 980 | * Note: midlayer calls this function with the host_lock held | ||
| 981 | */ | ||
| 982 | static int | ||
| 983 | __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) | ||
| 984 | { | 1095 | { |
| 985 | struct Scsi_Host *shost = cmnd->device->host; | 1096 | struct Scsi_Host *shost = cmnd->device->host; |
| 986 | struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0]; | 1097 | struct lpfc_hba *phba = (struct lpfc_hba *)shost->hostdata[0]; |
| @@ -991,7 +1102,10 @@ __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) | |||
| 991 | unsigned int midlayer_id = 0; | 1102 | unsigned int midlayer_id = 0; |
| 992 | struct lpfc_scsi_buf * lpfc_cmd; | 1103 | struct lpfc_scsi_buf * lpfc_cmd; |
| 993 | 1104 | ||
| 994 | lpfc_cmd = lpfc_sli_get_scsi_buf (phba); | 1105 | lpfc_block_requests(phba); |
| 1106 | spin_lock_irq(shost->host_lock); | ||
| 1107 | |||
| 1108 | lpfc_cmd = lpfc_get_scsi_buf(phba); | ||
| 995 | if (lpfc_cmd == NULL) | 1109 | if (lpfc_cmd == NULL) |
| 996 | goto out; | 1110 | goto out; |
| 997 | 1111 | ||
| @@ -1022,18 +1136,31 @@ __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) | |||
| 1022 | lpfc_cmd->pCmd->device->hostdata = ndlp->rport->dd_data; | 1136 | lpfc_cmd->pCmd->device->hostdata = ndlp->rport->dd_data; |
| 1023 | ret = lpfc_scsi_tgt_reset(lpfc_cmd, phba); | 1137 | ret = lpfc_scsi_tgt_reset(lpfc_cmd, phba); |
| 1024 | if (ret != SUCCESS) { | 1138 | if (ret != SUCCESS) { |
| 1025 | lpfc_printf_log(phba, KERN_INFO, LOG_FCP, | 1139 | lpfc_printf_log(phba, KERN_ERR, LOG_FCP, |
| 1026 | "%d:0713 Bus Reset on target %d failed\n", | 1140 | "%d:0713 Bus Reset on target %d failed\n", |
| 1027 | phba->brd_no, i); | 1141 | phba->brd_no, i); |
| 1028 | err_count++; | 1142 | err_count++; |
| 1029 | } | 1143 | } |
| 1030 | } | 1144 | } |
| 1031 | 1145 | ||
| 1146 | if (err_count == 0) | ||
| 1147 | ret = SUCCESS; | ||
| 1148 | |||
| 1149 | lpfc_release_scsi_buf(phba, lpfc_cmd); | ||
| 1150 | |||
| 1151 | /* | ||
| 1152 | * All outstanding txcmplq I/Os should have been aborted by | ||
| 1153 | * the targets. Unfortunately, some targets do not abide by | ||
| 1154 | * this forcing the driver to double check. | ||
| 1155 | */ | ||
| 1032 | cmnd->device->id = midlayer_id; | 1156 | cmnd->device->id = midlayer_id; |
| 1157 | cnt = lpfc_sli_sum_iocb(phba, &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1158 | 0, 0, LPFC_CTX_HOST); | ||
| 1159 | if (cnt) | ||
| 1160 | lpfc_sli_abort_iocb(phba, &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1161 | 0, 0, 0, LPFC_CTX_HOST); | ||
| 1033 | loopcnt = 0; | 1162 | loopcnt = 0; |
| 1034 | while((cnt = lpfc_sli_sum_iocb(phba, | 1163 | while(cnt) { |
| 1035 | &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1036 | 0, 0, LPFC_CTX_HOST))) { | ||
| 1037 | spin_unlock_irq(phba->host->host_lock); | 1164 | spin_unlock_irq(phba->host->host_lock); |
| 1038 | schedule_timeout_uninterruptible(LPFC_RESET_WAIT*HZ); | 1165 | schedule_timeout_uninterruptible(LPFC_RESET_WAIT*HZ); |
| 1039 | spin_lock_irq(phba->host->host_lock); | 1166 | spin_lock_irq(phba->host->host_lock); |
| @@ -1041,45 +1168,31 @@ __lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) | |||
| 1041 | if (++loopcnt | 1168 | if (++loopcnt |
| 1042 | > (2 * phba->cfg_nodev_tmo)/LPFC_RESET_WAIT) | 1169 | > (2 * phba->cfg_nodev_tmo)/LPFC_RESET_WAIT) |
| 1043 | break; | 1170 | break; |
| 1171 | |||
| 1172 | cnt = lpfc_sli_sum_iocb(phba, | ||
| 1173 | &phba->sli.ring[phba->sli.fcp_ring], | ||
| 1174 | 0, 0, LPFC_CTX_HOST); | ||
| 1044 | } | 1175 | } |
| 1045 | 1176 | ||
| 1046 | if (cnt) { | 1177 | if (cnt) { |
| 1047 | /* flush all outstanding commands on the host */ | 1178 | lpfc_printf_log(phba, KERN_ERR, LOG_FCP, |
| 1048 | i = lpfc_sli_abort_iocb(phba, | ||
| 1049 | &phba->sli.ring[phba->sli.fcp_ring], 0, 0, 0, | ||
| 1050 | LPFC_CTX_HOST); | ||
| 1051 | |||
| 1052 | lpfc_printf_log(phba, KERN_INFO, LOG_FCP, | ||
| 1053 | "%d:0715 Bus Reset I/O flush failure: cnt x%x left x%x\n", | 1179 | "%d:0715 Bus Reset I/O flush failure: cnt x%x left x%x\n", |
| 1054 | phba->brd_no, cnt, i); | 1180 | phba->brd_no, cnt, i); |
| 1055 | } | ||
| 1056 | |||
| 1057 | if (cnt == 0) | ||
| 1058 | ret = SUCCESS; | ||
| 1059 | else | ||
| 1060 | ret = FAILED; | 1181 | ret = FAILED; |
| 1182 | } | ||
| 1061 | 1183 | ||
| 1062 | lpfc_release_scsi_buf(phba, lpfc_cmd); | ||
| 1063 | lpfc_printf_log(phba, | 1184 | lpfc_printf_log(phba, |
| 1064 | KERN_ERR, | 1185 | KERN_ERR, |
| 1065 | LOG_FCP, | 1186 | LOG_FCP, |
| 1066 | "%d:0714 SCSI layer issued Bus Reset Data: x%x\n", | 1187 | "%d:0714 SCSI layer issued Bus Reset Data: x%x\n", |
| 1067 | phba->brd_no, ret); | 1188 | phba->brd_no, ret); |
| 1068 | out: | 1189 | out: |
| 1190 | spin_unlock_irq(shost->host_lock); | ||
| 1191 | lpfc_unblock_requests(phba); | ||
| 1069 | return ret; | 1192 | return ret; |
| 1070 | } | 1193 | } |
| 1071 | 1194 | ||
| 1072 | static int | 1195 | static int |
| 1073 | lpfc_reset_bus_handler(struct scsi_cmnd *cmnd) | ||
| 1074 | { | ||
| 1075 | int rc; | ||
| 1076 | spin_lock_irq(cmnd->device->host->host_lock); | ||
| 1077 | rc = __lpfc_reset_bus_handler(cmnd); | ||
| 1078 | spin_unlock_irq(cmnd->device->host->host_lock); | ||
| 1079 | return rc; | ||
| 1080 | } | ||
| 1081 | |||
| 1082 | static int | ||
| 1083 | lpfc_slave_alloc(struct scsi_device *sdev) | 1196 | lpfc_slave_alloc(struct scsi_device *sdev) |
| 1084 | { | 1197 | { |
| 1085 | struct lpfc_hba *phba = (struct lpfc_hba *)sdev->host->hostdata[0]; | 1198 | struct lpfc_hba *phba = (struct lpfc_hba *)sdev->host->hostdata[0]; |
| @@ -1127,10 +1240,10 @@ lpfc_slave_alloc(struct scsi_device *sdev) | |||
| 1127 | break; | 1240 | break; |
| 1128 | } | 1241 | } |
| 1129 | 1242 | ||
| 1130 | spin_lock_irqsave(phba->host->host_lock, flags); | 1243 | spin_lock_irqsave(&phba->scsi_buf_list_lock, flags); |
| 1131 | phba->total_scsi_bufs++; | 1244 | phba->total_scsi_bufs++; |
| 1132 | list_add_tail(&scsi_buf->list, &phba->lpfc_scsi_buf_list); | 1245 | list_add_tail(&scsi_buf->list, &phba->lpfc_scsi_buf_list); |
| 1133 | spin_unlock_irqrestore(phba->host->host_lock, flags); | 1246 | spin_unlock_irqrestore(&phba->scsi_buf_list_lock, flags); |
| 1134 | } | 1247 | } |
| 1135 | return 0; | 1248 | return 0; |
| 1136 | } | 1249 | } |
| @@ -1154,6 +1267,12 @@ lpfc_slave_configure(struct scsi_device *sdev) | |||
| 1154 | */ | 1267 | */ |
| 1155 | rport->dev_loss_tmo = phba->cfg_nodev_tmo + 5; | 1268 | rport->dev_loss_tmo = phba->cfg_nodev_tmo + 5; |
| 1156 | 1269 | ||
| 1270 | if (phba->cfg_poll & ENABLE_FCP_RING_POLLING) { | ||
| 1271 | lpfc_sli_poll_fcp_ring(phba); | ||
| 1272 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) | ||
| 1273 | lpfc_poll_rearm_timer(phba); | ||
| 1274 | } | ||
| 1275 | |||
| 1157 | return 0; | 1276 | return 0; |
| 1158 | } | 1277 | } |
| 1159 | 1278 | ||
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index e2c08c5d83fb..7b785ade8b07 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
| @@ -886,6 +886,182 @@ lpfc_sli_process_sol_iocb(struct lpfc_hba * phba, struct lpfc_sli_ring * pring, | |||
| 886 | return rc; | 886 | return rc; |
| 887 | } | 887 | } |
| 888 | 888 | ||
| 889 | static void lpfc_sli_rsp_pointers_error(struct lpfc_hba * phba, | ||
| 890 | struct lpfc_sli_ring * pring) | ||
| 891 | { | ||
| 892 | struct lpfc_pgp *pgp = &phba->slim2p->mbx.us.s2.port[pring->ringno]; | ||
| 893 | /* | ||
| 894 | * Ring <ringno> handler: portRspPut <portRspPut> is bigger then | ||
| 895 | * rsp ring <portRspMax> | ||
| 896 | */ | ||
| 897 | lpfc_printf_log(phba, KERN_ERR, LOG_SLI, | ||
| 898 | "%d:0312 Ring %d handler: portRspPut %d " | ||
| 899 | "is bigger then rsp ring %d\n", | ||
| 900 | phba->brd_no, pring->ringno, | ||
| 901 | le32_to_cpu(pgp->rspPutInx), | ||
| 902 | pring->numRiocb); | ||
| 903 | |||
| 904 | phba->hba_state = LPFC_HBA_ERROR; | ||
| 905 | |||
| 906 | /* | ||
| 907 | * All error attention handlers are posted to | ||
| 908 | * worker thread | ||
| 909 | */ | ||
| 910 | phba->work_ha |= HA_ERATT; | ||
| 911 | phba->work_hs = HS_FFER3; | ||
| 912 | if (phba->work_wait) | ||
| 913 | wake_up(phba->work_wait); | ||
| 914 | |||
| 915 | return; | ||
| 916 | } | ||
| 917 | |||
| 918 | void lpfc_sli_poll_fcp_ring(struct lpfc_hba * phba) | ||
| 919 | { | ||
| 920 | struct lpfc_sli * psli = &phba->sli; | ||
| 921 | struct lpfc_sli_ring * pring = &psli->ring[LPFC_FCP_RING]; | ||
| 922 | IOCB_t *irsp = NULL; | ||
| 923 | IOCB_t *entry = NULL; | ||
| 924 | struct lpfc_iocbq *cmdiocbq = NULL; | ||
| 925 | struct lpfc_iocbq rspiocbq; | ||
| 926 | struct lpfc_pgp *pgp; | ||
| 927 | uint32_t status; | ||
| 928 | uint32_t portRspPut, portRspMax; | ||
| 929 | int type; | ||
| 930 | uint32_t rsp_cmpl = 0; | ||
| 931 | void __iomem *to_slim; | ||
| 932 | uint32_t ha_copy; | ||
| 933 | |||
| 934 | pring->stats.iocb_event++; | ||
| 935 | |||
| 936 | /* The driver assumes SLI-2 mode */ | ||
| 937 | pgp = &phba->slim2p->mbx.us.s2.port[pring->ringno]; | ||
| 938 | |||
| 939 | /* | ||
| 940 | * The next available response entry should never exceed the maximum | ||
| 941 | * entries. If it does, treat it as an adapter hardware error. | ||
| 942 | */ | ||
| 943 | portRspMax = pring->numRiocb; | ||
| 944 | portRspPut = le32_to_cpu(pgp->rspPutInx); | ||
| 945 | if (unlikely(portRspPut >= portRspMax)) { | ||
| 946 | lpfc_sli_rsp_pointers_error(phba, pring); | ||
| 947 | return; | ||
| 948 | } | ||
| 949 | |||
| 950 | rmb(); | ||
| 951 | while (pring->rspidx != portRspPut) { | ||
| 952 | |||
| 953 | entry = IOCB_ENTRY(pring->rspringaddr, pring->rspidx); | ||
| 954 | |||
| 955 | if (++pring->rspidx >= portRspMax) | ||
| 956 | pring->rspidx = 0; | ||
| 957 | |||
| 958 | lpfc_sli_pcimem_bcopy((uint32_t *) entry, | ||
| 959 | (uint32_t *) &rspiocbq.iocb, | ||
| 960 | sizeof (IOCB_t)); | ||
| 961 | irsp = &rspiocbq.iocb; | ||
| 962 | type = lpfc_sli_iocb_cmd_type(irsp->ulpCommand & CMD_IOCB_MASK); | ||
| 963 | pring->stats.iocb_rsp++; | ||
| 964 | rsp_cmpl++; | ||
| 965 | |||
| 966 | if (unlikely(irsp->ulpStatus)) { | ||
| 967 | /* Rsp ring <ringno> error: IOCB */ | ||
| 968 | lpfc_printf_log(phba, KERN_WARNING, LOG_SLI, | ||
| 969 | "%d:0326 Rsp Ring %d error: IOCB Data: " | ||
| 970 | "x%x x%x x%x x%x x%x x%x x%x x%x\n", | ||
| 971 | phba->brd_no, pring->ringno, | ||
| 972 | irsp->un.ulpWord[0], | ||
| 973 | irsp->un.ulpWord[1], | ||
| 974 | irsp->un.ulpWord[2], | ||
| 975 | irsp->un.ulpWord[3], | ||
| 976 | irsp->un.ulpWord[4], | ||
| 977 | irsp->un.ulpWord[5], | ||
| 978 | *(((uint32_t *) irsp) + 6), | ||
| 979 | *(((uint32_t *) irsp) + 7)); | ||
| 980 | } | ||
| 981 | |||
| 982 | switch (type) { | ||
| 983 | case LPFC_ABORT_IOCB: | ||
| 984 | case LPFC_SOL_IOCB: | ||
| 985 | /* | ||
| 986 | * Idle exchange closed via ABTS from port. No iocb | ||
| 987 | * resources need to be recovered. | ||
| 988 | */ | ||
| 989 | if (unlikely(irsp->ulpCommand == CMD_XRI_ABORTED_CX)) { | ||
| 990 | printk(KERN_INFO "%s: IOCB cmd 0x%x processed." | ||
| 991 | " Skipping completion\n", __FUNCTION__, | ||
| 992 | irsp->ulpCommand); | ||
| 993 | break; | ||
| 994 | } | ||
| 995 | |||
| 996 | cmdiocbq = lpfc_sli_iocbq_lookup(phba, pring, | ||
| 997 | &rspiocbq); | ||
| 998 | if ((cmdiocbq) && (cmdiocbq->iocb_cmpl)) { | ||
| 999 | (cmdiocbq->iocb_cmpl)(phba, cmdiocbq, | ||
| 1000 | &rspiocbq); | ||
| 1001 | } | ||
| 1002 | break; | ||
| 1003 | default: | ||
| 1004 | if (irsp->ulpCommand == CMD_ADAPTER_MSG) { | ||
| 1005 | char adaptermsg[LPFC_MAX_ADPTMSG]; | ||
| 1006 | memset(adaptermsg, 0, LPFC_MAX_ADPTMSG); | ||
| 1007 | memcpy(&adaptermsg[0], (uint8_t *) irsp, | ||
| 1008 | MAX_MSG_DATA); | ||
| 1009 | dev_warn(&((phba->pcidev)->dev), "lpfc%d: %s", | ||
| 1010 | phba->brd_no, adaptermsg); | ||
| 1011 | } else { | ||
| 1012 | /* Unknown IOCB command */ | ||
| 1013 | lpfc_printf_log(phba, KERN_ERR, LOG_SLI, | ||
| 1014 | "%d:0321 Unknown IOCB command " | ||
| 1015 | "Data: x%x, x%x x%x x%x x%x\n", | ||
| 1016 | phba->brd_no, type, | ||
| 1017 | irsp->ulpCommand, | ||
| 1018 | irsp->ulpStatus, | ||
| 1019 | irsp->ulpIoTag, | ||
| 1020 | irsp->ulpContext); | ||
| 1021 | } | ||
| 1022 | break; | ||
| 1023 | } | ||
| 1024 | |||
| 1025 | /* | ||
| 1026 | * The response IOCB has been processed. Update the ring | ||
| 1027 | * pointer in SLIM. If the port response put pointer has not | ||
| 1028 | * been updated, sync the pgp->rspPutInx and fetch the new port | ||
| 1029 | * response put pointer. | ||
| 1030 | */ | ||
| 1031 | to_slim = phba->MBslimaddr + | ||
| 1032 | (SLIMOFF + (pring->ringno * 2) + 1) * 4; | ||
| 1033 | writeb(pring->rspidx, to_slim); | ||
| 1034 | |||
| 1035 | if (pring->rspidx == portRspPut) | ||
| 1036 | portRspPut = le32_to_cpu(pgp->rspPutInx); | ||
| 1037 | } | ||
| 1038 | |||
| 1039 | ha_copy = readl(phba->HAregaddr); | ||
| 1040 | ha_copy >>= (LPFC_FCP_RING * 4); | ||
| 1041 | |||
| 1042 | if ((rsp_cmpl > 0) && (ha_copy & HA_R0RE_REQ)) { | ||
| 1043 | pring->stats.iocb_rsp_full++; | ||
| 1044 | status = ((CA_R0ATT | CA_R0RE_RSP) << (LPFC_FCP_RING * 4)); | ||
| 1045 | writel(status, phba->CAregaddr); | ||
| 1046 | readl(phba->CAregaddr); | ||
| 1047 | } | ||
| 1048 | if ((ha_copy & HA_R0CE_RSP) && | ||
| 1049 | (pring->flag & LPFC_CALL_RING_AVAILABLE)) { | ||
| 1050 | pring->flag &= ~LPFC_CALL_RING_AVAILABLE; | ||
| 1051 | pring->stats.iocb_cmd_empty++; | ||
| 1052 | |||
| 1053 | /* Force update of the local copy of cmdGetInx */ | ||
| 1054 | pring->local_getidx = le32_to_cpu(pgp->cmdGetInx); | ||
| 1055 | lpfc_sli_resume_iocb(phba, pring); | ||
| 1056 | |||
| 1057 | if ((pring->lpfc_sli_cmd_available)) | ||
| 1058 | (pring->lpfc_sli_cmd_available) (phba, pring); | ||
| 1059 | |||
| 1060 | } | ||
| 1061 | |||
| 1062 | return; | ||
| 1063 | } | ||
| 1064 | |||
| 889 | /* | 1065 | /* |
| 890 | * This routine presumes LPFC_FCP_RING handling and doesn't bother | 1066 | * This routine presumes LPFC_FCP_RING handling and doesn't bother |
| 891 | * to check it explicitly. | 1067 | * to check it explicitly. |
| @@ -917,24 +1093,7 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba * phba, | |||
| 917 | portRspMax = pring->numRiocb; | 1093 | portRspMax = pring->numRiocb; |
| 918 | portRspPut = le32_to_cpu(pgp->rspPutInx); | 1094 | portRspPut = le32_to_cpu(pgp->rspPutInx); |
| 919 | if (unlikely(portRspPut >= portRspMax)) { | 1095 | if (unlikely(portRspPut >= portRspMax)) { |
| 920 | /* | 1096 | lpfc_sli_rsp_pointers_error(phba, pring); |
| 921 | * Ring <ringno> handler: portRspPut <portRspPut> is bigger then | ||
| 922 | * rsp ring <portRspMax> | ||
| 923 | */ | ||
| 924 | lpfc_printf_log(phba, KERN_ERR, LOG_SLI, | ||
| 925 | "%d:0312 Ring %d handler: portRspPut %d " | ||
| 926 | "is bigger then rsp ring %d\n", | ||
| 927 | phba->brd_no, pring->ringno, portRspPut, | ||
| 928 | portRspMax); | ||
| 929 | |||
| 930 | phba->hba_state = LPFC_HBA_ERROR; | ||
| 931 | |||
| 932 | /* All error attention handlers are posted to worker thread */ | ||
| 933 | phba->work_ha |= HA_ERATT; | ||
| 934 | phba->work_hs = HS_FFER3; | ||
| 935 | if (phba->work_wait) | ||
| 936 | wake_up(phba->work_wait); | ||
| 937 | |||
| 938 | spin_unlock_irqrestore(phba->host->host_lock, iflag); | 1097 | spin_unlock_irqrestore(phba->host->host_lock, iflag); |
| 939 | return 1; | 1098 | return 1; |
| 940 | } | 1099 | } |
| @@ -947,6 +1106,10 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba * phba, | |||
| 947 | * network byte order and pci byte orders are different. | 1106 | * network byte order and pci byte orders are different. |
| 948 | */ | 1107 | */ |
| 949 | entry = IOCB_ENTRY(pring->rspringaddr, pring->rspidx); | 1108 | entry = IOCB_ENTRY(pring->rspringaddr, pring->rspidx); |
| 1109 | |||
| 1110 | if (++pring->rspidx >= portRspMax) | ||
| 1111 | pring->rspidx = 0; | ||
| 1112 | |||
| 950 | lpfc_sli_pcimem_bcopy((uint32_t *) entry, | 1113 | lpfc_sli_pcimem_bcopy((uint32_t *) entry, |
| 951 | (uint32_t *) &rspiocbq.iocb, | 1114 | (uint32_t *) &rspiocbq.iocb, |
| 952 | sizeof (IOCB_t)); | 1115 | sizeof (IOCB_t)); |
| @@ -1020,9 +1183,6 @@ lpfc_sli_handle_fast_ring_event(struct lpfc_hba * phba, | |||
| 1020 | * been updated, sync the pgp->rspPutInx and fetch the new port | 1183 | * been updated, sync the pgp->rspPutInx and fetch the new port |
| 1021 | * response put pointer. | 1184 | * response put pointer. |
| 1022 | */ | 1185 | */ |
| 1023 | if (++pring->rspidx >= portRspMax) | ||
| 1024 | pring->rspidx = 0; | ||
| 1025 | |||
| 1026 | to_slim = phba->MBslimaddr + | 1186 | to_slim = phba->MBslimaddr + |
| 1027 | (SLIMOFF + (pring->ringno * 2) + 1) * 4; | 1187 | (SLIMOFF + (pring->ringno * 2) + 1) * 4; |
| 1028 | writel(pring->rspidx, to_slim); | 1188 | writel(pring->rspidx, to_slim); |
| @@ -2615,6 +2775,7 @@ lpfc_sli_issue_iocb_wait(struct lpfc_hba * phba, | |||
| 2615 | DECLARE_WAIT_QUEUE_HEAD(done_q); | 2775 | DECLARE_WAIT_QUEUE_HEAD(done_q); |
| 2616 | long timeleft, timeout_req = 0; | 2776 | long timeleft, timeout_req = 0; |
| 2617 | int retval = IOCB_SUCCESS; | 2777 | int retval = IOCB_SUCCESS; |
| 2778 | uint32_t creg_val; | ||
| 2618 | 2779 | ||
| 2619 | /* | 2780 | /* |
| 2620 | * If the caller has provided a response iocbq buffer, then context2 | 2781 | * If the caller has provided a response iocbq buffer, then context2 |
| @@ -2630,6 +2791,13 @@ lpfc_sli_issue_iocb_wait(struct lpfc_hba * phba, | |||
| 2630 | piocb->context_un.wait_queue = &done_q; | 2791 | piocb->context_un.wait_queue = &done_q; |
| 2631 | piocb->iocb_flag &= ~LPFC_IO_WAKE; | 2792 | piocb->iocb_flag &= ~LPFC_IO_WAKE; |
| 2632 | 2793 | ||
| 2794 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) { | ||
| 2795 | creg_val = readl(phba->HCregaddr); | ||
| 2796 | creg_val |= (HC_R0INT_ENA << LPFC_FCP_RING); | ||
| 2797 | writel(creg_val, phba->HCregaddr); | ||
| 2798 | readl(phba->HCregaddr); /* flush */ | ||
| 2799 | } | ||
| 2800 | |||
| 2633 | retval = lpfc_sli_issue_iocb(phba, pring, piocb, 0); | 2801 | retval = lpfc_sli_issue_iocb(phba, pring, piocb, 0); |
| 2634 | if (retval == IOCB_SUCCESS) { | 2802 | if (retval == IOCB_SUCCESS) { |
| 2635 | timeout_req = timeout * HZ; | 2803 | timeout_req = timeout * HZ; |
| @@ -2663,6 +2831,13 @@ lpfc_sli_issue_iocb_wait(struct lpfc_hba * phba, | |||
| 2663 | retval = IOCB_ERROR; | 2831 | retval = IOCB_ERROR; |
| 2664 | } | 2832 | } |
| 2665 | 2833 | ||
| 2834 | if (phba->cfg_poll & DISABLE_FCP_RING_INT) { | ||
| 2835 | creg_val = readl(phba->HCregaddr); | ||
| 2836 | creg_val &= ~(HC_R0INT_ENA << LPFC_FCP_RING); | ||
| 2837 | writel(creg_val, phba->HCregaddr); | ||
| 2838 | readl(phba->HCregaddr); /* flush */ | ||
| 2839 | } | ||
| 2840 | |||
| 2666 | if (prspiocbq) | 2841 | if (prspiocbq) |
| 2667 | piocb->context2 = NULL; | 2842 | piocb->context2 = NULL; |
| 2668 | 2843 | ||
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h index 4f0466fbd5f2..fa681a934ffe 100644 --- a/drivers/scsi/lpfc/lpfc_version.h +++ b/drivers/scsi/lpfc/lpfc_version.h | |||
| @@ -18,7 +18,7 @@ | |||
| 18 | * included with this package. * | 18 | * included with this package. * |
| 19 | *******************************************************************/ | 19 | *******************************************************************/ |
| 20 | 20 | ||
| 21 | #define LPFC_DRIVER_VERSION "8.1.0" | 21 | #define LPFC_DRIVER_VERSION "8.1.1" |
| 22 | 22 | ||
| 23 | #define LPFC_DRIVER_NAME "lpfc" | 23 | #define LPFC_DRIVER_NAME "lpfc" |
| 24 | 24 | ||
diff --git a/drivers/scsi/megaraid.c b/drivers/scsi/megaraid.c index 578143e93a6f..4a6feb1e5e3d 100644 --- a/drivers/scsi/megaraid.c +++ b/drivers/scsi/megaraid.c | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | * | 2 | * |
| 3 | * Linux MegaRAID device driver | 3 | * Linux MegaRAID device driver |
| 4 | * | 4 | * |
| 5 | * Copyright © 2002 LSI Logic Corporation. | 5 | * Copyright (c) 2002 LSI Logic Corporation. |
| 6 | * | 6 | * |
| 7 | * This program is free software; you can redistribute it and/or | 7 | * This program is free software; you can redistribute it and/or |
| 8 | * modify it under the terms of the GNU General Public License | 8 | * modify it under the terms of the GNU General Public License |
| @@ -17,7 +17,8 @@ | |||
| 17 | * Copyright (c) 2003 Christoph Hellwig <hch@lst.de> | 17 | * Copyright (c) 2003 Christoph Hellwig <hch@lst.de> |
| 18 | * - new-style, hotplug-aware pci probing and scsi registration | 18 | * - new-style, hotplug-aware pci probing and scsi registration |
| 19 | * | 19 | * |
| 20 | * Version : v2.00.3 (Feb 19, 2003) - Atul Mukker <Atul.Mukker@lsil.com> | 20 | * Version : v2.00.4 Mon Nov 14 14:02:43 EST 2005 - Seokmann Ju |
| 21 | * <Seokmann.Ju@lsil.com> | ||
| 21 | * | 22 | * |
| 22 | * Description: Linux device driver for LSI Logic MegaRAID controller | 23 | * Description: Linux device driver for LSI Logic MegaRAID controller |
| 23 | * | 24 | * |
| @@ -51,10 +52,10 @@ | |||
| 51 | 52 | ||
| 52 | #include "megaraid.h" | 53 | #include "megaraid.h" |
| 53 | 54 | ||
| 54 | #define MEGARAID_MODULE_VERSION "2.00.3" | 55 | #define MEGARAID_MODULE_VERSION "2.00.4" |
| 55 | 56 | ||
| 56 | MODULE_AUTHOR ("LSI Logic Corporation"); | 57 | MODULE_AUTHOR ("sju@lsil.com"); |
| 57 | MODULE_DESCRIPTION ("LSI Logic MegaRAID driver"); | 58 | MODULE_DESCRIPTION ("LSI Logic MegaRAID legacy driver"); |
| 58 | MODULE_LICENSE ("GPL"); | 59 | MODULE_LICENSE ("GPL"); |
| 59 | MODULE_VERSION(MEGARAID_MODULE_VERSION); | 60 | MODULE_VERSION(MEGARAID_MODULE_VERSION); |
| 60 | 61 | ||
| @@ -4553,7 +4554,7 @@ mega_internal_done(Scsi_Cmnd *scmd) | |||
| 4553 | static struct scsi_host_template megaraid_template = { | 4554 | static struct scsi_host_template megaraid_template = { |
| 4554 | .module = THIS_MODULE, | 4555 | .module = THIS_MODULE, |
| 4555 | .name = "MegaRAID", | 4556 | .name = "MegaRAID", |
| 4556 | .proc_name = "megaraid", | 4557 | .proc_name = "megaraid_legacy", |
| 4557 | .info = megaraid_info, | 4558 | .info = megaraid_info, |
| 4558 | .queuecommand = megaraid_queue, | 4559 | .queuecommand = megaraid_queue, |
| 4559 | .bios_param = megaraid_biosparam, | 4560 | .bios_param = megaraid_biosparam, |
| @@ -5037,22 +5038,12 @@ megaraid_shutdown(struct pci_dev *pdev) | |||
| 5037 | } | 5038 | } |
| 5038 | 5039 | ||
| 5039 | static struct pci_device_id megaraid_pci_tbl[] = { | 5040 | static struct pci_device_id megaraid_pci_tbl[] = { |
| 5040 | {PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DISCOVERY, | ||
| 5041 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
| 5042 | {PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_PERC4_DI, | ||
| 5043 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BOARD_64BIT}, | ||
| 5044 | {PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_PERC4_QC_VERDE, | ||
| 5045 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, BOARD_64BIT}, | ||
| 5046 | {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID, | 5041 | {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID, |
| 5047 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 5042 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
| 5048 | {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2, | 5043 | {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2, |
| 5049 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 5044 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
| 5050 | {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 5051 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
| 5052 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_AMI_MEGARAID3, | 5045 | {PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_AMI_MEGARAID3, |
| 5053 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 5046 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
| 5054 | {PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 5055 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | ||
| 5056 | {0,} | 5047 | {0,} |
| 5057 | }; | 5048 | }; |
| 5058 | MODULE_DEVICE_TABLE(pci, megaraid_pci_tbl); | 5049 | MODULE_DEVICE_TABLE(pci, megaraid_pci_tbl); |
| @@ -5095,7 +5086,7 @@ static int __init megaraid_init(void) | |||
| 5095 | * First argument (major) to register_chrdev implies a dynamic | 5086 | * First argument (major) to register_chrdev implies a dynamic |
| 5096 | * major number allocation. | 5087 | * major number allocation. |
| 5097 | */ | 5088 | */ |
| 5098 | major = register_chrdev(0, "megadev", &megadev_fops); | 5089 | major = register_chrdev(0, "megadev_legacy", &megadev_fops); |
| 5099 | if (!major) { | 5090 | if (!major) { |
| 5100 | printk(KERN_WARNING | 5091 | printk(KERN_WARNING |
| 5101 | "megaraid: failed to register char device\n"); | 5092 | "megaraid: failed to register char device\n"); |
| @@ -5109,7 +5100,7 @@ static void __exit megaraid_exit(void) | |||
| 5109 | /* | 5100 | /* |
| 5110 | * Unregister the character device interface to the driver. | 5101 | * Unregister the character device interface to the driver. |
| 5111 | */ | 5102 | */ |
| 5112 | unregister_chrdev(major, "megadev"); | 5103 | unregister_chrdev(major, "megadev_legacy"); |
| 5113 | 5104 | ||
| 5114 | pci_unregister_driver(&megaraid_pci_driver); | 5105 | pci_unregister_driver(&megaraid_pci_driver); |
| 5115 | 5106 | ||
diff --git a/drivers/scsi/megaraid/Kconfig.megaraid b/drivers/scsi/megaraid/Kconfig.megaraid index 7363e12663ac..17419e30ffc8 100644 --- a/drivers/scsi/megaraid/Kconfig.megaraid +++ b/drivers/scsi/megaraid/Kconfig.megaraid | |||
| @@ -64,7 +64,6 @@ config MEGARAID_MAILBOX | |||
| 64 | To compile this driver as a module, choose M here: the | 64 | To compile this driver as a module, choose M here: the |
| 65 | module will be called megaraid_mbox | 65 | module will be called megaraid_mbox |
| 66 | 66 | ||
| 67 | if MEGARAID_NEWGEN=n | ||
| 68 | config MEGARAID_LEGACY | 67 | config MEGARAID_LEGACY |
| 69 | tristate "LSI Logic Legacy MegaRAID Driver" | 68 | tristate "LSI Logic Legacy MegaRAID Driver" |
| 70 | depends on PCI && SCSI | 69 | depends on PCI && SCSI |
| @@ -75,7 +74,6 @@ config MEGARAID_LEGACY | |||
| 75 | 74 | ||
| 76 | To compile this driver as a module, choose M here: the | 75 | To compile this driver as a module, choose M here: the |
| 77 | module will be called megaraid | 76 | module will be called megaraid |
| 78 | endif | ||
| 79 | 77 | ||
| 80 | config MEGARAID_SAS | 78 | config MEGARAID_SAS |
| 81 | tristate "LSI Logic MegaRAID SAS RAID Module" | 79 | tristate "LSI Logic MegaRAID SAS RAID Module" |
diff --git a/drivers/scsi/megaraid/megaraid_mbox.c b/drivers/scsi/megaraid/megaraid_mbox.c index 4b5d420d2f4d..d18a4bc2498c 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.c +++ b/drivers/scsi/megaraid/megaraid_mbox.c | |||
| @@ -10,12 +10,13 @@ | |||
| 10 | * 2 of the License, or (at your option) any later version. | 10 | * 2 of the License, or (at your option) any later version. |
| 11 | * | 11 | * |
| 12 | * FILE : megaraid_mbox.c | 12 | * FILE : megaraid_mbox.c |
| 13 | * Version : v2.20.4.6 (Mar 07 2005) | 13 | * Version : v2.20.4.7 (Nov 14 2005) |
| 14 | * | 14 | * |
| 15 | * Authors: | 15 | * Authors: |
| 16 | * Atul Mukker <Atul.Mukker@lsil.com> | 16 | * Atul Mukker <Atul.Mukker@lsil.com> |
| 17 | * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com> | 17 | * Sreenivas Bagalkote <Sreenivas.Bagalkote@lsil.com> |
| 18 | * Manoj Jose <Manoj.Jose@lsil.com> | 18 | * Manoj Jose <Manoj.Jose@lsil.com> |
| 19 | * Seokmann Ju <Seokmann.Ju@lsil.com> | ||
| 19 | * | 20 | * |
| 20 | * List of supported controllers | 21 | * List of supported controllers |
| 21 | * | 22 | * |
| @@ -136,7 +137,7 @@ static int wait_till_fw_empty(adapter_t *); | |||
| 136 | 137 | ||
| 137 | 138 | ||
| 138 | 139 | ||
| 139 | MODULE_AUTHOR("LSI Logic Corporation"); | 140 | MODULE_AUTHOR("sju@lsil.com"); |
| 140 | MODULE_DESCRIPTION("LSI Logic MegaRAID Mailbox Driver"); | 141 | MODULE_DESCRIPTION("LSI Logic MegaRAID Mailbox Driver"); |
| 141 | MODULE_LICENSE("GPL"); | 142 | MODULE_LICENSE("GPL"); |
| 142 | MODULE_VERSION(MEGARAID_VERSION); | 143 | MODULE_VERSION(MEGARAID_VERSION); |
| @@ -278,68 +279,14 @@ static struct pci_device_id pci_id_table_g[] = { | |||
| 278 | { | 279 | { |
| 279 | PCI_VENDOR_ID_AMI, | 280 | PCI_VENDOR_ID_AMI, |
| 280 | PCI_DEVICE_ID_AMI_MEGARAID3, | 281 | PCI_DEVICE_ID_AMI_MEGARAID3, |
| 281 | PCI_VENDOR_ID_DELL, | 282 | PCI_ANY_ID, |
| 282 | PCI_SUBSYS_ID_PERC3_QC, | 283 | PCI_ANY_ID, |
| 283 | }, | ||
| 284 | { | ||
| 285 | PCI_VENDOR_ID_AMI, | ||
| 286 | PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 287 | PCI_VENDOR_ID_DELL, | ||
| 288 | PCI_SUBSYS_ID_PERC3_DC, | ||
| 289 | }, | ||
| 290 | { | ||
| 291 | PCI_VENDOR_ID_AMI, | ||
| 292 | PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 293 | PCI_VENDOR_ID_DELL, | ||
| 294 | PCI_SUBSYS_ID_PERC3_SC, | ||
| 295 | }, | ||
| 296 | { | ||
| 297 | PCI_VENDOR_ID_AMI, | ||
| 298 | PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 299 | PCI_VENDOR_ID_AMI, | ||
| 300 | PCI_SUBSYS_ID_PERC3_SC, | ||
| 301 | }, | ||
| 302 | { | ||
| 303 | PCI_VENDOR_ID_AMI, | ||
| 304 | PCI_DEVICE_ID_AMI_MEGARAID3, | ||
| 305 | PCI_VENDOR_ID_AMI, | ||
| 306 | PCI_SUBSYS_ID_PERC3_DC, | ||
| 307 | }, | ||
| 308 | { | ||
| 309 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 310 | PCI_DEVICE_ID_MEGARAID_SCSI_320_0, | ||
| 311 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 312 | PCI_SUBSYS_ID_MEGARAID_SCSI_320_0, | ||
| 313 | }, | ||
| 314 | { | ||
| 315 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 316 | PCI_DEVICE_ID_MEGARAID_SCSI_320_1, | ||
| 317 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 318 | PCI_SUBSYS_ID_MEGARAID_SCSI_320_1, | ||
| 319 | }, | ||
| 320 | { | ||
| 321 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 322 | PCI_DEVICE_ID_MEGARAID_SCSI_320_2, | ||
| 323 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 324 | PCI_SUBSYS_ID_MEGARAID_SCSI_320_2, | ||
| 325 | }, | ||
| 326 | { | ||
| 327 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 328 | PCI_DEVICE_ID_MEGARAID_I4_133_RAID, | ||
| 329 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 330 | PCI_SUBSYS_ID_MEGARAID_I4_133_RAID, | ||
| 331 | }, | ||
| 332 | { | ||
| 333 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 334 | PCI_DEVICE_ID_MEGARAID_SATA_150_4, | ||
| 335 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 336 | PCI_SUBSYS_ID_MEGARAID_SATA_150_4, | ||
| 337 | }, | 284 | }, |
| 338 | { | 285 | { |
| 339 | PCI_VENDOR_ID_LSI_LOGIC, | 286 | PCI_VENDOR_ID_LSI_LOGIC, |
| 340 | PCI_DEVICE_ID_MEGARAID_SATA_150_6, | 287 | PCI_DEVICE_ID_AMI_MEGARAID3, |
| 341 | PCI_VENDOR_ID_LSI_LOGIC, | 288 | PCI_ANY_ID, |
| 342 | PCI_SUBSYS_ID_MEGARAID_SATA_150_6, | 289 | PCI_ANY_ID, |
| 343 | }, | 290 | }, |
| 344 | { | 291 | { |
| 345 | PCI_VENDOR_ID_LSI_LOGIC, | 292 | PCI_VENDOR_ID_LSI_LOGIC, |
| @@ -347,18 +294,6 @@ static struct pci_device_id pci_id_table_g[] = { | |||
| 347 | PCI_ANY_ID, | 294 | PCI_ANY_ID, |
| 348 | PCI_ANY_ID, | 295 | PCI_ANY_ID, |
| 349 | }, | 296 | }, |
| 350 | { | ||
| 351 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 352 | PCI_DEVICE_ID_INTEL_RAID_SRCS16, | ||
| 353 | PCI_VENDOR_ID_INTEL, | ||
| 354 | PCI_SUBSYS_ID_INTEL_RAID_SRCS16, | ||
| 355 | }, | ||
| 356 | { | ||
| 357 | PCI_VENDOR_ID_LSI_LOGIC, | ||
| 358 | PCI_DEVICE_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK, | ||
| 359 | PCI_VENDOR_ID_INTEL, | ||
| 360 | PCI_SUBSYS_ID_INTEL_RAID_SRCU41L_LAKE_SHETEK, | ||
| 361 | }, | ||
| 362 | {0} /* Terminating entry */ | 297 | {0} /* Terminating entry */ |
| 363 | }; | 298 | }; |
| 364 | MODULE_DEVICE_TABLE(pci, pci_id_table_g); | 299 | MODULE_DEVICE_TABLE(pci, pci_id_table_g); |
| @@ -2985,6 +2920,7 @@ mbox_post_sync_cmd_fast(adapter_t *adapter, uint8_t raw_mbox[]) | |||
| 2985 | 2920 | ||
| 2986 | for (i = 0; i < 0xFFFFF; i++) { | 2921 | for (i = 0; i < 0xFFFFF; i++) { |
| 2987 | if (mbox->numstatus != 0xFF) break; | 2922 | if (mbox->numstatus != 0xFF) break; |
| 2923 | rmb(); | ||
| 2988 | } | 2924 | } |
| 2989 | 2925 | ||
| 2990 | if (i == 0xFFFFF) { | 2926 | if (i == 0xFFFFF) { |
diff --git a/drivers/scsi/megaraid/megaraid_mbox.h b/drivers/scsi/megaraid/megaraid_mbox.h index 644b91bdb028..882fb1a0b575 100644 --- a/drivers/scsi/megaraid/megaraid_mbox.h +++ b/drivers/scsi/megaraid/megaraid_mbox.h | |||
| @@ -21,8 +21,8 @@ | |||
| 21 | #include "megaraid_ioctl.h" | 21 | #include "megaraid_ioctl.h" |
| 22 | 22 | ||
| 23 | 23 | ||
| 24 | #define MEGARAID_VERSION "2.20.4.6" | 24 | #define MEGARAID_VERSION "2.20.4.7" |
| 25 | #define MEGARAID_EXT_VERSION "(Release Date: Mon Mar 07 12:27:22 EST 2005)" | 25 | #define MEGARAID_EXT_VERSION "(Release Date: Mon Nov 14 12:27:22 EST 2005)" |
| 26 | 26 | ||
| 27 | 27 | ||
| 28 | /* | 28 | /* |
diff --git a/drivers/scsi/ncr53c8xx.c b/drivers/scsi/ncr53c8xx.c index 243470936fab..32350707b940 100644 --- a/drivers/scsi/ncr53c8xx.c +++ b/drivers/scsi/ncr53c8xx.c | |||
| @@ -131,7 +131,739 @@ | |||
| 131 | #define NAME53C "ncr53c" | 131 | #define NAME53C "ncr53c" |
| 132 | #define NAME53C8XX "ncr53c8xx" | 132 | #define NAME53C8XX "ncr53c8xx" |
| 133 | 133 | ||
| 134 | #include "sym53c8xx_comm.h" | 134 | |
| 135 | /*========================================================== | ||
| 136 | ** | ||
| 137 | ** Debugging tags | ||
| 138 | ** | ||
| 139 | **========================================================== | ||
| 140 | */ | ||
| 141 | |||
| 142 | #define DEBUG_ALLOC (0x0001) | ||
| 143 | #define DEBUG_PHASE (0x0002) | ||
| 144 | #define DEBUG_QUEUE (0x0008) | ||
| 145 | #define DEBUG_RESULT (0x0010) | ||
| 146 | #define DEBUG_POINTER (0x0020) | ||
| 147 | #define DEBUG_SCRIPT (0x0040) | ||
| 148 | #define DEBUG_TINY (0x0080) | ||
| 149 | #define DEBUG_TIMING (0x0100) | ||
| 150 | #define DEBUG_NEGO (0x0200) | ||
| 151 | #define DEBUG_TAGS (0x0400) | ||
| 152 | #define DEBUG_SCATTER (0x0800) | ||
| 153 | #define DEBUG_IC (0x1000) | ||
| 154 | |||
| 155 | /* | ||
| 156 | ** Enable/Disable debug messages. | ||
| 157 | ** Can be changed at runtime too. | ||
| 158 | */ | ||
| 159 | |||
| 160 | #ifdef SCSI_NCR_DEBUG_INFO_SUPPORT | ||
| 161 | static int ncr_debug = SCSI_NCR_DEBUG_FLAGS; | ||
| 162 | #define DEBUG_FLAGS ncr_debug | ||
| 163 | #else | ||
| 164 | #define DEBUG_FLAGS SCSI_NCR_DEBUG_FLAGS | ||
| 165 | #endif | ||
| 166 | |||
| 167 | static inline struct list_head *ncr_list_pop(struct list_head *head) | ||
| 168 | { | ||
| 169 | if (!list_empty(head)) { | ||
| 170 | struct list_head *elem = head->next; | ||
| 171 | |||
| 172 | list_del(elem); | ||
| 173 | return elem; | ||
| 174 | } | ||
| 175 | |||
| 176 | return NULL; | ||
| 177 | } | ||
| 178 | |||
| 179 | /*========================================================== | ||
| 180 | ** | ||
| 181 | ** Simple power of two buddy-like allocator. | ||
| 182 | ** | ||
| 183 | ** This simple code is not intended to be fast, but to | ||
| 184 | ** provide power of 2 aligned memory allocations. | ||
| 185 | ** Since the SCRIPTS processor only supplies 8 bit | ||
| 186 | ** arithmetic, this allocator allows simple and fast | ||
| 187 | ** address calculations from the SCRIPTS code. | ||
| 188 | ** In addition, cache line alignment is guaranteed for | ||
| 189 | ** power of 2 cache line size. | ||
| 190 | ** Enhanced in linux-2.3.44 to provide a memory pool | ||
| 191 | ** per pcidev to support dynamic dma mapping. (I would | ||
| 192 | ** have preferred a real bus astraction, btw). | ||
| 193 | ** | ||
| 194 | **========================================================== | ||
| 195 | */ | ||
| 196 | |||
| 197 | #define MEMO_SHIFT 4 /* 16 bytes minimum memory chunk */ | ||
| 198 | #if PAGE_SIZE >= 8192 | ||
| 199 | #define MEMO_PAGE_ORDER 0 /* 1 PAGE maximum */ | ||
| 200 | #else | ||
| 201 | #define MEMO_PAGE_ORDER 1 /* 2 PAGES maximum */ | ||
| 202 | #endif | ||
| 203 | #define MEMO_FREE_UNUSED /* Free unused pages immediately */ | ||
| 204 | #define MEMO_WARN 1 | ||
| 205 | #define MEMO_GFP_FLAGS GFP_ATOMIC | ||
| 206 | #define MEMO_CLUSTER_SHIFT (PAGE_SHIFT+MEMO_PAGE_ORDER) | ||
| 207 | #define MEMO_CLUSTER_SIZE (1UL << MEMO_CLUSTER_SHIFT) | ||
| 208 | #define MEMO_CLUSTER_MASK (MEMO_CLUSTER_SIZE-1) | ||
| 209 | |||
| 210 | typedef u_long m_addr_t; /* Enough bits to bit-hack addresses */ | ||
| 211 | typedef struct device *m_bush_t; /* Something that addresses DMAable */ | ||
| 212 | |||
| 213 | typedef struct m_link { /* Link between free memory chunks */ | ||
| 214 | struct m_link *next; | ||
| 215 | } m_link_s; | ||
| 216 | |||
| 217 | typedef struct m_vtob { /* Virtual to Bus address translation */ | ||
| 218 | struct m_vtob *next; | ||
| 219 | m_addr_t vaddr; | ||
| 220 | m_addr_t baddr; | ||
| 221 | } m_vtob_s; | ||
| 222 | #define VTOB_HASH_SHIFT 5 | ||
| 223 | #define VTOB_HASH_SIZE (1UL << VTOB_HASH_SHIFT) | ||
| 224 | #define VTOB_HASH_MASK (VTOB_HASH_SIZE-1) | ||
| 225 | #define VTOB_HASH_CODE(m) \ | ||
| 226 | ((((m_addr_t) (m)) >> MEMO_CLUSTER_SHIFT) & VTOB_HASH_MASK) | ||
| 227 | |||
| 228 | typedef struct m_pool { /* Memory pool of a given kind */ | ||
| 229 | m_bush_t bush; | ||
| 230 | m_addr_t (*getp)(struct m_pool *); | ||
| 231 | void (*freep)(struct m_pool *, m_addr_t); | ||
| 232 | int nump; | ||
| 233 | m_vtob_s *(vtob[VTOB_HASH_SIZE]); | ||
| 234 | struct m_pool *next; | ||
| 235 | struct m_link h[PAGE_SHIFT-MEMO_SHIFT+MEMO_PAGE_ORDER+1]; | ||
| 236 | } m_pool_s; | ||
| 237 | |||
| 238 | static void *___m_alloc(m_pool_s *mp, int size) | ||
| 239 | { | ||
| 240 | int i = 0; | ||
| 241 | int s = (1 << MEMO_SHIFT); | ||
| 242 | int j; | ||
| 243 | m_addr_t a; | ||
| 244 | m_link_s *h = mp->h; | ||
| 245 | |||
| 246 | if (size > (PAGE_SIZE << MEMO_PAGE_ORDER)) | ||
| 247 | return NULL; | ||
| 248 | |||
| 249 | while (size > s) { | ||
| 250 | s <<= 1; | ||
| 251 | ++i; | ||
| 252 | } | ||
| 253 | |||
| 254 | j = i; | ||
| 255 | while (!h[j].next) { | ||
| 256 | if (s == (PAGE_SIZE << MEMO_PAGE_ORDER)) { | ||
| 257 | h[j].next = (m_link_s *)mp->getp(mp); | ||
| 258 | if (h[j].next) | ||
| 259 | h[j].next->next = NULL; | ||
| 260 | break; | ||
| 261 | } | ||
| 262 | ++j; | ||
| 263 | s <<= 1; | ||
| 264 | } | ||
| 265 | a = (m_addr_t) h[j].next; | ||
| 266 | if (a) { | ||
| 267 | h[j].next = h[j].next->next; | ||
| 268 | while (j > i) { | ||
| 269 | j -= 1; | ||
| 270 | s >>= 1; | ||
| 271 | h[j].next = (m_link_s *) (a+s); | ||
| 272 | h[j].next->next = NULL; | ||
| 273 | } | ||
| 274 | } | ||
| 275 | #ifdef DEBUG | ||
| 276 | printk("___m_alloc(%d) = %p\n", size, (void *) a); | ||
| 277 | #endif | ||
| 278 | return (void *) a; | ||
| 279 | } | ||
| 280 | |||
| 281 | static void ___m_free(m_pool_s *mp, void *ptr, int size) | ||
| 282 | { | ||
| 283 | int i = 0; | ||
| 284 | int s = (1 << MEMO_SHIFT); | ||
| 285 | m_link_s *q; | ||
| 286 | m_addr_t a, b; | ||
| 287 | m_link_s *h = mp->h; | ||
| 288 | |||
| 289 | #ifdef DEBUG | ||
| 290 | printk("___m_free(%p, %d)\n", ptr, size); | ||
| 291 | #endif | ||
| 292 | |||
| 293 | if (size > (PAGE_SIZE << MEMO_PAGE_ORDER)) | ||
| 294 | return; | ||
| 295 | |||
| 296 | while (size > s) { | ||
| 297 | s <<= 1; | ||
| 298 | ++i; | ||
| 299 | } | ||
| 300 | |||
| 301 | a = (m_addr_t) ptr; | ||
| 302 | |||
| 303 | while (1) { | ||
| 304 | #ifdef MEMO_FREE_UNUSED | ||
| 305 | if (s == (PAGE_SIZE << MEMO_PAGE_ORDER)) { | ||
| 306 | mp->freep(mp, a); | ||
| 307 | break; | ||
| 308 | } | ||
| 309 | #endif | ||
| 310 | b = a ^ s; | ||
| 311 | q = &h[i]; | ||
| 312 | while (q->next && q->next != (m_link_s *) b) { | ||
| 313 | q = q->next; | ||
| 314 | } | ||
| 315 | if (!q->next) { | ||
| 316 | ((m_link_s *) a)->next = h[i].next; | ||
| 317 | h[i].next = (m_link_s *) a; | ||
| 318 | break; | ||
| 319 | } | ||
| 320 | q->next = q->next->next; | ||
| 321 | a = a & b; | ||
| 322 | s <<= 1; | ||
| 323 | ++i; | ||
| 324 | } | ||
| 325 | } | ||
| 326 | |||
| 327 | static DEFINE_SPINLOCK(ncr53c8xx_lock); | ||
| 328 | |||
| 329 | static void *__m_calloc2(m_pool_s *mp, int size, char *name, int uflags) | ||
| 330 | { | ||
| 331 | void *p; | ||
| 332 | |||
| 333 | p = ___m_alloc(mp, size); | ||
| 334 | |||
| 335 | if (DEBUG_FLAGS & DEBUG_ALLOC) | ||
| 336 | printk ("new %-10s[%4d] @%p.\n", name, size, p); | ||
| 337 | |||
| 338 | if (p) | ||
| 339 | memset(p, 0, size); | ||
| 340 | else if (uflags & MEMO_WARN) | ||
| 341 | printk (NAME53C8XX ": failed to allocate %s[%d]\n", name, size); | ||
| 342 | |||
| 343 | return p; | ||
| 344 | } | ||
| 345 | |||
| 346 | #define __m_calloc(mp, s, n) __m_calloc2(mp, s, n, MEMO_WARN) | ||
| 347 | |||
| 348 | static void __m_free(m_pool_s *mp, void *ptr, int size, char *name) | ||
| 349 | { | ||
| 350 | if (DEBUG_FLAGS & DEBUG_ALLOC) | ||
| 351 | printk ("freeing %-10s[%4d] @%p.\n", name, size, ptr); | ||
| 352 | |||
| 353 | ___m_free(mp, ptr, size); | ||
| 354 | |||
| 355 | } | ||
| 356 | |||
| 357 | /* | ||
| 358 | * With pci bus iommu support, we use a default pool of unmapped memory | ||
| 359 | * for memory we donnot need to DMA from/to and one pool per pcidev for | ||
| 360 | * memory accessed by the PCI chip. `mp0' is the default not DMAable pool. | ||
| 361 | */ | ||
| 362 | |||
| 363 | static m_addr_t ___mp0_getp(m_pool_s *mp) | ||
| 364 | { | ||
| 365 | m_addr_t m = __get_free_pages(MEMO_GFP_FLAGS, MEMO_PAGE_ORDER); | ||
| 366 | if (m) | ||
| 367 | ++mp->nump; | ||
| 368 | return m; | ||
| 369 | } | ||
| 370 | |||
| 371 | static void ___mp0_freep(m_pool_s *mp, m_addr_t m) | ||
| 372 | { | ||
| 373 | free_pages(m, MEMO_PAGE_ORDER); | ||
| 374 | --mp->nump; | ||
| 375 | } | ||
| 376 | |||
| 377 | static m_pool_s mp0 = {NULL, ___mp0_getp, ___mp0_freep}; | ||
| 378 | |||
| 379 | /* | ||
| 380 | * DMAable pools. | ||
| 381 | */ | ||
| 382 | |||
| 383 | /* | ||
| 384 | * With pci bus iommu support, we maintain one pool per pcidev and a | ||
| 385 | * hashed reverse table for virtual to bus physical address translations. | ||
| 386 | */ | ||
| 387 | static m_addr_t ___dma_getp(m_pool_s *mp) | ||
| 388 | { | ||
| 389 | m_addr_t vp; | ||
| 390 | m_vtob_s *vbp; | ||
| 391 | |||
| 392 | vbp = __m_calloc(&mp0, sizeof(*vbp), "VTOB"); | ||
| 393 | if (vbp) { | ||
| 394 | dma_addr_t daddr; | ||
| 395 | vp = (m_addr_t) dma_alloc_coherent(mp->bush, | ||
| 396 | PAGE_SIZE<<MEMO_PAGE_ORDER, | ||
| 397 | &daddr, GFP_ATOMIC); | ||
| 398 | if (vp) { | ||
| 399 | int hc = VTOB_HASH_CODE(vp); | ||
| 400 | vbp->vaddr = vp; | ||
| 401 | vbp->baddr = daddr; | ||
| 402 | vbp->next = mp->vtob[hc]; | ||
| 403 | mp->vtob[hc] = vbp; | ||
| 404 | ++mp->nump; | ||
| 405 | return vp; | ||
| 406 | } | ||
| 407 | } | ||
| 408 | if (vbp) | ||
| 409 | __m_free(&mp0, vbp, sizeof(*vbp), "VTOB"); | ||
| 410 | return 0; | ||
| 411 | } | ||
| 412 | |||
| 413 | static void ___dma_freep(m_pool_s *mp, m_addr_t m) | ||
| 414 | { | ||
| 415 | m_vtob_s **vbpp, *vbp; | ||
| 416 | int hc = VTOB_HASH_CODE(m); | ||
| 417 | |||
| 418 | vbpp = &mp->vtob[hc]; | ||
| 419 | while (*vbpp && (*vbpp)->vaddr != m) | ||
| 420 | vbpp = &(*vbpp)->next; | ||
| 421 | if (*vbpp) { | ||
| 422 | vbp = *vbpp; | ||
| 423 | *vbpp = (*vbpp)->next; | ||
| 424 | dma_free_coherent(mp->bush, PAGE_SIZE<<MEMO_PAGE_ORDER, | ||
| 425 | (void *)vbp->vaddr, (dma_addr_t)vbp->baddr); | ||
| 426 | __m_free(&mp0, vbp, sizeof(*vbp), "VTOB"); | ||
| 427 | --mp->nump; | ||
| 428 | } | ||
| 429 | } | ||
| 430 | |||
| 431 | static inline m_pool_s *___get_dma_pool(m_bush_t bush) | ||
| 432 | { | ||
| 433 | m_pool_s *mp; | ||
| 434 | for (mp = mp0.next; mp && mp->bush != bush; mp = mp->next); | ||
| 435 | return mp; | ||
| 436 | } | ||
| 437 | |||
| 438 | static m_pool_s *___cre_dma_pool(m_bush_t bush) | ||
| 439 | { | ||
| 440 | m_pool_s *mp; | ||
| 441 | mp = __m_calloc(&mp0, sizeof(*mp), "MPOOL"); | ||
| 442 | if (mp) { | ||
| 443 | memset(mp, 0, sizeof(*mp)); | ||
| 444 | mp->bush = bush; | ||
| 445 | mp->getp = ___dma_getp; | ||
| 446 | mp->freep = ___dma_freep; | ||
| 447 | mp->next = mp0.next; | ||
| 448 | mp0.next = mp; | ||
| 449 | } | ||
| 450 | return mp; | ||
| 451 | } | ||
| 452 | |||
| 453 | static void ___del_dma_pool(m_pool_s *p) | ||
| 454 | { | ||
| 455 | struct m_pool **pp = &mp0.next; | ||
| 456 | |||
| 457 | while (*pp && *pp != p) | ||
| 458 | pp = &(*pp)->next; | ||
| 459 | if (*pp) { | ||
| 460 | *pp = (*pp)->next; | ||
| 461 | __m_free(&mp0, p, sizeof(*p), "MPOOL"); | ||
| 462 | } | ||
| 463 | } | ||
| 464 | |||
| 465 | static void *__m_calloc_dma(m_bush_t bush, int size, char *name) | ||
| 466 | { | ||
| 467 | u_long flags; | ||
| 468 | struct m_pool *mp; | ||
| 469 | void *m = NULL; | ||
| 470 | |||
| 471 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 472 | mp = ___get_dma_pool(bush); | ||
| 473 | if (!mp) | ||
| 474 | mp = ___cre_dma_pool(bush); | ||
| 475 | if (mp) | ||
| 476 | m = __m_calloc(mp, size, name); | ||
| 477 | if (mp && !mp->nump) | ||
| 478 | ___del_dma_pool(mp); | ||
| 479 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 480 | |||
| 481 | return m; | ||
| 482 | } | ||
| 483 | |||
| 484 | static void __m_free_dma(m_bush_t bush, void *m, int size, char *name) | ||
| 485 | { | ||
| 486 | u_long flags; | ||
| 487 | struct m_pool *mp; | ||
| 488 | |||
| 489 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 490 | mp = ___get_dma_pool(bush); | ||
| 491 | if (mp) | ||
| 492 | __m_free(mp, m, size, name); | ||
| 493 | if (mp && !mp->nump) | ||
| 494 | ___del_dma_pool(mp); | ||
| 495 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 496 | } | ||
| 497 | |||
| 498 | static m_addr_t __vtobus(m_bush_t bush, void *m) | ||
| 499 | { | ||
| 500 | u_long flags; | ||
| 501 | m_pool_s *mp; | ||
| 502 | int hc = VTOB_HASH_CODE(m); | ||
| 503 | m_vtob_s *vp = NULL; | ||
| 504 | m_addr_t a = ((m_addr_t) m) & ~MEMO_CLUSTER_MASK; | ||
| 505 | |||
| 506 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 507 | mp = ___get_dma_pool(bush); | ||
| 508 | if (mp) { | ||
| 509 | vp = mp->vtob[hc]; | ||
| 510 | while (vp && (m_addr_t) vp->vaddr != a) | ||
| 511 | vp = vp->next; | ||
| 512 | } | ||
| 513 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 514 | return vp ? vp->baddr + (((m_addr_t) m) - a) : 0; | ||
| 515 | } | ||
| 516 | |||
| 517 | #define _m_calloc_dma(np, s, n) __m_calloc_dma(np->dev, s, n) | ||
| 518 | #define _m_free_dma(np, p, s, n) __m_free_dma(np->dev, p, s, n) | ||
| 519 | #define m_calloc_dma(s, n) _m_calloc_dma(np, s, n) | ||
| 520 | #define m_free_dma(p, s, n) _m_free_dma(np, p, s, n) | ||
| 521 | #define _vtobus(np, p) __vtobus(np->dev, p) | ||
| 522 | #define vtobus(p) _vtobus(np, p) | ||
| 523 | |||
| 524 | /* | ||
| 525 | * Deal with DMA mapping/unmapping. | ||
| 526 | */ | ||
| 527 | |||
| 528 | /* To keep track of the dma mapping (sg/single) that has been set */ | ||
| 529 | #define __data_mapped SCp.phase | ||
| 530 | #define __data_mapping SCp.have_data_in | ||
| 531 | |||
| 532 | static void __unmap_scsi_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 533 | { | ||
| 534 | switch(cmd->__data_mapped) { | ||
| 535 | case 2: | ||
| 536 | dma_unmap_sg(dev, cmd->buffer, cmd->use_sg, | ||
| 537 | cmd->sc_data_direction); | ||
| 538 | break; | ||
| 539 | case 1: | ||
| 540 | dma_unmap_single(dev, cmd->__data_mapping, | ||
| 541 | cmd->request_bufflen, | ||
| 542 | cmd->sc_data_direction); | ||
| 543 | break; | ||
| 544 | } | ||
| 545 | cmd->__data_mapped = 0; | ||
| 546 | } | ||
| 547 | |||
| 548 | static u_long __map_scsi_single_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 549 | { | ||
| 550 | dma_addr_t mapping; | ||
| 551 | |||
| 552 | if (cmd->request_bufflen == 0) | ||
| 553 | return 0; | ||
| 554 | |||
| 555 | mapping = dma_map_single(dev, cmd->request_buffer, | ||
| 556 | cmd->request_bufflen, | ||
| 557 | cmd->sc_data_direction); | ||
| 558 | cmd->__data_mapped = 1; | ||
| 559 | cmd->__data_mapping = mapping; | ||
| 560 | |||
| 561 | return mapping; | ||
| 562 | } | ||
| 563 | |||
| 564 | static int __map_scsi_sg_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 565 | { | ||
| 566 | int use_sg; | ||
| 567 | |||
| 568 | if (cmd->use_sg == 0) | ||
| 569 | return 0; | ||
| 570 | |||
| 571 | use_sg = dma_map_sg(dev, cmd->buffer, cmd->use_sg, | ||
| 572 | cmd->sc_data_direction); | ||
| 573 | cmd->__data_mapped = 2; | ||
| 574 | cmd->__data_mapping = use_sg; | ||
| 575 | |||
| 576 | return use_sg; | ||
| 577 | } | ||
| 578 | |||
| 579 | #define unmap_scsi_data(np, cmd) __unmap_scsi_data(np->dev, cmd) | ||
| 580 | #define map_scsi_single_data(np, cmd) __map_scsi_single_data(np->dev, cmd) | ||
| 581 | #define map_scsi_sg_data(np, cmd) __map_scsi_sg_data(np->dev, cmd) | ||
| 582 | |||
| 583 | /*========================================================== | ||
| 584 | ** | ||
| 585 | ** Driver setup. | ||
| 586 | ** | ||
| 587 | ** This structure is initialized from linux config | ||
| 588 | ** options. It can be overridden at boot-up by the boot | ||
| 589 | ** command line. | ||
| 590 | ** | ||
| 591 | **========================================================== | ||
| 592 | */ | ||
| 593 | static struct ncr_driver_setup | ||
| 594 | driver_setup = SCSI_NCR_DRIVER_SETUP; | ||
| 595 | |||
| 596 | #ifdef SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 597 | static struct ncr_driver_setup | ||
| 598 | driver_safe_setup __initdata = SCSI_NCR_DRIVER_SAFE_SETUP; | ||
| 599 | #endif | ||
| 600 | |||
| 601 | #define initverbose (driver_setup.verbose) | ||
| 602 | #define bootverbose (np->verbose) | ||
| 603 | |||
| 604 | |||
| 605 | /*=================================================================== | ||
| 606 | ** | ||
| 607 | ** Driver setup from the boot command line | ||
| 608 | ** | ||
| 609 | **=================================================================== | ||
| 610 | */ | ||
| 611 | |||
| 612 | #ifdef MODULE | ||
| 613 | #define ARG_SEP ' ' | ||
| 614 | #else | ||
| 615 | #define ARG_SEP ',' | ||
| 616 | #endif | ||
| 617 | |||
| 618 | #define OPT_TAGS 1 | ||
| 619 | #define OPT_MASTER_PARITY 2 | ||
| 620 | #define OPT_SCSI_PARITY 3 | ||
| 621 | #define OPT_DISCONNECTION 4 | ||
| 622 | #define OPT_SPECIAL_FEATURES 5 | ||
| 623 | #define OPT_UNUSED_1 6 | ||
| 624 | #define OPT_FORCE_SYNC_NEGO 7 | ||
| 625 | #define OPT_REVERSE_PROBE 8 | ||
| 626 | #define OPT_DEFAULT_SYNC 9 | ||
| 627 | #define OPT_VERBOSE 10 | ||
| 628 | #define OPT_DEBUG 11 | ||
| 629 | #define OPT_BURST_MAX 12 | ||
| 630 | #define OPT_LED_PIN 13 | ||
| 631 | #define OPT_MAX_WIDE 14 | ||
| 632 | #define OPT_SETTLE_DELAY 15 | ||
| 633 | #define OPT_DIFF_SUPPORT 16 | ||
| 634 | #define OPT_IRQM 17 | ||
| 635 | #define OPT_PCI_FIX_UP 18 | ||
| 636 | #define OPT_BUS_CHECK 19 | ||
| 637 | #define OPT_OPTIMIZE 20 | ||
| 638 | #define OPT_RECOVERY 21 | ||
| 639 | #define OPT_SAFE_SETUP 22 | ||
| 640 | #define OPT_USE_NVRAM 23 | ||
| 641 | #define OPT_EXCLUDE 24 | ||
| 642 | #define OPT_HOST_ID 25 | ||
| 643 | |||
| 644 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 645 | #define OPT_IARB 26 | ||
| 646 | #endif | ||
| 647 | |||
| 648 | static char setup_token[] __initdata = | ||
| 649 | "tags:" "mpar:" | ||
| 650 | "spar:" "disc:" | ||
| 651 | "specf:" "ultra:" | ||
| 652 | "fsn:" "revprob:" | ||
| 653 | "sync:" "verb:" | ||
| 654 | "debug:" "burst:" | ||
| 655 | "led:" "wide:" | ||
| 656 | "settle:" "diff:" | ||
| 657 | "irqm:" "pcifix:" | ||
| 658 | "buschk:" "optim:" | ||
| 659 | "recovery:" | ||
| 660 | "safe:" "nvram:" | ||
| 661 | "excl:" "hostid:" | ||
| 662 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 663 | "iarb:" | ||
| 664 | #endif | ||
| 665 | ; /* DONNOT REMOVE THIS ';' */ | ||
| 666 | |||
| 667 | #ifdef MODULE | ||
| 668 | #define ARG_SEP ' ' | ||
| 669 | #else | ||
| 670 | #define ARG_SEP ',' | ||
| 671 | #endif | ||
| 672 | |||
| 673 | static int __init get_setup_token(char *p) | ||
| 674 | { | ||
| 675 | char *cur = setup_token; | ||
| 676 | char *pc; | ||
| 677 | int i = 0; | ||
| 678 | |||
| 679 | while (cur != NULL && (pc = strchr(cur, ':')) != NULL) { | ||
| 680 | ++pc; | ||
| 681 | ++i; | ||
| 682 | if (!strncmp(p, cur, pc - cur)) | ||
| 683 | return i; | ||
| 684 | cur = pc; | ||
| 685 | } | ||
| 686 | return 0; | ||
| 687 | } | ||
| 688 | |||
| 689 | |||
| 690 | static int __init sym53c8xx__setup(char *str) | ||
| 691 | { | ||
| 692 | #ifdef SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 693 | char *cur = str; | ||
| 694 | char *pc, *pv; | ||
| 695 | int i, val, c; | ||
| 696 | int xi = 0; | ||
| 697 | |||
| 698 | while (cur != NULL && (pc = strchr(cur, ':')) != NULL) { | ||
| 699 | char *pe; | ||
| 700 | |||
| 701 | val = 0; | ||
| 702 | pv = pc; | ||
| 703 | c = *++pv; | ||
| 704 | |||
| 705 | if (c == 'n') | ||
| 706 | val = 0; | ||
| 707 | else if (c == 'y') | ||
| 708 | val = 1; | ||
| 709 | else | ||
| 710 | val = (int) simple_strtoul(pv, &pe, 0); | ||
| 711 | |||
| 712 | switch (get_setup_token(cur)) { | ||
| 713 | case OPT_TAGS: | ||
| 714 | driver_setup.default_tags = val; | ||
| 715 | if (pe && *pe == '/') { | ||
| 716 | i = 0; | ||
| 717 | while (*pe && *pe != ARG_SEP && | ||
| 718 | i < sizeof(driver_setup.tag_ctrl)-1) { | ||
| 719 | driver_setup.tag_ctrl[i++] = *pe++; | ||
| 720 | } | ||
| 721 | driver_setup.tag_ctrl[i] = '\0'; | ||
| 722 | } | ||
| 723 | break; | ||
| 724 | case OPT_MASTER_PARITY: | ||
| 725 | driver_setup.master_parity = val; | ||
| 726 | break; | ||
| 727 | case OPT_SCSI_PARITY: | ||
| 728 | driver_setup.scsi_parity = val; | ||
| 729 | break; | ||
| 730 | case OPT_DISCONNECTION: | ||
| 731 | driver_setup.disconnection = val; | ||
| 732 | break; | ||
| 733 | case OPT_SPECIAL_FEATURES: | ||
| 734 | driver_setup.special_features = val; | ||
| 735 | break; | ||
| 736 | case OPT_FORCE_SYNC_NEGO: | ||
| 737 | driver_setup.force_sync_nego = val; | ||
| 738 | break; | ||
| 739 | case OPT_REVERSE_PROBE: | ||
| 740 | driver_setup.reverse_probe = val; | ||
| 741 | break; | ||
| 742 | case OPT_DEFAULT_SYNC: | ||
| 743 | driver_setup.default_sync = val; | ||
| 744 | break; | ||
| 745 | case OPT_VERBOSE: | ||
| 746 | driver_setup.verbose = val; | ||
| 747 | break; | ||
| 748 | case OPT_DEBUG: | ||
| 749 | driver_setup.debug = val; | ||
| 750 | break; | ||
| 751 | case OPT_BURST_MAX: | ||
| 752 | driver_setup.burst_max = val; | ||
| 753 | break; | ||
| 754 | case OPT_LED_PIN: | ||
| 755 | driver_setup.led_pin = val; | ||
| 756 | break; | ||
| 757 | case OPT_MAX_WIDE: | ||
| 758 | driver_setup.max_wide = val? 1:0; | ||
| 759 | break; | ||
| 760 | case OPT_SETTLE_DELAY: | ||
| 761 | driver_setup.settle_delay = val; | ||
| 762 | break; | ||
| 763 | case OPT_DIFF_SUPPORT: | ||
| 764 | driver_setup.diff_support = val; | ||
| 765 | break; | ||
| 766 | case OPT_IRQM: | ||
| 767 | driver_setup.irqm = val; | ||
| 768 | break; | ||
| 769 | case OPT_PCI_FIX_UP: | ||
| 770 | driver_setup.pci_fix_up = val; | ||
| 771 | break; | ||
| 772 | case OPT_BUS_CHECK: | ||
| 773 | driver_setup.bus_check = val; | ||
| 774 | break; | ||
| 775 | case OPT_OPTIMIZE: | ||
| 776 | driver_setup.optimize = val; | ||
| 777 | break; | ||
| 778 | case OPT_RECOVERY: | ||
| 779 | driver_setup.recovery = val; | ||
| 780 | break; | ||
| 781 | case OPT_USE_NVRAM: | ||
| 782 | driver_setup.use_nvram = val; | ||
| 783 | break; | ||
| 784 | case OPT_SAFE_SETUP: | ||
| 785 | memcpy(&driver_setup, &driver_safe_setup, | ||
| 786 | sizeof(driver_setup)); | ||
| 787 | break; | ||
| 788 | case OPT_EXCLUDE: | ||
| 789 | if (xi < SCSI_NCR_MAX_EXCLUDES) | ||
| 790 | driver_setup.excludes[xi++] = val; | ||
| 791 | break; | ||
| 792 | case OPT_HOST_ID: | ||
| 793 | driver_setup.host_id = val; | ||
| 794 | break; | ||
| 795 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 796 | case OPT_IARB: | ||
| 797 | driver_setup.iarb = val; | ||
| 798 | break; | ||
| 799 | #endif | ||
| 800 | default: | ||
| 801 | printk("sym53c8xx_setup: unexpected boot option '%.*s' ignored\n", (int)(pc-cur+1), cur); | ||
| 802 | break; | ||
| 803 | } | ||
| 804 | |||
| 805 | if ((cur = strchr(cur, ARG_SEP)) != NULL) | ||
| 806 | ++cur; | ||
| 807 | } | ||
| 808 | #endif /* SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT */ | ||
| 809 | return 1; | ||
| 810 | } | ||
| 811 | |||
| 812 | /*=================================================================== | ||
| 813 | ** | ||
| 814 | ** Get device queue depth from boot command line. | ||
| 815 | ** | ||
| 816 | **=================================================================== | ||
| 817 | */ | ||
| 818 | #define DEF_DEPTH (driver_setup.default_tags) | ||
| 819 | #define ALL_TARGETS -2 | ||
| 820 | #define NO_TARGET -1 | ||
| 821 | #define ALL_LUNS -2 | ||
| 822 | #define NO_LUN -1 | ||
| 823 | |||
| 824 | static int device_queue_depth(int unit, int target, int lun) | ||
| 825 | { | ||
| 826 | int c, h, t, u, v; | ||
| 827 | char *p = driver_setup.tag_ctrl; | ||
| 828 | char *ep; | ||
| 829 | |||
| 830 | h = -1; | ||
| 831 | t = NO_TARGET; | ||
| 832 | u = NO_LUN; | ||
| 833 | while ((c = *p++) != 0) { | ||
| 834 | v = simple_strtoul(p, &ep, 0); | ||
| 835 | switch(c) { | ||
| 836 | case '/': | ||
| 837 | ++h; | ||
| 838 | t = ALL_TARGETS; | ||
| 839 | u = ALL_LUNS; | ||
| 840 | break; | ||
| 841 | case 't': | ||
| 842 | if (t != target) | ||
| 843 | t = (target == v) ? v : NO_TARGET; | ||
| 844 | u = ALL_LUNS; | ||
| 845 | break; | ||
| 846 | case 'u': | ||
| 847 | if (u != lun) | ||
| 848 | u = (lun == v) ? v : NO_LUN; | ||
| 849 | break; | ||
| 850 | case 'q': | ||
| 851 | if (h == unit && | ||
| 852 | (t == ALL_TARGETS || t == target) && | ||
| 853 | (u == ALL_LUNS || u == lun)) | ||
| 854 | return v; | ||
| 855 | break; | ||
| 856 | case '-': | ||
| 857 | t = ALL_TARGETS; | ||
| 858 | u = ALL_LUNS; | ||
| 859 | break; | ||
| 860 | default: | ||
| 861 | break; | ||
| 862 | } | ||
| 863 | p = ep; | ||
| 864 | } | ||
| 865 | return DEF_DEPTH; | ||
| 866 | } | ||
| 135 | 867 | ||
| 136 | 868 | ||
| 137 | /*========================================================== | 869 | /*========================================================== |
| @@ -2971,21 +3703,10 @@ struct host_data { | |||
| 2971 | 3703 | ||
| 2972 | static void ncr_print_msg(struct ccb *cp, char *label, u_char *msg) | 3704 | static void ncr_print_msg(struct ccb *cp, char *label, u_char *msg) |
| 2973 | { | 3705 | { |
| 2974 | int i; | ||
| 2975 | PRINT_ADDR(cp->cmd, "%s: ", label); | 3706 | PRINT_ADDR(cp->cmd, "%s: ", label); |
| 2976 | 3707 | ||
| 2977 | printk ("%x",*msg); | 3708 | spi_print_msg(msg); |
| 2978 | if (*msg == M_EXTENDED) { | 3709 | printk("\n"); |
| 2979 | for (i = 1; i < 8; i++) { | ||
| 2980 | if (i - 1 > msg[1]) | ||
| 2981 | break; | ||
| 2982 | printk ("-%x",msg[i]); | ||
| 2983 | } | ||
| 2984 | } else if ((*msg & 0xf0) == 0x20) { | ||
| 2985 | printk ("-%x",msg[1]); | ||
| 2986 | } | ||
| 2987 | |||
| 2988 | printk(".\n"); | ||
| 2989 | } | 3710 | } |
| 2990 | 3711 | ||
| 2991 | /*========================================================== | 3712 | /*========================================================== |
diff --git a/drivers/scsi/ncr53c8xx.h b/drivers/scsi/ncr53c8xx.h index 05c7b83cef09..6a7bef2e6118 100644 --- a/drivers/scsi/ncr53c8xx.h +++ b/drivers/scsi/ncr53c8xx.h | |||
| @@ -2,6 +2,7 @@ | |||
| 2 | ** Device driver for the PCI-SCSI NCR538XX controller family. | 2 | ** Device driver for the PCI-SCSI NCR538XX controller family. |
| 3 | ** | 3 | ** |
| 4 | ** Copyright (C) 1994 Wolfgang Stanglmeier | 4 | ** Copyright (C) 1994 Wolfgang Stanglmeier |
| 5 | ** Copyright (C) 1998-2001 Gerard Roudier <groudier@free.fr> | ||
| 5 | ** | 6 | ** |
| 6 | ** This program is free software; you can redistribute it and/or modify | 7 | ** This program is free software; you can redistribute it and/or modify |
| 7 | ** it under the terms of the GNU General Public License as published by | 8 | ** it under the terms of the GNU General Public License as published by |
| @@ -36,15 +37,1275 @@ | |||
| 36 | ** And has been ported to NetBSD by | 37 | ** And has been ported to NetBSD by |
| 37 | ** Charles M. Hannum <mycroft@gnu.ai.mit.edu> | 38 | ** Charles M. Hannum <mycroft@gnu.ai.mit.edu> |
| 38 | ** | 39 | ** |
| 40 | ** NVRAM detection and reading. | ||
| 41 | ** Copyright (C) 1997 Richard Waltham <dormouse@farsrobt.demon.co.uk> | ||
| 42 | ** | ||
| 43 | ** Added support for MIPS big endian systems. | ||
| 44 | ** Carsten Langgaard, carstenl@mips.com | ||
| 45 | ** Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. | ||
| 46 | ** | ||
| 47 | ** Added support for HP PARISC big endian systems. | ||
| 48 | ** Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. | ||
| 49 | ** | ||
| 39 | ******************************************************************************* | 50 | ******************************************************************************* |
| 40 | */ | 51 | */ |
| 41 | 52 | ||
| 42 | #ifndef NCR53C8XX_H | 53 | #ifndef NCR53C8XX_H |
| 43 | #define NCR53C8XX_H | 54 | #define NCR53C8XX_H |
| 44 | 55 | ||
| 56 | #include <linux/config.h> | ||
| 45 | #include <scsi/scsi_host.h> | 57 | #include <scsi/scsi_host.h> |
| 46 | 58 | ||
| 47 | #include "sym53c8xx_defs.h" | 59 | /* |
| 60 | ** If you want a driver as small as possible, do not define the | ||
| 61 | ** following options. | ||
| 62 | */ | ||
| 63 | #define SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 64 | #define SCSI_NCR_DEBUG_INFO_SUPPORT | ||
| 65 | |||
| 66 | /* | ||
| 67 | ** To disable integrity checking, do not define the | ||
| 68 | ** following option. | ||
| 69 | */ | ||
| 70 | #ifdef CONFIG_SCSI_NCR53C8XX_INTEGRITY_CHECK | ||
| 71 | # define SCSI_NCR_ENABLE_INTEGRITY_CHECK | ||
| 72 | #endif | ||
| 73 | |||
| 74 | /* --------------------------------------------------------------------- | ||
| 75 | ** Take into account kernel configured parameters. | ||
| 76 | ** Most of these options can be overridden at startup by a command line. | ||
| 77 | ** --------------------------------------------------------------------- | ||
| 78 | */ | ||
| 79 | |||
| 80 | /* | ||
| 81 | * For Ultra2 and Ultra3 SCSI support option, use special features. | ||
| 82 | * | ||
| 83 | * Value (default) means: | ||
| 84 | * bit 0 : all features enabled, except: | ||
| 85 | * bit 1 : PCI Write And Invalidate. | ||
| 86 | * bit 2 : Data Phase Mismatch handling from SCRIPTS. | ||
| 87 | * | ||
| 88 | * Use boot options ncr53c8xx=specf:1 if you want all chip features to be | ||
| 89 | * enabled by the driver. | ||
| 90 | */ | ||
| 91 | #define SCSI_NCR_SETUP_SPECIAL_FEATURES (3) | ||
| 92 | |||
| 93 | #define SCSI_NCR_MAX_SYNC (80) | ||
| 94 | |||
| 95 | /* | ||
| 96 | * Allow tags from 2 to 256, default 8 | ||
| 97 | */ | ||
| 98 | #ifdef CONFIG_SCSI_NCR53C8XX_MAX_TAGS | ||
| 99 | #if CONFIG_SCSI_NCR53C8XX_MAX_TAGS < 2 | ||
| 100 | #define SCSI_NCR_MAX_TAGS (2) | ||
| 101 | #elif CONFIG_SCSI_NCR53C8XX_MAX_TAGS > 256 | ||
| 102 | #define SCSI_NCR_MAX_TAGS (256) | ||
| 103 | #else | ||
| 104 | #define SCSI_NCR_MAX_TAGS CONFIG_SCSI_NCR53C8XX_MAX_TAGS | ||
| 105 | #endif | ||
| 106 | #else | ||
| 107 | #define SCSI_NCR_MAX_TAGS (8) | ||
| 108 | #endif | ||
| 109 | |||
| 110 | /* | ||
| 111 | * Allow tagged command queuing support if configured with default number | ||
| 112 | * of tags set to max (see above). | ||
| 113 | */ | ||
| 114 | #ifdef CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS | ||
| 115 | #define SCSI_NCR_SETUP_DEFAULT_TAGS CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS | ||
| 116 | #elif defined CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE | ||
| 117 | #define SCSI_NCR_SETUP_DEFAULT_TAGS SCSI_NCR_MAX_TAGS | ||
| 118 | #else | ||
| 119 | #define SCSI_NCR_SETUP_DEFAULT_TAGS (0) | ||
| 120 | #endif | ||
| 121 | |||
| 122 | /* | ||
| 123 | * Immediate arbitration | ||
| 124 | */ | ||
| 125 | #if defined(CONFIG_SCSI_NCR53C8XX_IARB) | ||
| 126 | #define SCSI_NCR_IARB_SUPPORT | ||
| 127 | #endif | ||
| 128 | |||
| 129 | /* | ||
| 130 | * Sync transfer frequency at startup. | ||
| 131 | * Allow from 5Mhz to 80Mhz default 20 Mhz. | ||
| 132 | */ | ||
| 133 | #ifndef CONFIG_SCSI_NCR53C8XX_SYNC | ||
| 134 | #define CONFIG_SCSI_NCR53C8XX_SYNC (20) | ||
| 135 | #elif CONFIG_SCSI_NCR53C8XX_SYNC > SCSI_NCR_MAX_SYNC | ||
| 136 | #undef CONFIG_SCSI_NCR53C8XX_SYNC | ||
| 137 | #define CONFIG_SCSI_NCR53C8XX_SYNC SCSI_NCR_MAX_SYNC | ||
| 138 | #endif | ||
| 139 | |||
| 140 | #if CONFIG_SCSI_NCR53C8XX_SYNC == 0 | ||
| 141 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (255) | ||
| 142 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 5 | ||
| 143 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (50) | ||
| 144 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 20 | ||
| 145 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (250/(CONFIG_SCSI_NCR53C8XX_SYNC)) | ||
| 146 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 33 | ||
| 147 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (11) | ||
| 148 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 40 | ||
| 149 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (10) | ||
| 150 | #else | ||
| 151 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (9) | ||
| 152 | #endif | ||
| 153 | |||
| 154 | /* | ||
| 155 | * Disallow disconnections at boot-up | ||
| 156 | */ | ||
| 157 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT | ||
| 158 | #define SCSI_NCR_SETUP_DISCONNECTION (0) | ||
| 159 | #else | ||
| 160 | #define SCSI_NCR_SETUP_DISCONNECTION (1) | ||
| 161 | #endif | ||
| 162 | |||
| 163 | /* | ||
| 164 | * Force synchronous negotiation for all targets | ||
| 165 | */ | ||
| 166 | #ifdef CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO | ||
| 167 | #define SCSI_NCR_SETUP_FORCE_SYNC_NEGO (1) | ||
| 168 | #else | ||
| 169 | #define SCSI_NCR_SETUP_FORCE_SYNC_NEGO (0) | ||
| 170 | #endif | ||
| 171 | |||
| 172 | /* | ||
| 173 | * Disable master parity checking (flawed hardwares need that) | ||
| 174 | */ | ||
| 175 | #ifdef CONFIG_SCSI_NCR53C8XX_DISABLE_MPARITY_CHECK | ||
| 176 | #define SCSI_NCR_SETUP_MASTER_PARITY (0) | ||
| 177 | #else | ||
| 178 | #define SCSI_NCR_SETUP_MASTER_PARITY (1) | ||
| 179 | #endif | ||
| 180 | |||
| 181 | /* | ||
| 182 | * Disable scsi parity checking (flawed devices may need that) | ||
| 183 | */ | ||
| 184 | #ifdef CONFIG_SCSI_NCR53C8XX_DISABLE_PARITY_CHECK | ||
| 185 | #define SCSI_NCR_SETUP_SCSI_PARITY (0) | ||
| 186 | #else | ||
| 187 | #define SCSI_NCR_SETUP_SCSI_PARITY (1) | ||
| 188 | #endif | ||
| 189 | |||
| 190 | /* | ||
| 191 | * Settle time after reset at boot-up | ||
| 192 | */ | ||
| 193 | #define SCSI_NCR_SETUP_SETTLE_TIME (2) | ||
| 194 | |||
| 195 | /* | ||
| 196 | ** Bridge quirks work-around option defaulted to 1. | ||
| 197 | */ | ||
| 198 | #ifndef SCSI_NCR_PCIQ_WORK_AROUND_OPT | ||
| 199 | #define SCSI_NCR_PCIQ_WORK_AROUND_OPT 1 | ||
| 200 | #endif | ||
| 201 | |||
| 202 | /* | ||
| 203 | ** Work-around common bridge misbehaviour. | ||
| 204 | ** | ||
| 205 | ** - Do not flush posted writes in the opposite | ||
| 206 | ** direction on read. | ||
| 207 | ** - May reorder DMA writes to memory. | ||
| 208 | ** | ||
| 209 | ** This option should not affect performances | ||
| 210 | ** significantly, so it is the default. | ||
| 211 | */ | ||
| 212 | #if SCSI_NCR_PCIQ_WORK_AROUND_OPT == 1 | ||
| 213 | #define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM | ||
| 214 | #define SCSI_NCR_PCIQ_MAY_REORDER_WRITES | ||
| 215 | #define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS | ||
| 216 | |||
| 217 | /* | ||
| 218 | ** Same as option 1, but also deal with | ||
| 219 | ** misconfigured interrupts. | ||
| 220 | ** | ||
| 221 | ** - Edge triggerred instead of level sensitive. | ||
| 222 | ** - No interrupt line connected. | ||
| 223 | ** - IRQ number misconfigured. | ||
| 224 | ** | ||
| 225 | ** If no interrupt is delivered, the driver will | ||
| 226 | ** catch the interrupt conditions 10 times per | ||
| 227 | ** second. No need to say that this option is | ||
| 228 | ** not recommended. | ||
| 229 | */ | ||
| 230 | #elif SCSI_NCR_PCIQ_WORK_AROUND_OPT == 2 | ||
| 231 | #define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM | ||
| 232 | #define SCSI_NCR_PCIQ_MAY_REORDER_WRITES | ||
| 233 | #define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS | ||
| 234 | #define SCSI_NCR_PCIQ_BROKEN_INTR | ||
| 235 | |||
| 236 | /* | ||
| 237 | ** Some bridge designers decided to flush | ||
| 238 | ** everything prior to deliver the interrupt. | ||
| 239 | ** This option tries to deal with such a | ||
| 240 | ** behaviour. | ||
| 241 | */ | ||
| 242 | #elif SCSI_NCR_PCIQ_WORK_AROUND_OPT == 3 | ||
| 243 | #define SCSI_NCR_PCIQ_SYNC_ON_INTR | ||
| 244 | #endif | ||
| 245 | |||
| 246 | /* | ||
| 247 | ** Other parameters not configurable with "make config" | ||
| 248 | ** Avoid to change these constants, unless you know what you are doing. | ||
| 249 | */ | ||
| 250 | |||
| 251 | #define SCSI_NCR_ALWAYS_SIMPLE_TAG | ||
| 252 | #define SCSI_NCR_MAX_SCATTER (127) | ||
| 253 | #define SCSI_NCR_MAX_TARGET (16) | ||
| 254 | |||
| 255 | /* | ||
| 256 | ** Compute some desirable value for CAN_QUEUE | ||
| 257 | ** and CMD_PER_LUN. | ||
| 258 | ** The driver will use lower values if these | ||
| 259 | ** ones appear to be too large. | ||
| 260 | */ | ||
| 261 | #define SCSI_NCR_CAN_QUEUE (8*SCSI_NCR_MAX_TAGS + 2*SCSI_NCR_MAX_TARGET) | ||
| 262 | #define SCSI_NCR_CMD_PER_LUN (SCSI_NCR_MAX_TAGS) | ||
| 263 | |||
| 264 | #define SCSI_NCR_SG_TABLESIZE (SCSI_NCR_MAX_SCATTER) | ||
| 265 | #define SCSI_NCR_TIMER_INTERVAL (HZ) | ||
| 266 | |||
| 267 | #if 1 /* defined CONFIG_SCSI_MULTI_LUN */ | ||
| 268 | #define SCSI_NCR_MAX_LUN (16) | ||
| 269 | #else | ||
| 270 | #define SCSI_NCR_MAX_LUN (1) | ||
| 271 | #endif | ||
| 272 | |||
| 273 | /* | ||
| 274 | * IO functions definition for big/little endian CPU support. | ||
| 275 | * For now, the NCR is only supported in little endian addressing mode, | ||
| 276 | */ | ||
| 277 | |||
| 278 | #ifdef __BIG_ENDIAN | ||
| 279 | |||
| 280 | #define inw_l2b inw | ||
| 281 | #define inl_l2b inl | ||
| 282 | #define outw_b2l outw | ||
| 283 | #define outl_b2l outl | ||
| 284 | |||
| 285 | #define readb_raw readb | ||
| 286 | #define writeb_raw writeb | ||
| 287 | |||
| 288 | #if defined(SCSI_NCR_BIG_ENDIAN) | ||
| 289 | #define readw_l2b __raw_readw | ||
| 290 | #define readl_l2b __raw_readl | ||
| 291 | #define writew_b2l __raw_writew | ||
| 292 | #define writel_b2l __raw_writel | ||
| 293 | #define readw_raw __raw_readw | ||
| 294 | #define readl_raw __raw_readl | ||
| 295 | #define writew_raw __raw_writew | ||
| 296 | #define writel_raw __raw_writel | ||
| 297 | #else /* Other big-endian */ | ||
| 298 | #define readw_l2b readw | ||
| 299 | #define readl_l2b readl | ||
| 300 | #define writew_b2l writew | ||
| 301 | #define writel_b2l writel | ||
| 302 | #define readw_raw readw | ||
| 303 | #define readl_raw readl | ||
| 304 | #define writew_raw writew | ||
| 305 | #define writel_raw writel | ||
| 306 | #endif | ||
| 307 | |||
| 308 | #else /* little endian */ | ||
| 309 | |||
| 310 | #define inw_raw inw | ||
| 311 | #define inl_raw inl | ||
| 312 | #define outw_raw outw | ||
| 313 | #define outl_raw outl | ||
| 314 | |||
| 315 | #define readb_raw readb | ||
| 316 | #define readw_raw readw | ||
| 317 | #define readl_raw readl | ||
| 318 | #define writeb_raw writeb | ||
| 319 | #define writew_raw writew | ||
| 320 | #define writel_raw writel | ||
| 321 | |||
| 322 | #endif | ||
| 323 | |||
| 324 | #if !defined(__hppa__) && !defined(__mips__) | ||
| 325 | #ifdef SCSI_NCR_BIG_ENDIAN | ||
| 326 | #error "The NCR in BIG ENDIAN addressing mode is not (yet) supported" | ||
| 327 | #endif | ||
| 328 | #endif | ||
| 329 | |||
| 330 | #define MEMORY_BARRIER() mb() | ||
| 331 | |||
| 332 | |||
| 333 | /* | ||
| 334 | * If the NCR uses big endian addressing mode over the | ||
| 335 | * PCI, actual io register addresses for byte and word | ||
| 336 | * accesses must be changed according to lane routing. | ||
| 337 | * Btw, ncr_offb() and ncr_offw() macros only apply to | ||
| 338 | * constants and so donnot generate bloated code. | ||
| 339 | */ | ||
| 340 | |||
| 341 | #if defined(SCSI_NCR_BIG_ENDIAN) | ||
| 342 | |||
| 343 | #define ncr_offb(o) (((o)&~3)+((~((o)&3))&3)) | ||
| 344 | #define ncr_offw(o) (((o)&~3)+((~((o)&3))&2)) | ||
| 345 | |||
| 346 | #else | ||
| 347 | |||
| 348 | #define ncr_offb(o) (o) | ||
| 349 | #define ncr_offw(o) (o) | ||
| 350 | |||
| 351 | #endif | ||
| 352 | |||
| 353 | /* | ||
| 354 | * If the CPU and the NCR use same endian-ness addressing, | ||
| 355 | * no byte reordering is needed for script patching. | ||
| 356 | * Macro cpu_to_scr() is to be used for script patching. | ||
| 357 | * Macro scr_to_cpu() is to be used for getting a DWORD | ||
| 358 | * from the script. | ||
| 359 | */ | ||
| 360 | |||
| 361 | #if defined(__BIG_ENDIAN) && !defined(SCSI_NCR_BIG_ENDIAN) | ||
| 362 | |||
| 363 | #define cpu_to_scr(dw) cpu_to_le32(dw) | ||
| 364 | #define scr_to_cpu(dw) le32_to_cpu(dw) | ||
| 365 | |||
| 366 | #elif defined(__LITTLE_ENDIAN) && defined(SCSI_NCR_BIG_ENDIAN) | ||
| 367 | |||
| 368 | #define cpu_to_scr(dw) cpu_to_be32(dw) | ||
| 369 | #define scr_to_cpu(dw) be32_to_cpu(dw) | ||
| 370 | |||
| 371 | #else | ||
| 372 | |||
| 373 | #define cpu_to_scr(dw) (dw) | ||
| 374 | #define scr_to_cpu(dw) (dw) | ||
| 375 | |||
| 376 | #endif | ||
| 377 | |||
| 378 | /* | ||
| 379 | * Access to the controller chip. | ||
| 380 | * | ||
| 381 | * If the CPU and the NCR use same endian-ness addressing, | ||
| 382 | * no byte reordering is needed for accessing chip io | ||
| 383 | * registers. Functions suffixed by '_raw' are assumed | ||
| 384 | * to access the chip over the PCI without doing byte | ||
| 385 | * reordering. Functions suffixed by '_l2b' are | ||
| 386 | * assumed to perform little-endian to big-endian byte | ||
| 387 | * reordering, those suffixed by '_b2l' blah, blah, | ||
| 388 | * blah, ... | ||
| 389 | */ | ||
| 390 | |||
| 391 | /* | ||
| 392 | * MEMORY mapped IO input / output | ||
| 393 | */ | ||
| 394 | |||
| 395 | #define INB_OFF(o) readb_raw((char __iomem *)np->reg + ncr_offb(o)) | ||
| 396 | #define OUTB_OFF(o, val) writeb_raw((val), (char __iomem *)np->reg + ncr_offb(o)) | ||
| 397 | |||
| 398 | #if defined(__BIG_ENDIAN) && !defined(SCSI_NCR_BIG_ENDIAN) | ||
| 399 | |||
| 400 | #define INW_OFF(o) readw_l2b((char __iomem *)np->reg + ncr_offw(o)) | ||
| 401 | #define INL_OFF(o) readl_l2b((char __iomem *)np->reg + (o)) | ||
| 402 | |||
| 403 | #define OUTW_OFF(o, val) writew_b2l((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 404 | #define OUTL_OFF(o, val) writel_b2l((val), (char __iomem *)np->reg + (o)) | ||
| 405 | |||
| 406 | #elif defined(__LITTLE_ENDIAN) && defined(SCSI_NCR_BIG_ENDIAN) | ||
| 407 | |||
| 408 | #define INW_OFF(o) readw_b2l((char __iomem *)np->reg + ncr_offw(o)) | ||
| 409 | #define INL_OFF(o) readl_b2l((char __iomem *)np->reg + (o)) | ||
| 410 | |||
| 411 | #define OUTW_OFF(o, val) writew_l2b((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 412 | #define OUTL_OFF(o, val) writel_l2b((val), (char __iomem *)np->reg + (o)) | ||
| 413 | |||
| 414 | #else | ||
| 415 | |||
| 416 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS | ||
| 417 | /* Only 8 or 32 bit transfers allowed */ | ||
| 418 | #define INW_OFF(o) (readb((char __iomem *)np->reg + ncr_offw(o)) << 8 | readb((char __iomem *)np->reg + ncr_offw(o) + 1)) | ||
| 419 | #else | ||
| 420 | #define INW_OFF(o) readw_raw((char __iomem *)np->reg + ncr_offw(o)) | ||
| 421 | #endif | ||
| 422 | #define INL_OFF(o) readl_raw((char __iomem *)np->reg + (o)) | ||
| 423 | |||
| 424 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS | ||
| 425 | /* Only 8 or 32 bit transfers allowed */ | ||
| 426 | #define OUTW_OFF(o, val) do { writeb((char)((val) >> 8), (char __iomem *)np->reg + ncr_offw(o)); writeb((char)(val), (char __iomem *)np->reg + ncr_offw(o) + 1); } while (0) | ||
| 427 | #else | ||
| 428 | #define OUTW_OFF(o, val) writew_raw((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 429 | #endif | ||
| 430 | #define OUTL_OFF(o, val) writel_raw((val), (char __iomem *)np->reg + (o)) | ||
| 431 | |||
| 432 | #endif | ||
| 433 | |||
| 434 | #define INB(r) INB_OFF (offsetof(struct ncr_reg,r)) | ||
| 435 | #define INW(r) INW_OFF (offsetof(struct ncr_reg,r)) | ||
| 436 | #define INL(r) INL_OFF (offsetof(struct ncr_reg,r)) | ||
| 437 | |||
| 438 | #define OUTB(r, val) OUTB_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 439 | #define OUTW(r, val) OUTW_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 440 | #define OUTL(r, val) OUTL_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 441 | |||
| 442 | /* | ||
| 443 | * Set bit field ON, OFF | ||
| 444 | */ | ||
| 445 | |||
| 446 | #define OUTONB(r, m) OUTB(r, INB(r) | (m)) | ||
| 447 | #define OUTOFFB(r, m) OUTB(r, INB(r) & ~(m)) | ||
| 448 | #define OUTONW(r, m) OUTW(r, INW(r) | (m)) | ||
| 449 | #define OUTOFFW(r, m) OUTW(r, INW(r) & ~(m)) | ||
| 450 | #define OUTONL(r, m) OUTL(r, INL(r) | (m)) | ||
| 451 | #define OUTOFFL(r, m) OUTL(r, INL(r) & ~(m)) | ||
| 452 | |||
| 453 | /* | ||
| 454 | * We normally want the chip to have a consistent view | ||
| 455 | * of driver internal data structures when we restart it. | ||
| 456 | * Thus these macros. | ||
| 457 | */ | ||
| 458 | #define OUTL_DSP(v) \ | ||
| 459 | do { \ | ||
| 460 | MEMORY_BARRIER(); \ | ||
| 461 | OUTL (nc_dsp, (v)); \ | ||
| 462 | } while (0) | ||
| 463 | |||
| 464 | #define OUTONB_STD() \ | ||
| 465 | do { \ | ||
| 466 | MEMORY_BARRIER(); \ | ||
| 467 | OUTONB (nc_dcntl, (STD|NOCOM)); \ | ||
| 468 | } while (0) | ||
| 469 | |||
| 470 | |||
| 471 | /* | ||
| 472 | ** NCR53C8XX devices features table. | ||
| 473 | */ | ||
| 474 | struct ncr_chip { | ||
| 475 | unsigned short revision_id; | ||
| 476 | unsigned char burst_max; /* log-base-2 of max burst */ | ||
| 477 | unsigned char offset_max; | ||
| 478 | unsigned char nr_divisor; | ||
| 479 | unsigned int features; | ||
| 480 | #define FE_LED0 (1<<0) | ||
| 481 | #define FE_WIDE (1<<1) /* Wide data transfers */ | ||
| 482 | #define FE_ULTRA (1<<2) /* Ultra speed 20Mtrans/sec */ | ||
| 483 | #define FE_DBLR (1<<4) /* Clock doubler present */ | ||
| 484 | #define FE_QUAD (1<<5) /* Clock quadrupler present */ | ||
| 485 | #define FE_ERL (1<<6) /* Enable read line */ | ||
| 486 | #define FE_CLSE (1<<7) /* Cache line size enable */ | ||
| 487 | #define FE_WRIE (1<<8) /* Write & Invalidate enable */ | ||
| 488 | #define FE_ERMP (1<<9) /* Enable read multiple */ | ||
| 489 | #define FE_BOF (1<<10) /* Burst opcode fetch */ | ||
| 490 | #define FE_DFS (1<<11) /* DMA fifo size */ | ||
| 491 | #define FE_PFEN (1<<12) /* Prefetch enable */ | ||
| 492 | #define FE_LDSTR (1<<13) /* Load/Store supported */ | ||
| 493 | #define FE_RAM (1<<14) /* On chip RAM present */ | ||
| 494 | #define FE_VARCLK (1<<15) /* SCSI clock may vary */ | ||
| 495 | #define FE_RAM8K (1<<16) /* On chip RAM sized 8Kb */ | ||
| 496 | #define FE_64BIT (1<<17) /* Have a 64-bit PCI interface */ | ||
| 497 | #define FE_IO256 (1<<18) /* Requires full 256 bytes in PCI space */ | ||
| 498 | #define FE_NOPM (1<<19) /* Scripts handles phase mismatch */ | ||
| 499 | #define FE_LEDC (1<<20) /* Hardware control of LED */ | ||
| 500 | #define FE_DIFF (1<<21) /* Support Differential SCSI */ | ||
| 501 | #define FE_66MHZ (1<<23) /* 66MHz PCI Support */ | ||
| 502 | #define FE_DAC (1<<24) /* Support DAC cycles (64 bit addressing) */ | ||
| 503 | #define FE_ISTAT1 (1<<25) /* Have ISTAT1, MBOX0, MBOX1 registers */ | ||
| 504 | #define FE_DAC_IN_USE (1<<26) /* Platform does DAC cycles */ | ||
| 505 | #define FE_EHP (1<<27) /* 720: Even host parity */ | ||
| 506 | #define FE_MUX (1<<28) /* 720: Multiplexed bus */ | ||
| 507 | #define FE_EA (1<<29) /* 720: Enable Ack */ | ||
| 508 | |||
| 509 | #define FE_CACHE_SET (FE_ERL|FE_CLSE|FE_WRIE|FE_ERMP) | ||
| 510 | #define FE_SCSI_SET (FE_WIDE|FE_ULTRA|FE_DBLR|FE_QUAD|F_CLK80) | ||
| 511 | #define FE_SPECIAL_SET (FE_CACHE_SET|FE_BOF|FE_DFS|FE_LDSTR|FE_PFEN|FE_RAM) | ||
| 512 | }; | ||
| 513 | |||
| 514 | |||
| 515 | /* | ||
| 516 | ** Driver setup structure. | ||
| 517 | ** | ||
| 518 | ** This structure is initialized from linux config options. | ||
| 519 | ** It can be overridden at boot-up by the boot command line. | ||
| 520 | */ | ||
| 521 | #define SCSI_NCR_MAX_EXCLUDES 8 | ||
| 522 | struct ncr_driver_setup { | ||
| 523 | u8 master_parity; | ||
| 524 | u8 scsi_parity; | ||
| 525 | u8 disconnection; | ||
| 526 | u8 special_features; | ||
| 527 | u8 force_sync_nego; | ||
| 528 | u8 reverse_probe; | ||
| 529 | u8 pci_fix_up; | ||
| 530 | u8 use_nvram; | ||
| 531 | u8 verbose; | ||
| 532 | u8 default_tags; | ||
| 533 | u16 default_sync; | ||
| 534 | u16 debug; | ||
| 535 | u8 burst_max; | ||
| 536 | u8 led_pin; | ||
| 537 | u8 max_wide; | ||
| 538 | u8 settle_delay; | ||
| 539 | u8 diff_support; | ||
| 540 | u8 irqm; | ||
| 541 | u8 bus_check; | ||
| 542 | u8 optimize; | ||
| 543 | u8 recovery; | ||
| 544 | u8 host_id; | ||
| 545 | u16 iarb; | ||
| 546 | u32 excludes[SCSI_NCR_MAX_EXCLUDES]; | ||
| 547 | char tag_ctrl[100]; | ||
| 548 | }; | ||
| 549 | |||
| 550 | /* | ||
| 551 | ** Initial setup. | ||
| 552 | ** Can be overriden at startup by a command line. | ||
| 553 | */ | ||
| 554 | #define SCSI_NCR_DRIVER_SETUP \ | ||
| 555 | { \ | ||
| 556 | SCSI_NCR_SETUP_MASTER_PARITY, \ | ||
| 557 | SCSI_NCR_SETUP_SCSI_PARITY, \ | ||
| 558 | SCSI_NCR_SETUP_DISCONNECTION, \ | ||
| 559 | SCSI_NCR_SETUP_SPECIAL_FEATURES, \ | ||
| 560 | SCSI_NCR_SETUP_FORCE_SYNC_NEGO, \ | ||
| 561 | 0, \ | ||
| 562 | 0, \ | ||
| 563 | 1, \ | ||
| 564 | 0, \ | ||
| 565 | SCSI_NCR_SETUP_DEFAULT_TAGS, \ | ||
| 566 | SCSI_NCR_SETUP_DEFAULT_SYNC, \ | ||
| 567 | 0x00, \ | ||
| 568 | 7, \ | ||
| 569 | 0, \ | ||
| 570 | 1, \ | ||
| 571 | SCSI_NCR_SETUP_SETTLE_TIME, \ | ||
| 572 | 0, \ | ||
| 573 | 0, \ | ||
| 574 | 1, \ | ||
| 575 | 0, \ | ||
| 576 | 0, \ | ||
| 577 | 255, \ | ||
| 578 | 0x00 \ | ||
| 579 | } | ||
| 580 | |||
| 581 | /* | ||
| 582 | ** Boot fail safe setup. | ||
| 583 | ** Override initial setup from boot command line: | ||
| 584 | ** ncr53c8xx=safe:y | ||
| 585 | */ | ||
| 586 | #define SCSI_NCR_DRIVER_SAFE_SETUP \ | ||
| 587 | { \ | ||
| 588 | 0, \ | ||
| 589 | 1, \ | ||
| 590 | 0, \ | ||
| 591 | 0, \ | ||
| 592 | 0, \ | ||
| 593 | 0, \ | ||
| 594 | 0, \ | ||
| 595 | 1, \ | ||
| 596 | 2, \ | ||
| 597 | 0, \ | ||
| 598 | 255, \ | ||
| 599 | 0x00, \ | ||
| 600 | 255, \ | ||
| 601 | 0, \ | ||
| 602 | 0, \ | ||
| 603 | 10, \ | ||
| 604 | 1, \ | ||
| 605 | 1, \ | ||
| 606 | 1, \ | ||
| 607 | 0, \ | ||
| 608 | 0, \ | ||
| 609 | 255 \ | ||
| 610 | } | ||
| 611 | |||
| 612 | /**************** ORIGINAL CONTENT of ncrreg.h from FreeBSD ******************/ | ||
| 613 | |||
| 614 | /*----------------------------------------------------------------- | ||
| 615 | ** | ||
| 616 | ** The ncr 53c810 register structure. | ||
| 617 | ** | ||
| 618 | **----------------------------------------------------------------- | ||
| 619 | */ | ||
| 620 | |||
| 621 | struct ncr_reg { | ||
| 622 | /*00*/ u8 nc_scntl0; /* full arb., ena parity, par->ATN */ | ||
| 623 | |||
| 624 | /*01*/ u8 nc_scntl1; /* no reset */ | ||
| 625 | #define ISCON 0x10 /* connected to scsi */ | ||
| 626 | #define CRST 0x08 /* force reset */ | ||
| 627 | #define IARB 0x02 /* immediate arbitration */ | ||
| 628 | |||
| 629 | /*02*/ u8 nc_scntl2; /* no disconnect expected */ | ||
| 630 | #define SDU 0x80 /* cmd: disconnect will raise error */ | ||
| 631 | #define CHM 0x40 /* sta: chained mode */ | ||
| 632 | #define WSS 0x08 /* sta: wide scsi send [W]*/ | ||
| 633 | #define WSR 0x01 /* sta: wide scsi received [W]*/ | ||
| 634 | |||
| 635 | /*03*/ u8 nc_scntl3; /* cnf system clock dependent */ | ||
| 636 | #define EWS 0x08 /* cmd: enable wide scsi [W]*/ | ||
| 637 | #define ULTRA 0x80 /* cmd: ULTRA enable */ | ||
| 638 | /* bits 0-2, 7 rsvd for C1010 */ | ||
| 639 | |||
| 640 | /*04*/ u8 nc_scid; /* cnf host adapter scsi address */ | ||
| 641 | #define RRE 0x40 /* r/w:e enable response to resel. */ | ||
| 642 | #define SRE 0x20 /* r/w:e enable response to select */ | ||
| 643 | |||
| 644 | /*05*/ u8 nc_sxfer; /* ### Sync speed and count */ | ||
| 645 | /* bits 6-7 rsvd for C1010 */ | ||
| 646 | |||
| 647 | /*06*/ u8 nc_sdid; /* ### Destination-ID */ | ||
| 648 | |||
| 649 | /*07*/ u8 nc_gpreg; /* ??? IO-Pins */ | ||
| 650 | |||
| 651 | /*08*/ u8 nc_sfbr; /* ### First byte in phase */ | ||
| 652 | |||
| 653 | /*09*/ u8 nc_socl; | ||
| 654 | #define CREQ 0x80 /* r/w: SCSI-REQ */ | ||
| 655 | #define CACK 0x40 /* r/w: SCSI-ACK */ | ||
| 656 | #define CBSY 0x20 /* r/w: SCSI-BSY */ | ||
| 657 | #define CSEL 0x10 /* r/w: SCSI-SEL */ | ||
| 658 | #define CATN 0x08 /* r/w: SCSI-ATN */ | ||
| 659 | #define CMSG 0x04 /* r/w: SCSI-MSG */ | ||
| 660 | #define CC_D 0x02 /* r/w: SCSI-C_D */ | ||
| 661 | #define CI_O 0x01 /* r/w: SCSI-I_O */ | ||
| 662 | |||
| 663 | /*0a*/ u8 nc_ssid; | ||
| 664 | |||
| 665 | /*0b*/ u8 nc_sbcl; | ||
| 666 | |||
| 667 | /*0c*/ u8 nc_dstat; | ||
| 668 | #define DFE 0x80 /* sta: dma fifo empty */ | ||
| 669 | #define MDPE 0x40 /* int: master data parity error */ | ||
| 670 | #define BF 0x20 /* int: script: bus fault */ | ||
| 671 | #define ABRT 0x10 /* int: script: command aborted */ | ||
| 672 | #define SSI 0x08 /* int: script: single step */ | ||
| 673 | #define SIR 0x04 /* int: script: interrupt instruct. */ | ||
| 674 | #define IID 0x01 /* int: script: illegal instruct. */ | ||
| 675 | |||
| 676 | /*0d*/ u8 nc_sstat0; | ||
| 677 | #define ILF 0x80 /* sta: data in SIDL register lsb */ | ||
| 678 | #define ORF 0x40 /* sta: data in SODR register lsb */ | ||
| 679 | #define OLF 0x20 /* sta: data in SODL register lsb */ | ||
| 680 | #define AIP 0x10 /* sta: arbitration in progress */ | ||
| 681 | #define LOA 0x08 /* sta: arbitration lost */ | ||
| 682 | #define WOA 0x04 /* sta: arbitration won */ | ||
| 683 | #define IRST 0x02 /* sta: scsi reset signal */ | ||
| 684 | #define SDP 0x01 /* sta: scsi parity signal */ | ||
| 685 | |||
| 686 | /*0e*/ u8 nc_sstat1; | ||
| 687 | #define FF3210 0xf0 /* sta: bytes in the scsi fifo */ | ||
| 688 | |||
| 689 | /*0f*/ u8 nc_sstat2; | ||
| 690 | #define ILF1 0x80 /* sta: data in SIDL register msb[W]*/ | ||
| 691 | #define ORF1 0x40 /* sta: data in SODR register msb[W]*/ | ||
| 692 | #define OLF1 0x20 /* sta: data in SODL register msb[W]*/ | ||
| 693 | #define DM 0x04 /* sta: DIFFSENS mismatch (895/6 only) */ | ||
| 694 | #define LDSC 0x02 /* sta: disconnect & reconnect */ | ||
| 695 | |||
| 696 | /*10*/ u8 nc_dsa; /* --> Base page */ | ||
| 697 | /*11*/ u8 nc_dsa1; | ||
| 698 | /*12*/ u8 nc_dsa2; | ||
| 699 | /*13*/ u8 nc_dsa3; | ||
| 700 | |||
| 701 | /*14*/ u8 nc_istat; /* --> Main Command and status */ | ||
| 702 | #define CABRT 0x80 /* cmd: abort current operation */ | ||
| 703 | #define SRST 0x40 /* mod: reset chip */ | ||
| 704 | #define SIGP 0x20 /* r/w: message from host to ncr */ | ||
| 705 | #define SEM 0x10 /* r/w: message between host + ncr */ | ||
| 706 | #define CON 0x08 /* sta: connected to scsi */ | ||
| 707 | #define INTF 0x04 /* sta: int on the fly (reset by wr)*/ | ||
| 708 | #define SIP 0x02 /* sta: scsi-interrupt */ | ||
| 709 | #define DIP 0x01 /* sta: host/script interrupt */ | ||
| 710 | |||
| 711 | /*15*/ u8 nc_istat1; /* 896 and later cores only */ | ||
| 712 | #define FLSH 0x04 /* sta: chip is flushing */ | ||
| 713 | #define SRUN 0x02 /* sta: scripts are running */ | ||
| 714 | #define SIRQD 0x01 /* r/w: disable INT pin */ | ||
| 715 | |||
| 716 | /*16*/ u8 nc_mbox0; /* 896 and later cores only */ | ||
| 717 | /*17*/ u8 nc_mbox1; /* 896 and later cores only */ | ||
| 718 | |||
| 719 | /*18*/ u8 nc_ctest0; | ||
| 720 | #define EHP 0x04 /* 720 even host parity */ | ||
| 721 | /*19*/ u8 nc_ctest1; | ||
| 722 | |||
| 723 | /*1a*/ u8 nc_ctest2; | ||
| 724 | #define CSIGP 0x40 | ||
| 725 | /* bits 0-2,7 rsvd for C1010 */ | ||
| 726 | |||
| 727 | /*1b*/ u8 nc_ctest3; | ||
| 728 | #define FLF 0x08 /* cmd: flush dma fifo */ | ||
| 729 | #define CLF 0x04 /* cmd: clear dma fifo */ | ||
| 730 | #define FM 0x02 /* mod: fetch pin mode */ | ||
| 731 | #define WRIE 0x01 /* mod: write and invalidate enable */ | ||
| 732 | /* bits 4-7 rsvd for C1010 */ | ||
| 733 | |||
| 734 | /*1c*/ u32 nc_temp; /* ### Temporary stack */ | ||
| 735 | |||
| 736 | /*20*/ u8 nc_dfifo; | ||
| 737 | /*21*/ u8 nc_ctest4; | ||
| 738 | #define MUX 0x80 /* 720 host bus multiplex mode */ | ||
| 739 | #define BDIS 0x80 /* mod: burst disable */ | ||
| 740 | #define MPEE 0x08 /* mod: master parity error enable */ | ||
| 741 | |||
| 742 | /*22*/ u8 nc_ctest5; | ||
| 743 | #define DFS 0x20 /* mod: dma fifo size */ | ||
| 744 | /* bits 0-1, 3-7 rsvd for C1010 */ | ||
| 745 | /*23*/ u8 nc_ctest6; | ||
| 746 | |||
| 747 | /*24*/ u32 nc_dbc; /* ### Byte count and command */ | ||
| 748 | /*28*/ u32 nc_dnad; /* ### Next command register */ | ||
| 749 | /*2c*/ u32 nc_dsp; /* --> Script Pointer */ | ||
| 750 | /*30*/ u32 nc_dsps; /* --> Script pointer save/opcode#2 */ | ||
| 751 | |||
| 752 | /*34*/ u8 nc_scratcha; /* Temporary register a */ | ||
| 753 | /*35*/ u8 nc_scratcha1; | ||
| 754 | /*36*/ u8 nc_scratcha2; | ||
| 755 | /*37*/ u8 nc_scratcha3; | ||
| 756 | |||
| 757 | /*38*/ u8 nc_dmode; | ||
| 758 | #define BL_2 0x80 /* mod: burst length shift value +2 */ | ||
| 759 | #define BL_1 0x40 /* mod: burst length shift value +1 */ | ||
| 760 | #define ERL 0x08 /* mod: enable read line */ | ||
| 761 | #define ERMP 0x04 /* mod: enable read multiple */ | ||
| 762 | #define BOF 0x02 /* mod: burst op code fetch */ | ||
| 763 | |||
| 764 | /*39*/ u8 nc_dien; | ||
| 765 | /*3a*/ u8 nc_sbr; | ||
| 766 | |||
| 767 | /*3b*/ u8 nc_dcntl; /* --> Script execution control */ | ||
| 768 | #define CLSE 0x80 /* mod: cache line size enable */ | ||
| 769 | #define PFF 0x40 /* cmd: pre-fetch flush */ | ||
| 770 | #define PFEN 0x20 /* mod: pre-fetch enable */ | ||
| 771 | #define EA 0x20 /* mod: 720 enable-ack */ | ||
| 772 | #define SSM 0x10 /* mod: single step mode */ | ||
| 773 | #define IRQM 0x08 /* mod: irq mode (1 = totem pole !) */ | ||
| 774 | #define STD 0x04 /* cmd: start dma mode */ | ||
| 775 | #define IRQD 0x02 /* mod: irq disable */ | ||
| 776 | #define NOCOM 0x01 /* cmd: protect sfbr while reselect */ | ||
| 777 | /* bits 0-1 rsvd for C1010 */ | ||
| 778 | |||
| 779 | /*3c*/ u32 nc_adder; | ||
| 780 | |||
| 781 | /*40*/ u16 nc_sien; /* -->: interrupt enable */ | ||
| 782 | /*42*/ u16 nc_sist; /* <--: interrupt status */ | ||
| 783 | #define SBMC 0x1000/* sta: SCSI Bus Mode Change (895/6 only) */ | ||
| 784 | #define STO 0x0400/* sta: timeout (select) */ | ||
| 785 | #define GEN 0x0200/* sta: timeout (general) */ | ||
| 786 | #define HTH 0x0100/* sta: timeout (handshake) */ | ||
| 787 | #define MA 0x80 /* sta: phase mismatch */ | ||
| 788 | #define CMP 0x40 /* sta: arbitration complete */ | ||
| 789 | #define SEL 0x20 /* sta: selected by another device */ | ||
| 790 | #define RSL 0x10 /* sta: reselected by another device*/ | ||
| 791 | #define SGE 0x08 /* sta: gross error (over/underflow)*/ | ||
| 792 | #define UDC 0x04 /* sta: unexpected disconnect */ | ||
| 793 | #define RST 0x02 /* sta: scsi bus reset detected */ | ||
| 794 | #define PAR 0x01 /* sta: scsi parity error */ | ||
| 795 | |||
| 796 | /*44*/ u8 nc_slpar; | ||
| 797 | /*45*/ u8 nc_swide; | ||
| 798 | /*46*/ u8 nc_macntl; | ||
| 799 | /*47*/ u8 nc_gpcntl; | ||
| 800 | /*48*/ u8 nc_stime0; /* cmd: timeout for select&handshake*/ | ||
| 801 | /*49*/ u8 nc_stime1; /* cmd: timeout user defined */ | ||
| 802 | /*4a*/ u16 nc_respid; /* sta: Reselect-IDs */ | ||
| 803 | |||
| 804 | /*4c*/ u8 nc_stest0; | ||
| 805 | |||
| 806 | /*4d*/ u8 nc_stest1; | ||
| 807 | #define SCLK 0x80 /* Use the PCI clock as SCSI clock */ | ||
| 808 | #define DBLEN 0x08 /* clock doubler running */ | ||
| 809 | #define DBLSEL 0x04 /* clock doubler selected */ | ||
| 810 | |||
| 811 | |||
| 812 | /*4e*/ u8 nc_stest2; | ||
| 813 | #define ROF 0x40 /* reset scsi offset (after gross error!) */ | ||
| 814 | #define DIF 0x20 /* 720 SCSI differential mode */ | ||
| 815 | #define EXT 0x02 /* extended filtering */ | ||
| 816 | |||
| 817 | /*4f*/ u8 nc_stest3; | ||
| 818 | #define TE 0x80 /* c: tolerAnt enable */ | ||
| 819 | #define HSC 0x20 /* c: Halt SCSI Clock */ | ||
| 820 | #define CSF 0x02 /* c: clear scsi fifo */ | ||
| 821 | |||
| 822 | /*50*/ u16 nc_sidl; /* Lowlevel: latched from scsi data */ | ||
| 823 | /*52*/ u8 nc_stest4; | ||
| 824 | #define SMODE 0xc0 /* SCSI bus mode (895/6 only) */ | ||
| 825 | #define SMODE_HVD 0x40 /* High Voltage Differential */ | ||
| 826 | #define SMODE_SE 0x80 /* Single Ended */ | ||
| 827 | #define SMODE_LVD 0xc0 /* Low Voltage Differential */ | ||
| 828 | #define LCKFRQ 0x20 /* Frequency Lock (895/6 only) */ | ||
| 829 | /* bits 0-5 rsvd for C1010 */ | ||
| 830 | |||
| 831 | /*53*/ u8 nc_53_; | ||
| 832 | /*54*/ u16 nc_sodl; /* Lowlevel: data out to scsi data */ | ||
| 833 | /*56*/ u8 nc_ccntl0; /* Chip Control 0 (896) */ | ||
| 834 | #define ENPMJ 0x80 /* Enable Phase Mismatch Jump */ | ||
| 835 | #define PMJCTL 0x40 /* Phase Mismatch Jump Control */ | ||
| 836 | #define ENNDJ 0x20 /* Enable Non Data PM Jump */ | ||
| 837 | #define DISFC 0x10 /* Disable Auto FIFO Clear */ | ||
| 838 | #define DILS 0x02 /* Disable Internal Load/Store */ | ||
| 839 | #define DPR 0x01 /* Disable Pipe Req */ | ||
| 840 | |||
| 841 | /*57*/ u8 nc_ccntl1; /* Chip Control 1 (896) */ | ||
| 842 | #define ZMOD 0x80 /* High Impedance Mode */ | ||
| 843 | #define DIC 0x10 /* Disable Internal Cycles */ | ||
| 844 | #define DDAC 0x08 /* Disable Dual Address Cycle */ | ||
| 845 | #define XTIMOD 0x04 /* 64-bit Table Ind. Indexing Mode */ | ||
| 846 | #define EXTIBMV 0x02 /* Enable 64-bit Table Ind. BMOV */ | ||
| 847 | #define EXDBMV 0x01 /* Enable 64-bit Direct BMOV */ | ||
| 848 | |||
| 849 | /*58*/ u16 nc_sbdl; /* Lowlevel: data from scsi data */ | ||
| 850 | /*5a*/ u16 nc_5a_; | ||
| 851 | |||
| 852 | /*5c*/ u8 nc_scr0; /* Working register B */ | ||
| 853 | /*5d*/ u8 nc_scr1; /* */ | ||
| 854 | /*5e*/ u8 nc_scr2; /* */ | ||
| 855 | /*5f*/ u8 nc_scr3; /* */ | ||
| 856 | |||
| 857 | /*60*/ u8 nc_scrx[64]; /* Working register C-R */ | ||
| 858 | /*a0*/ u32 nc_mmrs; /* Memory Move Read Selector */ | ||
| 859 | /*a4*/ u32 nc_mmws; /* Memory Move Write Selector */ | ||
| 860 | /*a8*/ u32 nc_sfs; /* Script Fetch Selector */ | ||
| 861 | /*ac*/ u32 nc_drs; /* DSA Relative Selector */ | ||
| 862 | /*b0*/ u32 nc_sbms; /* Static Block Move Selector */ | ||
| 863 | /*b4*/ u32 nc_dbms; /* Dynamic Block Move Selector */ | ||
| 864 | /*b8*/ u32 nc_dnad64; /* DMA Next Address 64 */ | ||
| 865 | /*bc*/ u16 nc_scntl4; /* C1010 only */ | ||
| 866 | #define U3EN 0x80 /* Enable Ultra 3 */ | ||
| 867 | #define AIPEN 0x40 /* Allow check upper byte lanes */ | ||
| 868 | #define XCLKH_DT 0x08 /* Extra clock of data hold on DT | ||
| 869 | transfer edge */ | ||
| 870 | #define XCLKH_ST 0x04 /* Extra clock of data hold on ST | ||
| 871 | transfer edge */ | ||
| 872 | |||
| 873 | /*be*/ u8 nc_aipcntl0; /* Epat Control 1 C1010 only */ | ||
| 874 | /*bf*/ u8 nc_aipcntl1; /* AIP Control C1010_66 Only */ | ||
| 875 | |||
| 876 | /*c0*/ u32 nc_pmjad1; /* Phase Mismatch Jump Address 1 */ | ||
| 877 | /*c4*/ u32 nc_pmjad2; /* Phase Mismatch Jump Address 2 */ | ||
| 878 | /*c8*/ u8 nc_rbc; /* Remaining Byte Count */ | ||
| 879 | /*c9*/ u8 nc_rbc1; /* */ | ||
| 880 | /*ca*/ u8 nc_rbc2; /* */ | ||
| 881 | /*cb*/ u8 nc_rbc3; /* */ | ||
| 882 | |||
| 883 | /*cc*/ u8 nc_ua; /* Updated Address */ | ||
| 884 | /*cd*/ u8 nc_ua1; /* */ | ||
| 885 | /*ce*/ u8 nc_ua2; /* */ | ||
| 886 | /*cf*/ u8 nc_ua3; /* */ | ||
| 887 | /*d0*/ u32 nc_esa; /* Entry Storage Address */ | ||
| 888 | /*d4*/ u8 nc_ia; /* Instruction Address */ | ||
| 889 | /*d5*/ u8 nc_ia1; | ||
| 890 | /*d6*/ u8 nc_ia2; | ||
| 891 | /*d7*/ u8 nc_ia3; | ||
| 892 | /*d8*/ u32 nc_sbc; /* SCSI Byte Count (3 bytes only) */ | ||
| 893 | /*dc*/ u32 nc_csbc; /* Cumulative SCSI Byte Count */ | ||
| 894 | |||
| 895 | /* Following for C1010 only */ | ||
| 896 | /*e0*/ u16 nc_crcpad; /* CRC Value */ | ||
| 897 | /*e2*/ u8 nc_crccntl0; /* CRC control register */ | ||
| 898 | #define SNDCRC 0x10 /* Send CRC Request */ | ||
| 899 | /*e3*/ u8 nc_crccntl1; /* CRC control register */ | ||
| 900 | /*e4*/ u32 nc_crcdata; /* CRC data register */ | ||
| 901 | /*e8*/ u32 nc_e8_; /* rsvd */ | ||
| 902 | /*ec*/ u32 nc_ec_; /* rsvd */ | ||
| 903 | /*f0*/ u16 nc_dfbc; /* DMA FIFO byte count */ | ||
| 904 | |||
| 905 | }; | ||
| 906 | |||
| 907 | /*----------------------------------------------------------- | ||
| 908 | ** | ||
| 909 | ** Utility macros for the script. | ||
| 910 | ** | ||
| 911 | **----------------------------------------------------------- | ||
| 912 | */ | ||
| 913 | |||
| 914 | #define REGJ(p,r) (offsetof(struct ncr_reg, p ## r)) | ||
| 915 | #define REG(r) REGJ (nc_, r) | ||
| 916 | |||
| 917 | typedef u32 ncrcmd; | ||
| 918 | |||
| 919 | /*----------------------------------------------------------- | ||
| 920 | ** | ||
| 921 | ** SCSI phases | ||
| 922 | ** | ||
| 923 | ** DT phases illegal for ncr driver. | ||
| 924 | ** | ||
| 925 | **----------------------------------------------------------- | ||
| 926 | */ | ||
| 927 | |||
| 928 | #define SCR_DATA_OUT 0x00000000 | ||
| 929 | #define SCR_DATA_IN 0x01000000 | ||
| 930 | #define SCR_COMMAND 0x02000000 | ||
| 931 | #define SCR_STATUS 0x03000000 | ||
| 932 | #define SCR_DT_DATA_OUT 0x04000000 | ||
| 933 | #define SCR_DT_DATA_IN 0x05000000 | ||
| 934 | #define SCR_MSG_OUT 0x06000000 | ||
| 935 | #define SCR_MSG_IN 0x07000000 | ||
| 936 | |||
| 937 | #define SCR_ILG_OUT 0x04000000 | ||
| 938 | #define SCR_ILG_IN 0x05000000 | ||
| 939 | |||
| 940 | /*----------------------------------------------------------- | ||
| 941 | ** | ||
| 942 | ** Data transfer via SCSI. | ||
| 943 | ** | ||
| 944 | **----------------------------------------------------------- | ||
| 945 | ** | ||
| 946 | ** MOVE_ABS (LEN) | ||
| 947 | ** <<start address>> | ||
| 948 | ** | ||
| 949 | ** MOVE_IND (LEN) | ||
| 950 | ** <<dnad_offset>> | ||
| 951 | ** | ||
| 952 | ** MOVE_TBL | ||
| 953 | ** <<dnad_offset>> | ||
| 954 | ** | ||
| 955 | **----------------------------------------------------------- | ||
| 956 | */ | ||
| 957 | |||
| 958 | #define OPC_MOVE 0x08000000 | ||
| 959 | |||
| 960 | #define SCR_MOVE_ABS(l) ((0x00000000 | OPC_MOVE) | (l)) | ||
| 961 | #define SCR_MOVE_IND(l) ((0x20000000 | OPC_MOVE) | (l)) | ||
| 962 | #define SCR_MOVE_TBL (0x10000000 | OPC_MOVE) | ||
| 963 | |||
| 964 | #define SCR_CHMOV_ABS(l) ((0x00000000) | (l)) | ||
| 965 | #define SCR_CHMOV_IND(l) ((0x20000000) | (l)) | ||
| 966 | #define SCR_CHMOV_TBL (0x10000000) | ||
| 967 | |||
| 968 | struct scr_tblmove { | ||
| 969 | u32 size; | ||
| 970 | u32 addr; | ||
| 971 | }; | ||
| 972 | |||
| 973 | /*----------------------------------------------------------- | ||
| 974 | ** | ||
| 975 | ** Selection | ||
| 976 | ** | ||
| 977 | **----------------------------------------------------------- | ||
| 978 | ** | ||
| 979 | ** SEL_ABS | SCR_ID (0..15) [ | REL_JMP] | ||
| 980 | ** <<alternate_address>> | ||
| 981 | ** | ||
| 982 | ** SEL_TBL | << dnad_offset>> [ | REL_JMP] | ||
| 983 | ** <<alternate_address>> | ||
| 984 | ** | ||
| 985 | **----------------------------------------------------------- | ||
| 986 | */ | ||
| 987 | |||
| 988 | #define SCR_SEL_ABS 0x40000000 | ||
| 989 | #define SCR_SEL_ABS_ATN 0x41000000 | ||
| 990 | #define SCR_SEL_TBL 0x42000000 | ||
| 991 | #define SCR_SEL_TBL_ATN 0x43000000 | ||
| 992 | |||
| 993 | |||
| 994 | #ifdef SCSI_NCR_BIG_ENDIAN | ||
| 995 | struct scr_tblsel { | ||
| 996 | u8 sel_scntl3; | ||
| 997 | u8 sel_id; | ||
| 998 | u8 sel_sxfer; | ||
| 999 | u8 sel_scntl4; | ||
| 1000 | }; | ||
| 1001 | #else | ||
| 1002 | struct scr_tblsel { | ||
| 1003 | u8 sel_scntl4; | ||
| 1004 | u8 sel_sxfer; | ||
| 1005 | u8 sel_id; | ||
| 1006 | u8 sel_scntl3; | ||
| 1007 | }; | ||
| 1008 | #endif | ||
| 1009 | |||
| 1010 | #define SCR_JMP_REL 0x04000000 | ||
| 1011 | #define SCR_ID(id) (((u32)(id)) << 16) | ||
| 1012 | |||
| 1013 | /*----------------------------------------------------------- | ||
| 1014 | ** | ||
| 1015 | ** Waiting for Disconnect or Reselect | ||
| 1016 | ** | ||
| 1017 | **----------------------------------------------------------- | ||
| 1018 | ** | ||
| 1019 | ** WAIT_DISC | ||
| 1020 | ** dummy: <<alternate_address>> | ||
| 1021 | ** | ||
| 1022 | ** WAIT_RESEL | ||
| 1023 | ** <<alternate_address>> | ||
| 1024 | ** | ||
| 1025 | **----------------------------------------------------------- | ||
| 1026 | */ | ||
| 1027 | |||
| 1028 | #define SCR_WAIT_DISC 0x48000000 | ||
| 1029 | #define SCR_WAIT_RESEL 0x50000000 | ||
| 1030 | |||
| 1031 | /*----------------------------------------------------------- | ||
| 1032 | ** | ||
| 1033 | ** Bit Set / Reset | ||
| 1034 | ** | ||
| 1035 | **----------------------------------------------------------- | ||
| 1036 | ** | ||
| 1037 | ** SET (flags {|.. }) | ||
| 1038 | ** | ||
| 1039 | ** CLR (flags {|.. }) | ||
| 1040 | ** | ||
| 1041 | **----------------------------------------------------------- | ||
| 1042 | */ | ||
| 1043 | |||
| 1044 | #define SCR_SET(f) (0x58000000 | (f)) | ||
| 1045 | #define SCR_CLR(f) (0x60000000 | (f)) | ||
| 1046 | |||
| 1047 | #define SCR_CARRY 0x00000400 | ||
| 1048 | #define SCR_TRG 0x00000200 | ||
| 1049 | #define SCR_ACK 0x00000040 | ||
| 1050 | #define SCR_ATN 0x00000008 | ||
| 1051 | |||
| 1052 | |||
| 1053 | |||
| 1054 | |||
| 1055 | /*----------------------------------------------------------- | ||
| 1056 | ** | ||
| 1057 | ** Memory to memory move | ||
| 1058 | ** | ||
| 1059 | **----------------------------------------------------------- | ||
| 1060 | ** | ||
| 1061 | ** COPY (bytecount) | ||
| 1062 | ** << source_address >> | ||
| 1063 | ** << destination_address >> | ||
| 1064 | ** | ||
| 1065 | ** SCR_COPY sets the NO FLUSH option by default. | ||
| 1066 | ** SCR_COPY_F does not set this option. | ||
| 1067 | ** | ||
| 1068 | ** For chips which do not support this option, | ||
| 1069 | ** ncr_copy_and_bind() will remove this bit. | ||
| 1070 | **----------------------------------------------------------- | ||
| 1071 | */ | ||
| 1072 | |||
| 1073 | #define SCR_NO_FLUSH 0x01000000 | ||
| 1074 | |||
| 1075 | #define SCR_COPY(n) (0xc0000000 | SCR_NO_FLUSH | (n)) | ||
| 1076 | #define SCR_COPY_F(n) (0xc0000000 | (n)) | ||
| 1077 | |||
| 1078 | /*----------------------------------------------------------- | ||
| 1079 | ** | ||
| 1080 | ** Register move and binary operations | ||
| 1081 | ** | ||
| 1082 | **----------------------------------------------------------- | ||
| 1083 | ** | ||
| 1084 | ** SFBR_REG (reg, op, data) reg = SFBR op data | ||
| 1085 | ** << 0 >> | ||
| 1086 | ** | ||
| 1087 | ** REG_SFBR (reg, op, data) SFBR = reg op data | ||
| 1088 | ** << 0 >> | ||
| 1089 | ** | ||
| 1090 | ** REG_REG (reg, op, data) reg = reg op data | ||
| 1091 | ** << 0 >> | ||
| 1092 | ** | ||
| 1093 | **----------------------------------------------------------- | ||
| 1094 | ** On 810A, 860, 825A, 875, 895 and 896 chips the content | ||
| 1095 | ** of SFBR register can be used as data (SCR_SFBR_DATA). | ||
| 1096 | ** The 896 has additionnal IO registers starting at | ||
| 1097 | ** offset 0x80. Bit 7 of register offset is stored in | ||
| 1098 | ** bit 7 of the SCRIPTS instruction first DWORD. | ||
| 1099 | **----------------------------------------------------------- | ||
| 1100 | */ | ||
| 1101 | |||
| 1102 | #define SCR_REG_OFS(ofs) ((((ofs) & 0x7f) << 16ul) + ((ofs) & 0x80)) | ||
| 1103 | |||
| 1104 | #define SCR_SFBR_REG(reg,op,data) \ | ||
| 1105 | (0x68000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1106 | |||
| 1107 | #define SCR_REG_SFBR(reg,op,data) \ | ||
| 1108 | (0x70000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1109 | |||
| 1110 | #define SCR_REG_REG(reg,op,data) \ | ||
| 1111 | (0x78000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1112 | |||
| 1113 | |||
| 1114 | #define SCR_LOAD 0x00000000 | ||
| 1115 | #define SCR_SHL 0x01000000 | ||
| 1116 | #define SCR_OR 0x02000000 | ||
| 1117 | #define SCR_XOR 0x03000000 | ||
| 1118 | #define SCR_AND 0x04000000 | ||
| 1119 | #define SCR_SHR 0x05000000 | ||
| 1120 | #define SCR_ADD 0x06000000 | ||
| 1121 | #define SCR_ADDC 0x07000000 | ||
| 1122 | |||
| 1123 | #define SCR_SFBR_DATA (0x00800000>>8ul) /* Use SFBR as data */ | ||
| 1124 | |||
| 1125 | /*----------------------------------------------------------- | ||
| 1126 | ** | ||
| 1127 | ** FROM_REG (reg) SFBR = reg | ||
| 1128 | ** << 0 >> | ||
| 1129 | ** | ||
| 1130 | ** TO_REG (reg) reg = SFBR | ||
| 1131 | ** << 0 >> | ||
| 1132 | ** | ||
| 1133 | ** LOAD_REG (reg, data) reg = <data> | ||
| 1134 | ** << 0 >> | ||
| 1135 | ** | ||
| 1136 | ** LOAD_SFBR(data) SFBR = <data> | ||
| 1137 | ** << 0 >> | ||
| 1138 | ** | ||
| 1139 | **----------------------------------------------------------- | ||
| 1140 | */ | ||
| 1141 | |||
| 1142 | #define SCR_FROM_REG(reg) \ | ||
| 1143 | SCR_REG_SFBR(reg,SCR_OR,0) | ||
| 1144 | |||
| 1145 | #define SCR_TO_REG(reg) \ | ||
| 1146 | SCR_SFBR_REG(reg,SCR_OR,0) | ||
| 1147 | |||
| 1148 | #define SCR_LOAD_REG(reg,data) \ | ||
| 1149 | SCR_REG_REG(reg,SCR_LOAD,data) | ||
| 1150 | |||
| 1151 | #define SCR_LOAD_SFBR(data) \ | ||
| 1152 | (SCR_REG_SFBR (gpreg, SCR_LOAD, data)) | ||
| 1153 | |||
| 1154 | /*----------------------------------------------------------- | ||
| 1155 | ** | ||
| 1156 | ** LOAD from memory to register. | ||
| 1157 | ** STORE from register to memory. | ||
| 1158 | ** | ||
| 1159 | ** Only supported by 810A, 860, 825A, 875, 895 and 896. | ||
| 1160 | ** | ||
| 1161 | **----------------------------------------------------------- | ||
| 1162 | ** | ||
| 1163 | ** LOAD_ABS (LEN) | ||
| 1164 | ** <<start address>> | ||
| 1165 | ** | ||
| 1166 | ** LOAD_REL (LEN) (DSA relative) | ||
| 1167 | ** <<dsa_offset>> | ||
| 1168 | ** | ||
| 1169 | **----------------------------------------------------------- | ||
| 1170 | */ | ||
| 1171 | |||
| 1172 | #define SCR_REG_OFS2(ofs) (((ofs) & 0xff) << 16ul) | ||
| 1173 | #define SCR_NO_FLUSH2 0x02000000 | ||
| 1174 | #define SCR_DSA_REL2 0x10000000 | ||
| 1175 | |||
| 1176 | #define SCR_LOAD_R(reg, how, n) \ | ||
| 1177 | (0xe1000000 | how | (SCR_REG_OFS2(REG(reg))) | (n)) | ||
| 1178 | |||
| 1179 | #define SCR_STORE_R(reg, how, n) \ | ||
| 1180 | (0xe0000000 | how | (SCR_REG_OFS2(REG(reg))) | (n)) | ||
| 1181 | |||
| 1182 | #define SCR_LOAD_ABS(reg, n) SCR_LOAD_R(reg, SCR_NO_FLUSH2, n) | ||
| 1183 | #define SCR_LOAD_REL(reg, n) SCR_LOAD_R(reg, SCR_NO_FLUSH2|SCR_DSA_REL2, n) | ||
| 1184 | #define SCR_LOAD_ABS_F(reg, n) SCR_LOAD_R(reg, 0, n) | ||
| 1185 | #define SCR_LOAD_REL_F(reg, n) SCR_LOAD_R(reg, SCR_DSA_REL2, n) | ||
| 1186 | |||
| 1187 | #define SCR_STORE_ABS(reg, n) SCR_STORE_R(reg, SCR_NO_FLUSH2, n) | ||
| 1188 | #define SCR_STORE_REL(reg, n) SCR_STORE_R(reg, SCR_NO_FLUSH2|SCR_DSA_REL2,n) | ||
| 1189 | #define SCR_STORE_ABS_F(reg, n) SCR_STORE_R(reg, 0, n) | ||
| 1190 | #define SCR_STORE_REL_F(reg, n) SCR_STORE_R(reg, SCR_DSA_REL2, n) | ||
| 1191 | |||
| 1192 | |||
| 1193 | /*----------------------------------------------------------- | ||
| 1194 | ** | ||
| 1195 | ** Waiting for Disconnect or Reselect | ||
| 1196 | ** | ||
| 1197 | **----------------------------------------------------------- | ||
| 1198 | ** | ||
| 1199 | ** JUMP [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1200 | ** <<address>> | ||
| 1201 | ** | ||
| 1202 | ** JUMPR [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1203 | ** <<distance>> | ||
| 1204 | ** | ||
| 1205 | ** CALL [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1206 | ** <<address>> | ||
| 1207 | ** | ||
| 1208 | ** CALLR [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1209 | ** <<distance>> | ||
| 1210 | ** | ||
| 1211 | ** RETURN [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1212 | ** <<dummy>> | ||
| 1213 | ** | ||
| 1214 | ** INT [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1215 | ** <<ident>> | ||
| 1216 | ** | ||
| 1217 | ** INT_FLY [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1218 | ** <<ident>> | ||
| 1219 | ** | ||
| 1220 | ** Conditions: | ||
| 1221 | ** WHEN (phase) | ||
| 1222 | ** IF (phase) | ||
| 1223 | ** CARRYSET | ||
| 1224 | ** DATA (data, mask) | ||
| 1225 | ** | ||
| 1226 | **----------------------------------------------------------- | ||
| 1227 | */ | ||
| 1228 | |||
| 1229 | #define SCR_NO_OP 0x80000000 | ||
| 1230 | #define SCR_JUMP 0x80080000 | ||
| 1231 | #define SCR_JUMP64 0x80480000 | ||
| 1232 | #define SCR_JUMPR 0x80880000 | ||
| 1233 | #define SCR_CALL 0x88080000 | ||
| 1234 | #define SCR_CALLR 0x88880000 | ||
| 1235 | #define SCR_RETURN 0x90080000 | ||
| 1236 | #define SCR_INT 0x98080000 | ||
| 1237 | #define SCR_INT_FLY 0x98180000 | ||
| 1238 | |||
| 1239 | #define IFFALSE(arg) (0x00080000 | (arg)) | ||
| 1240 | #define IFTRUE(arg) (0x00000000 | (arg)) | ||
| 1241 | |||
| 1242 | #define WHEN(phase) (0x00030000 | (phase)) | ||
| 1243 | #define IF(phase) (0x00020000 | (phase)) | ||
| 1244 | |||
| 1245 | #define DATA(D) (0x00040000 | ((D) & 0xff)) | ||
| 1246 | #define MASK(D,M) (0x00040000 | (((M ^ 0xff) & 0xff) << 8ul)|((D) & 0xff)) | ||
| 1247 | |||
| 1248 | #define CARRYSET (0x00200000) | ||
| 1249 | |||
| 1250 | /*----------------------------------------------------------- | ||
| 1251 | ** | ||
| 1252 | ** SCSI constants. | ||
| 1253 | ** | ||
| 1254 | **----------------------------------------------------------- | ||
| 1255 | */ | ||
| 1256 | |||
| 1257 | /* | ||
| 1258 | ** Messages | ||
| 1259 | */ | ||
| 1260 | |||
| 1261 | #define M_COMPLETE COMMAND_COMPLETE | ||
| 1262 | #define M_EXTENDED EXTENDED_MESSAGE | ||
| 1263 | #define M_SAVE_DP SAVE_POINTERS | ||
| 1264 | #define M_RESTORE_DP RESTORE_POINTERS | ||
| 1265 | #define M_DISCONNECT DISCONNECT | ||
| 1266 | #define M_ID_ERROR INITIATOR_ERROR | ||
| 1267 | #define M_ABORT ABORT_TASK_SET | ||
| 1268 | #define M_REJECT MESSAGE_REJECT | ||
| 1269 | #define M_NOOP NOP | ||
| 1270 | #define M_PARITY MSG_PARITY_ERROR | ||
| 1271 | #define M_LCOMPLETE LINKED_CMD_COMPLETE | ||
| 1272 | #define M_FCOMPLETE LINKED_FLG_CMD_COMPLETE | ||
| 1273 | #define M_RESET TARGET_RESET | ||
| 1274 | #define M_ABORT_TAG ABORT_TASK | ||
| 1275 | #define M_CLEAR_QUEUE CLEAR_TASK_SET | ||
| 1276 | #define M_INIT_REC INITIATE_RECOVERY | ||
| 1277 | #define M_REL_REC RELEASE_RECOVERY | ||
| 1278 | #define M_TERMINATE (0x11) | ||
| 1279 | #define M_SIMPLE_TAG SIMPLE_QUEUE_TAG | ||
| 1280 | #define M_HEAD_TAG HEAD_OF_QUEUE_TAG | ||
| 1281 | #define M_ORDERED_TAG ORDERED_QUEUE_TAG | ||
| 1282 | #define M_IGN_RESIDUE IGNORE_WIDE_RESIDUE | ||
| 1283 | #define M_IDENTIFY (0x80) | ||
| 1284 | |||
| 1285 | #define M_X_MODIFY_DP EXTENDED_MODIFY_DATA_POINTER | ||
| 1286 | #define M_X_SYNC_REQ EXTENDED_SDTR | ||
| 1287 | #define M_X_WIDE_REQ EXTENDED_WDTR | ||
| 1288 | #define M_X_PPR_REQ EXTENDED_PPR | ||
| 1289 | |||
| 1290 | /* | ||
| 1291 | ** Status | ||
| 1292 | */ | ||
| 1293 | |||
| 1294 | #define S_GOOD (0x00) | ||
| 1295 | #define S_CHECK_COND (0x02) | ||
| 1296 | #define S_COND_MET (0x04) | ||
| 1297 | #define S_BUSY (0x08) | ||
| 1298 | #define S_INT (0x10) | ||
| 1299 | #define S_INT_COND_MET (0x14) | ||
| 1300 | #define S_CONFLICT (0x18) | ||
| 1301 | #define S_TERMINATED (0x20) | ||
| 1302 | #define S_QUEUE_FULL (0x28) | ||
| 1303 | #define S_ILLEGAL (0xff) | ||
| 1304 | #define S_SENSE (0x80) | ||
| 1305 | |||
| 1306 | /* | ||
| 1307 | * End of ncrreg from FreeBSD | ||
| 1308 | */ | ||
| 48 | 1309 | ||
| 49 | /* | 1310 | /* |
| 50 | Build a scatter/gather entry. | 1311 | Build a scatter/gather entry. |
diff --git a/drivers/scsi/qla2xxx/Kconfig b/drivers/scsi/qla2xxx/Kconfig index c1c1c687bcbd..5205c4e7d6ff 100644 --- a/drivers/scsi/qla2xxx/Kconfig +++ b/drivers/scsi/qla2xxx/Kconfig | |||
| @@ -1,55 +1,70 @@ | |||
| 1 | config SCSI_QLA2XXX | 1 | config SCSI_QLA2XXX |
| 2 | tristate | 2 | tristate "QLogic QLA2XXX Fibre Channel Support" |
| 3 | default (SCSI && PCI) | 3 | depends on PCI && SCSI |
| 4 | depends on SCSI && PCI | 4 | select SCSI_FC_ATTRS |
| 5 | select FW_LOADER | ||
| 6 | ---help--- | ||
| 7 | This qla2xxx driver supports all QLogic Fibre Channel | ||
| 8 | PCI and PCIe host adapters. | ||
| 5 | 9 | ||
| 6 | config SCSI_QLA21XX | 10 | By default, firmware for the ISP parts will be loaded |
| 7 | tristate "QLogic ISP2100 host adapter family support" | 11 | via the Firmware Loader interface. |
| 12 | |||
| 13 | ISP Firmware Filename | ||
| 14 | ---------- ----------------- | ||
| 15 | 21xx ql2100_fw.bin | ||
| 16 | 22xx ql2200_fw.bin | ||
| 17 | 2300, 2312 ql2300_fw.bin | ||
| 18 | 2322 ql2322_fw.bin | ||
| 19 | 6312, 6322 ql6312_fw.bin | ||
| 20 | 24xx ql2400_fw.bin | ||
| 21 | |||
| 22 | Upon request, the driver caches the firmware image until | ||
| 23 | the driver is unloaded. | ||
| 24 | |||
| 25 | NOTE: The original method of building firmware-loader | ||
| 26 | modules has been deprecated as the firmware-images will | ||
| 27 | be removed from the kernel sources. | ||
| 28 | |||
| 29 | config SCSI_QLA2XXX_EMBEDDED_FIRMWARE | ||
| 30 | bool " Use firmware-loader modules (DEPRECATED)" | ||
| 8 | depends on SCSI_QLA2XXX | 31 | depends on SCSI_QLA2XXX |
| 9 | select SCSI_FC_ATTRS | 32 | |
| 10 | select FW_LOADER | 33 | config SCSI_QLA21XX |
| 34 | tristate " Build QLogic ISP2100 firmware-module" | ||
| 35 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE | ||
| 11 | ---help--- | 36 | ---help--- |
| 12 | This driver supports the QLogic 21xx (ISP2100) host adapter family. | 37 | This driver supports the QLogic 21xx (ISP2100) host adapter family. |
| 13 | 38 | ||
| 14 | config SCSI_QLA22XX | 39 | config SCSI_QLA22XX |
| 15 | tristate "QLogic ISP2200 host adapter family support" | 40 | tristate " Build QLogic ISP2200 firmware-module" |
| 16 | depends on SCSI_QLA2XXX | 41 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE |
| 17 | select SCSI_FC_ATTRS | ||
| 18 | select FW_LOADER | ||
| 19 | ---help--- | 42 | ---help--- |
| 20 | This driver supports the QLogic 22xx (ISP2200) host adapter family. | 43 | This driver supports the QLogic 22xx (ISP2200) host adapter family. |
| 21 | 44 | ||
| 22 | config SCSI_QLA2300 | 45 | config SCSI_QLA2300 |
| 23 | tristate "QLogic ISP2300 host adapter family support" | 46 | tristate " Build QLogic ISP2300 firmware-module" |
| 24 | depends on SCSI_QLA2XXX | 47 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE |
| 25 | select SCSI_FC_ATTRS | ||
| 26 | select FW_LOADER | ||
| 27 | ---help--- | 48 | ---help--- |
| 28 | This driver supports the QLogic 2300 (ISP2300 and ISP2312) host | 49 | This driver supports the QLogic 2300 (ISP2300 and ISP2312) host |
| 29 | adapter family. | 50 | adapter family. |
| 30 | 51 | ||
| 31 | config SCSI_QLA2322 | 52 | config SCSI_QLA2322 |
| 32 | tristate "QLogic ISP2322 host adapter family support" | 53 | tristate " Build QLogic ISP2322 firmware-module" |
| 33 | depends on SCSI_QLA2XXX | 54 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE |
| 34 | select SCSI_FC_ATTRS | ||
| 35 | select FW_LOADER | ||
| 36 | ---help--- | 55 | ---help--- |
| 37 | This driver supports the QLogic 2322 (ISP2322) host adapter family. | 56 | This driver supports the QLogic 2322 (ISP2322) host adapter family. |
| 38 | 57 | ||
| 39 | config SCSI_QLA6312 | 58 | config SCSI_QLA6312 |
| 40 | tristate "QLogic ISP63xx host adapter family support" | 59 | tristate " Build QLogic ISP63xx firmware-module" |
| 41 | depends on SCSI_QLA2XXX | 60 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE |
| 42 | select SCSI_FC_ATTRS | ||
| 43 | select FW_LOADER | ||
| 44 | ---help--- | 61 | ---help--- |
| 45 | This driver supports the QLogic 63xx (ISP6312 and ISP6322) host | 62 | This driver supports the QLogic 63xx (ISP6312 and ISP6322) host |
| 46 | adapter family. | 63 | adapter family. |
| 47 | 64 | ||
| 48 | config SCSI_QLA24XX | 65 | config SCSI_QLA24XX |
| 49 | tristate "QLogic ISP24xx host adapter family support" | 66 | tristate " Build QLogic ISP24xx firmware-module" |
| 50 | depends on SCSI_QLA2XXX | 67 | depends on SCSI_QLA2XXX_EMBEDDED_FIRMWARE |
| 51 | select SCSI_FC_ATTRS | ||
| 52 | select FW_LOADER | ||
| 53 | ---help--- | 68 | ---help--- |
| 54 | This driver supports the QLogic 24xx (ISP2422 and ISP2432) host | 69 | This driver supports the QLogic 24xx (ISP2422 and ISP2432) host |
| 55 | adapter family. | 70 | adapter family. |
diff --git a/drivers/scsi/qla2xxx/Makefile b/drivers/scsi/qla2xxx/Makefile index b169687d08ff..40c0de125889 100644 --- a/drivers/scsi/qla2xxx/Makefile +++ b/drivers/scsi/qla2xxx/Makefile | |||
| @@ -3,15 +3,18 @@ EXTRA_CFLAGS += -DUNIQUE_FW_NAME | |||
| 3 | qla2xxx-y := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \ | 3 | qla2xxx-y := qla_os.o qla_init.o qla_mbx.o qla_iocb.o qla_isr.o qla_gs.o \ |
| 4 | qla_dbg.o qla_sup.o qla_rscn.o qla_attr.o | 4 | qla_dbg.o qla_sup.o qla_rscn.o qla_attr.o |
| 5 | 5 | ||
| 6 | obj-$(CONFIG_SCSI_QLA2XXX) += qla2xxx.o | ||
| 7 | |||
| 6 | qla2100-y := ql2100.o ql2100_fw.o | 8 | qla2100-y := ql2100.o ql2100_fw.o |
| 7 | qla2200-y := ql2200.o ql2200_fw.o | 9 | qla2200-y := ql2200.o ql2200_fw.o |
| 8 | qla2300-y := ql2300.o ql2300_fw.o | 10 | qla2300-y := ql2300.o ql2300_fw.o |
| 9 | qla2322-y := ql2322.o ql2322_fw.o | 11 | qla2322-y := ql2322.o ql2322_fw.o |
| 10 | qla6312-y := ql6312.o ql6312_fw.o | 12 | qla6312-y := ql6312.o ql6312_fw.o |
| 13 | qla2400-y := ql2400.o ql2400_fw.o | ||
| 11 | 14 | ||
| 12 | obj-$(CONFIG_SCSI_QLA21XX) += qla2xxx.o qla2100.o | 15 | obj-$(CONFIG_SCSI_QLA21XX) += qla2xxx.o qla2100.o |
| 13 | obj-$(CONFIG_SCSI_QLA22XX) += qla2xxx.o qla2200.o | 16 | obj-$(CONFIG_SCSI_QLA22XX) += qla2xxx.o qla2200.o |
| 14 | obj-$(CONFIG_SCSI_QLA2300) += qla2xxx.o qla2300.o | 17 | obj-$(CONFIG_SCSI_QLA2300) += qla2xxx.o qla2300.o |
| 15 | obj-$(CONFIG_SCSI_QLA2322) += qla2xxx.o qla2322.o | 18 | obj-$(CONFIG_SCSI_QLA2322) += qla2xxx.o qla2322.o |
| 16 | obj-$(CONFIG_SCSI_QLA6312) += qla2xxx.o qla6312.o | 19 | obj-$(CONFIG_SCSI_QLA6312) += qla2xxx.o qla6312.o |
| 17 | obj-$(CONFIG_SCSI_QLA24XX) += qla2xxx.o | 20 | obj-$(CONFIG_SCSI_QLA24XX) += qla2xxx.o qla2400.o |
diff --git a/drivers/scsi/qla2xxx/ql2400.c b/drivers/scsi/qla2xxx/ql2400.c new file mode 100644 index 000000000000..6c7165f47e29 --- /dev/null +++ b/drivers/scsi/qla2xxx/ql2400.c | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | /* | ||
| 2 | * QLogic Fibre Channel HBA Driver | ||
| 3 | * Copyright (c) 2003-2005 QLogic Corporation | ||
| 4 | * | ||
| 5 | * See LICENSE.qla2xxx for copyright and licensing details. | ||
| 6 | */ | ||
| 7 | #include <linux/init.h> | ||
| 8 | #include <linux/module.h> | ||
| 9 | #include <linux/pci.h> | ||
| 10 | |||
| 11 | #include "qla_def.h" | ||
| 12 | |||
| 13 | static char qla_driver_name[] = "qla2400"; | ||
| 14 | |||
| 15 | extern uint32_t fw2400_version_str[]; | ||
| 16 | extern uint32_t fw2400_addr01; | ||
| 17 | extern uint32_t fw2400_code01[]; | ||
| 18 | extern uint32_t fw2400_length01; | ||
| 19 | extern uint32_t fw2400_addr02; | ||
| 20 | extern uint32_t fw2400_code02[]; | ||
| 21 | extern uint32_t fw2400_length02; | ||
| 22 | |||
| 23 | static struct qla_fw_info qla_fw_tbl[] = { | ||
| 24 | { | ||
| 25 | .addressing = FW_INFO_ADDR_EXTENDED, | ||
| 26 | .fwcode = (unsigned short *)&fw2400_code01[0], | ||
| 27 | .fwlen = (unsigned short *)&fw2400_length01, | ||
| 28 | .lfwstart = (unsigned long *)&fw2400_addr01, | ||
| 29 | }, | ||
| 30 | { | ||
| 31 | .addressing = FW_INFO_ADDR_EXTENDED, | ||
| 32 | .fwcode = (unsigned short *)&fw2400_code02[0], | ||
| 33 | .fwlen = (unsigned short *)&fw2400_length02, | ||
| 34 | .lfwstart = (unsigned long *)&fw2400_addr02, | ||
| 35 | }, | ||
| 36 | { FW_INFO_ADDR_NOMORE, }, | ||
| 37 | }; | ||
| 38 | |||
| 39 | static struct qla_board_info qla_board_tbl[] = { | ||
| 40 | { | ||
| 41 | .drv_name = qla_driver_name, | ||
| 42 | .isp_name = "ISP2422", | ||
| 43 | .fw_info = qla_fw_tbl, | ||
| 44 | .fw_fname = "ql2400_fw.bin", | ||
| 45 | }, | ||
| 46 | { | ||
| 47 | .drv_name = qla_driver_name, | ||
| 48 | .isp_name = "ISP2432", | ||
| 49 | .fw_info = qla_fw_tbl, | ||
| 50 | .fw_fname = "ql2400_fw.bin", | ||
| 51 | }, | ||
| 52 | }; | ||
| 53 | |||
| 54 | static struct pci_device_id qla24xx_pci_tbl[] = { | ||
| 55 | { | ||
| 56 | .vendor = PCI_VENDOR_ID_QLOGIC, | ||
| 57 | .device = PCI_DEVICE_ID_QLOGIC_ISP2422, | ||
| 58 | .subvendor = PCI_ANY_ID, | ||
| 59 | .subdevice = PCI_ANY_ID, | ||
| 60 | .driver_data = (unsigned long)&qla_board_tbl[0], | ||
| 61 | }, | ||
| 62 | { | ||
| 63 | .vendor = PCI_VENDOR_ID_QLOGIC, | ||
| 64 | .device = PCI_DEVICE_ID_QLOGIC_ISP2432, | ||
| 65 | .subvendor = PCI_ANY_ID, | ||
| 66 | .subdevice = PCI_ANY_ID, | ||
| 67 | .driver_data = (unsigned long)&qla_board_tbl[1], | ||
| 68 | }, | ||
| 69 | {0, 0}, | ||
| 70 | }; | ||
| 71 | MODULE_DEVICE_TABLE(pci, qla24xx_pci_tbl); | ||
| 72 | |||
| 73 | static int __devinit | ||
| 74 | qla24xx_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | ||
| 75 | { | ||
| 76 | return qla2x00_probe_one(pdev, | ||
| 77 | (struct qla_board_info *)id->driver_data); | ||
| 78 | } | ||
| 79 | |||
| 80 | static void __devexit | ||
| 81 | qla24xx_remove_one(struct pci_dev *pdev) | ||
| 82 | { | ||
| 83 | qla2x00_remove_one(pdev); | ||
| 84 | } | ||
| 85 | |||
| 86 | static struct pci_driver qla24xx_pci_driver = { | ||
| 87 | .name = "qla2400", | ||
| 88 | .id_table = qla24xx_pci_tbl, | ||
| 89 | .probe = qla24xx_probe_one, | ||
| 90 | .remove = __devexit_p(qla24xx_remove_one), | ||
| 91 | }; | ||
| 92 | |||
| 93 | static int __init | ||
| 94 | qla24xx_init(void) | ||
| 95 | { | ||
| 96 | return pci_module_init(&qla24xx_pci_driver); | ||
| 97 | } | ||
| 98 | |||
| 99 | static void __exit | ||
| 100 | qla24xx_exit(void) | ||
| 101 | { | ||
| 102 | pci_unregister_driver(&qla24xx_pci_driver); | ||
| 103 | } | ||
| 104 | |||
| 105 | module_init(qla24xx_init); | ||
| 106 | module_exit(qla24xx_exit); | ||
| 107 | |||
| 108 | MODULE_AUTHOR("QLogic Corporation"); | ||
| 109 | MODULE_DESCRIPTION("QLogic ISP24xx FC-SCSI Host Bus Adapter driver"); | ||
| 110 | MODULE_LICENSE("GPL"); | ||
| 111 | MODULE_VERSION(QLA2XXX_VERSION); | ||
diff --git a/drivers/scsi/qla2xxx/ql2400_fw.c b/drivers/scsi/qla2xxx/ql2400_fw.c new file mode 100644 index 000000000000..5977795854f8 --- /dev/null +++ b/drivers/scsi/qla2xxx/ql2400_fw.c | |||
| @@ -0,0 +1,12376 @@ | |||
| 1 | /* | ||
| 2 | * QLogic Fibre Channel HBA Driver | ||
| 3 | * Copyright (c) 2003-2005 QLogic Corporation | ||
| 4 | * | ||
| 5 | * See LICENSE.qla2xxx for copyright and licensing details. | ||
| 6 | */ | ||
| 7 | #include <linux/types.h> | ||
| 8 | |||
| 9 | /* | ||
| 10 | * Firmware Version 4.00.16 (08:09 Oct 26, 2005) | ||
| 11 | */ | ||
| 12 | |||
| 13 | #ifdef UNIQUE_FW_NAME | ||
| 14 | uint32_t fw2400_version = 4*1024+0; | ||
| 15 | #else | ||
| 16 | uint32_t risc_code_version = 4*1024+0; | ||
| 17 | #endif | ||
| 18 | |||
| 19 | #ifdef UNIQUE_FW_NAME | ||
| 20 | uint32_t fw2400_version_str[] = {4, 0,16}; | ||
| 21 | #else | ||
| 22 | uint32_t firmware_version[] = {4, 0,16}; | ||
| 23 | #endif | ||
| 24 | |||
| 25 | #ifdef UNIQUE_FW_NAME | ||
| 26 | #define fw2400_VERSION_STRING "4.00.16" | ||
| 27 | #else | ||
| 28 | #define FW_VERSION_STRING "4.00.16" | ||
| 29 | #endif | ||
| 30 | |||
| 31 | #ifdef UNIQUE_FW_NAME | ||
| 32 | uint32_t fw2400_addr01 = 0x00100000 ; | ||
| 33 | #else | ||
| 34 | uint32_t risc_code_addr01 = 0x00100000 ; | ||
| 35 | #endif | ||
| 36 | |||
| 37 | #ifdef UNIQUE_FW_NAME | ||
| 38 | uint32_t fw2400_code01[] = { | ||
| 39 | #else | ||
| 40 | uint32_t risc_code01[] = { | ||
| 41 | #endif | ||
| 42 | 0x0401f17c, 0x0010e000, 0x00100000, 0x0000ab4a, | ||
| 43 | 0x00000004, 0x00000000, 0x00000010, 0x00000002, | ||
| 44 | 0x00000003, 0x00000000, 0x20434f50, 0x59524947, | ||
| 45 | 0x48542032, 0x30303520, 0x514c4f47, 0x49432043, | ||
| 46 | 0x4f52504f, 0x52415449, 0x4f4e2020, 0x20495350, | ||
| 47 | 0x32347878, 0x20466972, 0x6d776172, 0x65202020, | ||
| 48 | 0x56657273, 0x696f6e20, 0x342e302e, 0x31362020, | ||
| 49 | 0x20202024, 0x00000000, 0x00000000, 0x00000000, | ||
| 50 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 51 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 52 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 53 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 54 | 0x42001800, 0x0010014f, 0x42002000, 0x0010b8fe, | ||
| 55 | 0x500c0800, 0x800c1800, 0x500c1000, 0x800c1800, | ||
| 56 | 0x54042000, 0x80102000, 0x80040800, 0x80081040, | ||
| 57 | 0x040207fc, 0x500c0800, 0x800409c0, 0x040207f6, | ||
| 58 | 0x44002000, 0x80102000, 0x40100000, 0x44040000, | ||
| 59 | 0x80000000, 0x44080000, 0x80000000, 0x440c0000, | ||
| 60 | 0x80000000, 0x44100000, 0x80000000, 0x44140000, | ||
| 61 | 0x80000000, 0x44180000, 0x80000000, 0x441c0000, | ||
| 62 | 0x80000000, 0x44200000, 0x80000000, 0x44240000, | ||
| 63 | 0x80000000, 0x44280000, 0x80000000, 0x442c0000, | ||
| 64 | 0x80000000, 0x44300000, 0x80000000, 0x44340000, | ||
| 65 | 0x80000000, 0x44380000, 0x80000000, 0x443c0000, | ||
| 66 | 0x80000000, 0x44400000, 0x80000000, 0x44440000, | ||
| 67 | 0x80000000, 0x44480000, 0x80000000, 0x444c0000, | ||
| 68 | 0x80000000, 0x44500000, 0x80000000, 0x44540000, | ||
| 69 | 0x80000000, 0x44580000, 0x80000000, 0x445c0000, | ||
| 70 | 0x80000000, 0x44600000, 0x80000000, 0x44640000, | ||
| 71 | 0x80000000, 0x44680000, 0x80000000, 0x446c0000, | ||
| 72 | 0x80000000, 0x44700000, 0x80000000, 0x44740000, | ||
| 73 | 0x80000000, 0x44780000, 0x80000000, 0x447c0000, | ||
| 74 | 0x80000000, 0x44800000, 0x80000000, 0x44840000, | ||
| 75 | 0x80000000, 0x44880000, 0x80000000, 0x448c0000, | ||
| 76 | 0x80000000, 0x44900000, 0x80000000, 0x44940000, | ||
| 77 | 0x80000000, 0x44980000, 0x80000000, 0x449c0000, | ||
| 78 | 0x80000000, 0x44a00000, 0x80000000, 0x44a40000, | ||
| 79 | 0x80000000, 0x44a80000, 0x80000000, 0x44ac0000, | ||
| 80 | 0x80000000, 0x44b00000, 0x80000000, 0x44b40000, | ||
| 81 | 0x80000000, 0x44b80000, 0x80000000, 0x44bc0000, | ||
| 82 | 0x80000000, 0x44c00000, 0x80000000, 0x44c40000, | ||
| 83 | 0x80000000, 0x44c80000, 0x80000000, 0x44cc0000, | ||
| 84 | 0x80000000, 0x44d00000, 0x80000000, 0x44d80000, | ||
| 85 | 0x80000000, 0x44d40000, 0x80000000, 0x44dc0000, | ||
| 86 | 0x80000000, 0x44e00000, 0x80000000, 0x44e40000, | ||
| 87 | 0x80000000, 0x44e80000, 0x80000000, 0x44ec0000, | ||
| 88 | 0x80000000, 0x44f00000, 0x80000000, 0x44f40000, | ||
| 89 | 0x80000000, 0x44f80000, 0x80000000, 0x44fc0000, | ||
| 90 | 0x80000000, 0x45000000, 0x80000000, 0x45040000, | ||
| 91 | 0x80000000, 0x45080000, 0x80000000, 0x450c0000, | ||
| 92 | 0x80000000, 0x45100000, 0x80000000, 0x45140000, | ||
| 93 | 0x80000000, 0x45180000, 0x80000000, 0x451c0000, | ||
| 94 | 0x80000000, 0x45200000, 0x80000000, 0x45240000, | ||
| 95 | 0x80000000, 0x45280000, 0x80000000, 0x452c0000, | ||
| 96 | 0x80000000, 0x45300000, 0x80000000, 0x45340000, | ||
| 97 | 0x80000000, 0x45380000, 0x80000000, 0x453c0000, | ||
| 98 | 0x80000000, 0x45400000, 0x80000000, 0x45440000, | ||
| 99 | 0x80000000, 0x45480000, 0x80000000, 0x454c0000, | ||
| 100 | 0x80000000, 0x45500000, 0x80000000, 0x45540000, | ||
| 101 | 0x80000000, 0x45580000, 0x80000000, 0x455c0000, | ||
| 102 | 0x80000000, 0x45600000, 0x80000000, 0x45640000, | ||
| 103 | 0x80000000, 0x45680000, 0x80000000, 0x456c0000, | ||
| 104 | 0x80000000, 0x45700000, 0x80000000, 0x45740000, | ||
| 105 | 0x80000000, 0x45780000, 0x80000000, 0x457c0000, | ||
| 106 | 0x80000000, 0x45800000, 0x80000000, 0x45840000, | ||
| 107 | 0x80000000, 0x45880000, 0x80000000, 0x458c0000, | ||
| 108 | 0x80000000, 0x45900000, 0x80000000, 0x45940000, | ||
| 109 | 0x80000000, 0x45980000, 0x80000000, 0x459c0000, | ||
| 110 | 0x80000000, 0x45a00000, 0x80000000, 0x45a40000, | ||
| 111 | 0x80000000, 0x45a80000, 0x80000000, 0x45ac0000, | ||
| 112 | 0x80000000, 0x45b00000, 0x80000000, 0x45b40000, | ||
| 113 | 0x80000000, 0x45b80000, 0x80000000, 0x45bc0000, | ||
| 114 | 0x80000000, 0x45c00000, 0x80000000, 0x45c40000, | ||
| 115 | 0x80000000, 0x45c80000, 0x80000000, 0x45cc0000, | ||
| 116 | 0x80000000, 0x45d00000, 0x80000000, 0x45d40000, | ||
| 117 | 0x80000000, 0x45d80000, 0x80000000, 0x45dc0000, | ||
| 118 | 0x80000000, 0x45e00000, 0x80000000, 0x45e40000, | ||
| 119 | 0x80000000, 0x45e80000, 0x80000000, 0x45ec0000, | ||
| 120 | 0x80000000, 0x45f00000, 0x80000000, 0x45f40000, | ||
| 121 | 0x80000000, 0x45f80000, 0x80000000, 0x45fc0000, | ||
| 122 | 0x4a03c020, 0x00004000, 0x4a03c011, 0x40000010, | ||
| 123 | 0x04006000, 0x4203e000, 0x40000000, 0x59e00017, | ||
| 124 | 0x8c000508, 0x04000003, 0x4a03c017, 0x00000000, | ||
| 125 | 0x4203e000, 0x30000001, 0x0401f000, 0x0000bf00, | ||
| 126 | 0x00000080, 0x0000bfe0, 0x00000020, 0x0000ff00, | ||
| 127 | 0x00000080, 0x0000ffd0, 0x00000030, 0x00007100, | ||
| 128 | 0x00000010, 0x00007200, 0x00000008, 0x00007209, | ||
| 129 | 0x00000007, 0x00007300, 0x00000008, 0x00007309, | ||
| 130 | 0x00000007, 0x00007400, 0x00000008, 0x00007409, | ||
| 131 | 0x00000007, 0x00007600, 0x000000b0, 0x00007700, | ||
| 132 | 0x00000040, 0x00003000, 0x00000070, 0x00004000, | ||
| 133 | 0x000000c0, 0x00006000, 0x00000050, 0x00006100, | ||
| 134 | 0x00000010, 0x00006130, 0x00000010, 0x00006150, | ||
| 135 | 0x00000010, 0x00006170, 0x00000010, 0x00006190, | ||
| 136 | 0x00000010, 0x000061b0, 0x00000010, 0x00000000, | ||
| 137 | 0x42000000, 0x00000100, 0x4202f000, 0x00000000, | ||
| 138 | 0x42000800, 0x00021f00, 0x45780800, 0x80040800, | ||
| 139 | 0x80000040, 0x040207fd, 0x4203f000, 0x00021fff, | ||
| 140 | 0x40000000, 0x4203e000, 0x90000100, 0x40000000, | ||
| 141 | 0x0201f800, 0x001006fd, 0x42000000, 0x00001000, | ||
| 142 | 0x50000000, 0x82000480, 0x24320002, 0x04020015, | ||
| 143 | 0x42000800, 0x00000064, 0x80040840, 0x04000007, | ||
| 144 | 0x4a030000, 0x00000001, 0x40000000, 0x59800000, | ||
| 145 | 0x8c000500, 0x040007f9, 0x04000008, 0x42000800, | ||
| 146 | 0x00007a17, 0x50040000, 0x8c00050e, 0x04020003, | ||
| 147 | 0x8400054e, 0x44000800, 0x4a030000, 0x00000000, | ||
| 148 | 0x4a03c020, 0x00000004, 0x4203e000, 0x6000000f, | ||
| 149 | 0x59e00023, 0x8c000500, 0x04020039, 0x42000000, | ||
| 150 | 0x00100001, 0x50000800, 0x82040c00, 0x00000004, | ||
| 151 | 0x58042003, 0x42001000, 0xffffffff, 0x0201f800, | ||
| 152 | 0x001006f4, 0x0402004e, 0x58042003, 0x42001000, | ||
| 153 | 0xffffffff, 0x0201f800, 0x001006f4, 0x04020048, | ||
| 154 | 0x58042003, 0x42001000, 0x00ffffff, 0x0201f800, | ||
| 155 | 0x001006f4, 0x04020042, 0x58042003, 0x42001000, | ||
| 156 | 0x00ffffff, 0x0201f800, 0x001006f4, 0x0402003c, | ||
| 157 | 0x42000000, 0x00100001, 0x5000a000, 0x8250a400, | ||
| 158 | 0x00000004, 0x4200a800, 0x00020000, 0x5850b003, | ||
| 159 | 0x0201f800, 0x0010ab17, 0x8250a400, 0x00000005, | ||
| 160 | 0x4a0370e8, 0x00000003, 0x4200a800, 0x0000c000, | ||
| 161 | 0x5850b003, 0x0201f800, 0x0010ab17, 0x4a0378e8, | ||
| 162 | 0x00000003, 0x4200a800, 0x00008000, 0x5850b003, | ||
| 163 | 0x0201f800, 0x0010ab17, 0x0401f02b, 0x42000800, | ||
| 164 | 0x00020000, 0x58042003, 0x42001000, 0xffffffff, | ||
| 165 | 0x0201f800, 0x001006f4, 0x04020019, 0x4a0370e8, | ||
| 166 | 0x00000003, 0x42000800, 0x0000c000, 0x58042003, | ||
| 167 | 0x82102500, 0x00ffffff, 0x42001000, 0x00ffffff, | ||
| 168 | 0x0201f800, 0x001006f4, 0x0402000d, 0x4a0378e8, | ||
| 169 | 0x00000003, 0x42000800, 0x00008000, 0x58042003, | ||
| 170 | 0x82102500, 0x00ffffff, 0x42001000, 0x00ffffff, | ||
| 171 | 0x0201f800, 0x001006f4, 0x0400000b, 0x4a03c020, | ||
| 172 | 0x00004010, 0x4a03c011, 0x40100011, 0x04006000, | ||
| 173 | 0x4203e000, 0x40000000, 0x4203e000, 0x30000001, | ||
| 174 | 0x0401f000, 0x0201f800, 0x00100791, 0x42001000, | ||
| 175 | 0x0010ab4a, 0x40080000, 0x80140480, 0x82001d00, | ||
| 176 | 0xffffff00, 0x04020003, 0x40001800, 0x0401f003, | ||
| 177 | 0x42001800, 0x000000ff, 0x480bc840, 0x480fc842, | ||
| 178 | 0x04011000, 0x400c0000, 0x80081400, 0x40140000, | ||
| 179 | 0x80080580, 0x040207f0, 0x4817500d, 0x45782800, | ||
| 180 | 0x59c40000, 0x82000500, 0xffff0000, 0x80000120, | ||
| 181 | 0x82000580, 0x00002422, 0x04020005, 0x59a80005, | ||
| 182 | 0x8400054e, 0x48035005, 0x0401f008, 0x59e00003, | ||
| 183 | 0x82000500, 0x00030000, 0x04000004, 0x59a80005, | ||
| 184 | 0x84000554, 0x48035005, 0x42000800, 0x00000040, | ||
| 185 | 0x59a80005, 0x8c000514, 0x0402000e, 0x42000800, | ||
| 186 | 0x00001000, 0x82141480, 0x0017ffff, 0x04021009, | ||
| 187 | 0x80040902, 0x82141480, 0x0013ffff, 0x04021005, | ||
| 188 | 0x80040902, 0x82141480, 0x0011ffff, 0x04001b8d, | ||
| 189 | 0x4807500e, 0x42001000, 0x00000024, 0x0201f800, | ||
| 190 | 0x00106681, 0x82040c00, 0x0010d1c0, 0x4807500b, | ||
| 191 | 0x4a03c810, 0x00100000, 0x4a03c811, 0x0010ab4a, | ||
| 192 | 0x4a03c829, 0x00000004, 0x59e40001, 0x82000540, | ||
| 193 | 0x0003001d, 0x4803c801, 0x4a03c014, 0x001c001c, | ||
| 194 | 0x42001000, 0x0000001c, 0x0201f800, 0x001006e2, | ||
| 195 | 0x4202c000, 0x0010d1c0, 0x59aab00b, 0x59aaa00b, | ||
| 196 | 0x59aaa80b, 0x59aac80e, 0x49675069, 0x59a8000b, | ||
| 197 | 0x4803500c, 0x0401fbf5, 0x0201f800, 0x00107903, | ||
| 198 | 0x0201f800, 0x001007be, 0x0201f800, 0x00100807, | ||
| 199 | 0x0201f800, 0x00101a05, 0x0201f800, 0x00101354, | ||
| 200 | 0x0201f800, 0x00100969, 0x0201f800, 0x00101354, | ||
| 201 | 0x0201f800, 0x00100f4c, 0x0201f800, 0x001066c1, | ||
| 202 | 0x0401fb1a, 0x0201f800, 0x0010220e, 0x0201f800, | ||
| 203 | 0x001053bb, 0x0201f800, 0x00104c90, 0x0201f800, | ||
| 204 | 0x00106194, 0x0201f800, 0x00105f28, 0x0201f800, | ||
| 205 | 0x001013ed, 0x0201f800, 0x0010126f, 0x4203e000, | ||
| 206 | 0xf0000001, 0x42000000, 0x00001000, 0x50000000, | ||
| 207 | 0x82000480, 0x24220001, 0x04000016, 0x59e00002, | ||
| 208 | 0x8c00051e, 0x42000000, 0x7ffe00fe, 0x04020003, | ||
| 209 | 0x42000000, 0x7ffe01fe, 0x50000800, 0x48075058, | ||
| 210 | 0x80040920, 0x82040580, 0x0000013a, 0x04000004, | ||
| 211 | 0x82040580, 0x0000013b, 0x04020006, 0x59a80005, | ||
| 212 | 0x84000552, 0x48035005, 0x4a0378e4, 0x000c0000, | ||
| 213 | 0x4a03c018, 0x0000000f, 0x4203e000, 0x20000511, | ||
| 214 | 0x4203e000, 0x50010000, 0x4a03c020, 0x00000000, | ||
| 215 | 0x04027013, 0x59e00020, 0x82000580, 0x00000002, | ||
| 216 | 0x0402000f, 0x4a03c020, 0x00004000, 0x4a03c011, | ||
| 217 | 0x40000010, 0x04006000, 0x4203e000, 0x40000000, | ||
| 218 | 0x59e00017, 0x8c000508, 0x04000003, 0x4a03c017, | ||
| 219 | 0x00000000, 0x4203e000, 0x30000001, 0x4202d800, | ||
| 220 | 0x00000000, 0x4203e000, 0xb0600000, 0x59a80005, | ||
| 221 | 0x42000800, 0x00000002, 0x8c000512, 0x04020007, | ||
| 222 | 0x42000800, 0x0000000f, 0x8c000514, 0x04020003, | ||
| 223 | 0x42000800, 0x00000001, 0x4007f800, 0x59a80005, | ||
| 224 | 0x8c000514, 0x02020000, 0x00020004, 0x59e00003, | ||
| 225 | 0x82000500, 0x00030000, 0x82000580, 0x00000000, | ||
| 226 | 0x04020af8, 0x0201f000, 0x00020004, 0x4df00000, | ||
| 227 | 0x4203e000, 0x50000000, 0x416c0000, 0x82000c80, | ||
| 228 | 0x00000008, 0x04021aef, 0x0c01f804, 0x5c03e000, | ||
| 229 | 0x0201f000, 0x00020008, 0x001002f7, 0x0010030a, | ||
| 230 | 0x001003d7, 0x001002f6, 0x00100452, 0x001002f6, | ||
| 231 | 0x001002f6, 0x00100593, 0x0401fae2, 0x42000800, | ||
| 232 | 0x0010b4a4, 0x5804001d, 0x4803c857, 0x8c000500, | ||
| 233 | 0x0400000d, 0x84000500, 0x4800081d, 0x4202d800, | ||
| 234 | 0x00000004, 0x0401fbd3, 0x49f3c857, 0x5c000800, | ||
| 235 | 0x5c000000, 0x82000540, 0x00003e00, 0x4c000000, | ||
| 236 | 0x4c040000, 0x1c01f000, 0x0401fbbd, 0x0201f800, | ||
| 237 | 0x0010513b, 0x04000009, 0x0201f800, 0x00105151, | ||
| 238 | 0x0402002e, 0x59c40006, 0x82000540, 0x000000c0, | ||
| 239 | 0x48038806, 0x0401f029, 0x0201f800, 0x001050a2, | ||
| 240 | 0x836c0580, 0x00000001, 0x040200bc, 0x59a80017, | ||
| 241 | 0x82000580, 0x00000009, 0x040200b8, 0x497b5010, | ||
| 242 | 0x4a038893, 0x00000001, 0x42001000, 0x000000f0, | ||
| 243 | 0x0201f800, 0x0010193d, 0x0201f800, 0x00105149, | ||
| 244 | 0x59c41006, 0x04020006, 0x82081540, 0x000000f1, | ||
| 245 | 0x82081500, 0xbbffffff, 0x0401f003, 0x82081540, | ||
| 246 | 0x440000f1, 0x480b8806, 0x0201f800, 0x0010609e, | ||
| 247 | 0x4a0378e4, 0x00002000, 0x42000000, 0x0010b83a, | ||
| 248 | 0x0201f800, 0x0010aa47, 0x42001000, 0x00008030, | ||
| 249 | 0x497b5013, 0x0401f035, 0x0201f800, 0x00103b38, | ||
| 250 | 0x59c400a4, 0x82000500, 0x0000000f, 0x82000480, | ||
| 251 | 0x00000007, 0x04021091, 0x0201f800, 0x0010609e, | ||
| 252 | 0x59c400a3, 0x82000500, 0xffefffff, 0x480388a3, | ||
| 253 | 0x59a8004b, 0x800001c0, 0x04020004, 0x0201f800, | ||
| 254 | 0x00104139, 0x0401f085, 0x59a80015, 0x84000546, | ||
| 255 | 0x48035015, 0x0201f800, 0x00105141, 0x59c41006, | ||
| 256 | 0x04020006, 0x82081540, 0x44000001, 0x82081500, | ||
| 257 | 0xffffff0f, 0x0401f003, 0x82081540, 0x440000f1, | ||
| 258 | 0x480b8806, 0x497b9005, 0x4a038802, 0x0000ffff, | ||
| 259 | 0x4a0378e4, 0x00003000, 0x42000000, 0x0010b80c, | ||
| 260 | 0x0201f800, 0x0010aa47, 0x59a81010, 0x42000800, | ||
| 261 | 0x00000003, 0x0201f800, 0x00106c78, 0x42001000, | ||
| 262 | 0x00008010, 0x59a8180a, 0x0201f800, 0x00103a3e, | ||
| 263 | 0x0201f800, 0x00101815, 0x59a80805, 0x82040d00, | ||
| 264 | 0xffffffdf, 0x48075005, 0x0201f800, 0x0010483d, | ||
| 265 | 0x0201f800, 0x0010513b, 0x0400000a, 0x0201f800, | ||
| 266 | 0x0010413e, 0x04000007, 0x4a035013, 0x00000001, | ||
| 267 | 0x497b5021, 0x0201f800, 0x00103c80, 0x0401f04f, | ||
| 268 | 0x0201f800, 0x001048ec, 0x04000005, 0x59c41002, | ||
| 269 | 0x8408150c, 0x480b8802, 0x0401f012, 0x0201f800, | ||
| 270 | 0x0010513b, 0x04020006, 0x59a8001d, 0x80000540, | ||
| 271 | 0x02000800, 0x0010930f, 0x0401f00a, 0x0201f800, | ||
| 272 | 0x0010930f, 0x59a80026, 0x8c000506, 0x04020005, | ||
| 273 | 0x59a8001d, 0x80000540, 0x02020800, 0x00104245, | ||
| 274 | 0x497b5028, 0x497b5027, 0x497b5018, 0x0201f800, | ||
| 275 | 0x0010513b, 0x59a81026, 0x0402000a, 0x0201f800, | ||
| 276 | 0x0010162a, 0x80001580, 0x59a8002a, 0x82000500, | ||
| 277 | 0xffff0000, 0x80040d40, 0x4807502a, 0x0401f005, | ||
| 278 | 0x59a8002a, 0x82000500, 0xffff0000, 0x4803502a, | ||
| 279 | 0x599c0017, 0x8c00050a, 0x04000002, 0x84081544, | ||
| 280 | 0x480b5026, 0x0201f800, 0x0010513b, 0x04000004, | ||
| 281 | 0x0201f800, 0x0010162a, 0x48078880, 0x42001000, | ||
| 282 | 0x00000005, 0x0201f800, 0x001070b0, 0x497b5028, | ||
| 283 | 0x497b501b, 0x4a03501c, 0x0000ffff, 0x4a0378e4, | ||
| 284 | 0x000000c0, 0x4202d800, 0x00000002, 0x0201f800, | ||
| 285 | 0x0010513b, 0x04000007, 0x59a80026, 0x82000500, | ||
| 286 | 0x0000000c, 0x82000580, 0x00000004, 0x04000003, | ||
| 287 | 0x0201f800, 0x00101e45, 0x1c01f000, 0x59a8001c, | ||
| 288 | 0x82000580, 0x0000ffff, 0x04000004, 0x0201f800, | ||
| 289 | 0x00101e45, 0x0401f074, 0x59a80026, 0x8c00050a, | ||
| 290 | 0x04020003, 0x8c000506, 0x0400001c, 0x8c000500, | ||
| 291 | 0x0400001a, 0x4a038802, 0x0000ffbf, 0x8c000502, | ||
| 292 | 0x04000016, 0x599c0018, 0x8c000516, 0x04020010, | ||
| 293 | 0x59a80027, 0x82000580, 0x0000ffff, 0x0400000c, | ||
| 294 | 0x0201f800, 0x00101f9a, 0x59a80026, 0x8c000504, | ||
| 295 | 0x0402005d, 0x42001000, 0x00000003, 0x417a5800, | ||
| 296 | 0x0201f800, 0x00101fbf, 0x0401f057, 0x59a80028, | ||
| 297 | 0x80000540, 0x04020054, 0x59a80026, 0x8c000508, | ||
| 298 | 0x04020005, 0x59a8001b, 0x80000540, 0x0402004e, | ||
| 299 | 0x0401f003, 0x8c000516, 0x0400004b, 0x0201f800, | ||
| 300 | 0x001048ec, 0x04020048, 0x599c0018, 0x8c000516, | ||
| 301 | 0x04020004, 0x0201f800, 0x00104c51, 0x04020042, | ||
| 302 | 0x599c0017, 0x8c00050a, 0x0400000d, 0x4200b000, | ||
| 303 | 0x000007f0, 0x417a8800, 0x0201f800, 0x00020245, | ||
| 304 | 0x04020004, 0x59340200, 0x8c00051a, 0x04020036, | ||
| 305 | 0x81468800, 0x8058b040, 0x040207f8, 0x4a038802, | ||
| 306 | 0x0000ffff, 0x42001800, 0x0010b4eb, 0x0401fb8c, | ||
| 307 | 0x42001800, 0x0010b4f8, 0x0401fb89, 0x59a80005, | ||
| 308 | 0x84000502, 0x48035005, 0x4a0378e4, 0x00000080, | ||
| 309 | 0x4202d800, 0x00000003, 0x4a03501c, 0x0000ffff, | ||
| 310 | 0x0401fa7f, 0x80000580, 0x0201f800, 0x00101590, | ||
| 311 | 0x599c0018, 0x8c000516, 0x04000004, 0x0201f800, | ||
| 312 | 0x00103b10, 0x0401f009, 0x42001800, 0x0000ffff, | ||
| 313 | 0x42002000, 0x00000006, 0x42003000, 0x00000000, | ||
| 314 | 0x0201f800, 0x00103aae, 0x0201f800, 0x00105151, | ||
| 315 | 0x0400000b, 0x59c40006, 0x0201f800, 0x0010513b, | ||
| 316 | 0x04000004, 0x82000500, 0xffffff0f, 0x0401f003, | ||
| 317 | 0x82000500, 0xfbffffff, 0x48038806, 0x0201f800, | ||
| 318 | 0x00106f36, 0x1c01f000, 0x4c040000, 0x4c080000, | ||
| 319 | 0x4c100000, 0x59a8003e, 0x82000c80, 0x00000004, | ||
| 320 | 0x04021980, 0x0c01f805, 0x5c002000, 0x5c001000, | ||
| 321 | 0x5c000800, 0x1c01f000, 0x00100462, 0x001004ea, | ||
| 322 | 0x00100516, 0x00100577, 0x42000000, 0x00000001, | ||
| 323 | 0x0201f800, 0x00101590, 0x0201f800, 0x0010609e, | ||
| 324 | 0x59c408a3, 0x82040d00, 0xfffffff7, 0x480788a3, | ||
| 325 | 0x0201f800, 0x00105141, 0x0400000e, 0x0201f800, | ||
| 326 | 0x00105151, 0x0400000b, 0x0201f800, 0x00105149, | ||
| 327 | 0x04020964, 0x59c400a3, 0x84000532, 0x84000570, | ||
| 328 | 0x480388a3, 0x4a038808, 0x00000008, 0x0401f010, | ||
| 329 | 0x59c400a3, 0x84000530, 0x82000500, 0xbf7fffff, | ||
| 330 | 0x480388a3, 0x42000800, 0x000000f8, 0x0201f800, | ||
| 331 | 0x00104200, 0x59c400a3, 0x82000540, 0x00018000, | ||
| 332 | 0x8400051c, 0x480388a3, 0x497b8808, 0x59c40006, | ||
| 333 | 0x82000500, 0xfbffff0e, 0x48038806, 0x497b2822, | ||
| 334 | 0x497b2823, 0x42000800, 0x000001f4, 0x42001000, | ||
| 335 | 0x00100591, 0x0201f800, 0x00105f83, 0x59c40805, | ||
| 336 | 0x42001000, 0x00000001, 0x0201f800, 0x0010193d, | ||
| 337 | 0x0201f800, 0x0010163b, 0x0402000a, 0x42000000, | ||
| 338 | 0x00000001, 0x0201f800, 0x0010188c, 0x42000000, | ||
| 339 | 0x00000001, 0x0201f800, 0x00101821, 0x0401f022, | ||
| 340 | 0x0201f800, 0x00101642, 0x04020008, 0x41780000, | ||
| 341 | 0x0201f800, 0x0010188c, 0x41780000, 0x0201f800, | ||
| 342 | 0x00101821, 0x0401f018, 0x0201f800, 0x00101649, | ||
| 343 | 0x0402000a, 0x42000000, 0x00000002, 0x0201f800, | ||
| 344 | 0x0010188c, 0x42000000, 0x00000002, 0x0201f800, | ||
| 345 | 0x00101821, 0x0401f00c, 0x0201f800, 0x00101650, | ||
| 346 | 0x04020918, 0x59a80049, 0x800001c0, 0x04000006, | ||
| 347 | 0x0201f800, 0x00101656, 0x4a03503e, 0x00000001, | ||
| 348 | 0x0401f021, 0x0201f800, 0x00101927, 0x4a03503e, | ||
| 349 | 0x00000001, 0x0201f800, 0x00105141, 0x0400000c, | ||
| 350 | 0x0201f800, 0x00105151, 0x04000009, 0x0201f800, | ||
| 351 | 0x00105149, 0x04020903, 0x4a035033, 0x00000001, | ||
| 352 | 0x0201f800, 0x001050a2, 0x0401f00f, 0x59c400a4, | ||
| 353 | 0x82000500, 0x0000000f, 0x82000580, 0x00000008, | ||
| 354 | 0x04000003, 0x4a038805, 0x04000000, 0x59c400a3, | ||
| 355 | 0x82000540, 0x0001c000, 0x480388a3, 0x84000520, | ||
| 356 | 0x480388a3, 0x1c01f000, 0x0401f8a3, 0x04020004, | ||
| 357 | 0x4a03503e, 0x00000003, 0x0401f027, 0x0201f800, | ||
| 358 | 0x00101650, 0x04020011, 0x59a80049, 0x800001c0, | ||
| 359 | 0x0400000e, 0x0201f800, 0x00101656, 0x59a80048, | ||
| 360 | 0x8c00051e, 0x0400001c, 0x0201f800, 0x00105149, | ||
| 361 | 0x04020009, 0x4a035033, 0x00000001, 0x0201f800, | ||
| 362 | 0x001050a2, 0x0401f004, 0x0201f800, 0x001018d3, | ||
| 363 | 0x04020011, 0x0201f800, 0x00101815, 0x4a03503e, | ||
| 364 | 0x00000002, 0x497b5049, 0x59c400a3, 0x84000520, | ||
| 365 | 0x480388a3, 0x497b2822, 0x497b2823, 0x42000800, | ||
| 366 | 0x0000002d, 0x42001000, 0x00100591, 0x0201f800, | ||
| 367 | 0x00105f83, 0x1c01f000, 0x0401f877, 0x04020004, | ||
| 368 | 0x4a03503e, 0x00000003, 0x0401f05b, 0x4a038805, | ||
| 369 | 0x000000f0, 0x0201f800, 0x001018d3, 0x04020050, | ||
| 370 | 0x0201f800, 0x00105149, 0x04000044, 0x59c400a4, | ||
| 371 | 0x82000500, 0x0000000f, 0x82000580, 0x00000008, | ||
| 372 | 0x04000020, 0x59c40005, 0x8c000534, 0x0402001d, | ||
| 373 | 0x59940022, 0x82000580, 0x00000001, 0x04020046, | ||
| 374 | 0x0201f800, 0x00105151, 0x04020043, 0x4a038805, | ||
| 375 | 0x000000f0, 0x0201f800, 0x00105196, 0x4a035032, | ||
| 376 | 0x0000aaaa, 0x4a035033, 0x00000000, 0x59c408a3, | ||
| 377 | 0x82040d40, 0x00000008, 0x480788a3, 0x4202d800, | ||
| 378 | 0x00000001, 0x4a03503e, 0x00000000, 0x4a038805, | ||
| 379 | 0x00000001, 0x497b2822, 0x497b2823, 0x0401f01f, | ||
| 380 | 0x0201f800, 0x00105151, 0x04020007, 0x59a80032, | ||
| 381 | 0x82000580, 0x0000aaaa, 0x04020003, 0x4a035010, | ||
| 382 | 0x00ffffff, 0x497b5032, 0x59c40006, 0x82000540, | ||
| 383 | 0x04000001, 0x48038806, 0x59a80805, 0x8c040d06, | ||
| 384 | 0x04020005, 0x59c408a3, 0x82040d40, 0x00000008, | ||
| 385 | 0x480788a3, 0x4202d800, 0x00000001, 0x4a03503e, | ||
| 386 | 0x00000000, 0x4a038805, 0x00000001, 0x497b2822, | ||
| 387 | 0x497b2823, 0x0401f010, 0x59c40005, 0x82000500, | ||
| 388 | 0x000000c0, 0x0400000c, 0x59c40006, 0x82000540, | ||
| 389 | 0x000000f1, 0x48038806, 0x0401f7ef, 0x0201f800, | ||
| 390 | 0x00101650, 0x04020004, 0x59a80049, 0x800001c0, | ||
| 391 | 0x040207a4, 0x497b8885, 0x1c01f000, 0x4803c856, | ||
| 392 | 0x42000000, 0x00000001, 0x0201f800, 0x00101590, | ||
| 393 | 0x4a03503e, 0x00000000, 0x0201f800, 0x00101650, | ||
| 394 | 0x0402000b, 0x59a80052, 0x800001c0, 0x04000004, | ||
| 395 | 0x80000040, 0x48035052, 0x04020005, 0x4a035052, | ||
| 396 | 0x0000000a, 0x4a035049, 0x00000001, 0x497b8885, | ||
| 397 | 0x0401f0ed, 0x59940022, 0x59940823, 0x80040540, | ||
| 398 | 0x1c01f000, 0x497b2823, 0x1c01f000, 0x4c080000, | ||
| 399 | 0x42001000, 0x000000f0, 0x0201f800, 0x0010193d, | ||
| 400 | 0x5c001000, 0x1c01f000, 0x4a03505c, 0x00000004, | ||
| 401 | 0x4a03505d, 0x00000000, 0x4a03505e, 0x00000010, | ||
| 402 | 0x4a03505f, 0x00000002, 0x4a035010, 0x00ffffff, | ||
| 403 | 0x0201f800, 0x0010930f, 0x4a03502a, 0x20200000, | ||
| 404 | 0x4a03502b, 0x88000200, 0x4a03502c, 0x00ff001f, | ||
| 405 | 0x4a03502d, 0x000007d0, 0x4a03502e, 0x80000000, | ||
| 406 | 0x4a03502f, 0x00000200, 0x4a035030, 0x00ff0000, | ||
| 407 | 0x4a035031, 0x00010000, 0x4a03503a, 0x514c4f47, | ||
| 408 | 0x4a03503b, 0x49432020, 0x1c01f000, 0x4d440000, | ||
| 409 | 0x417a8800, 0x41780800, 0x0201f800, 0x00020245, | ||
| 410 | 0x04020005, 0x0201f800, 0x001049e7, 0x04020002, | ||
| 411 | 0x80040800, 0x81468800, 0x83440580, 0x000007f0, | ||
| 412 | 0x040207f6, 0x5c028800, 0x1c01f000, 0x4803c857, | ||
| 413 | 0x5c000000, 0x4c000000, 0x4803c857, 0x0401f809, | ||
| 414 | 0x485fc857, 0x4203e000, 0x50000000, 0x5c000000, | ||
| 415 | 0x4d780000, 0x4200b800, 0x00008002, 0x0401f006, | ||
| 416 | 0x485fc857, 0x4203e000, 0x50000000, 0x4200b800, | ||
| 417 | 0x00008002, 0x04006000, 0x4c000000, 0x4c040000, | ||
| 418 | 0x59bc00ea, 0x82000500, 0x00000007, 0x82000580, | ||
| 419 | 0x00000001, 0x04020005, 0x42000800, 0x00000000, | ||
| 420 | 0x0201f800, 0x00106c6c, 0x5c000800, 0x4807c025, | ||
| 421 | 0x80040920, 0x4807c026, 0x5c000000, 0x4803c023, | ||
| 422 | 0x80000120, 0x4803c024, 0x5c000000, 0x4803c857, | ||
| 423 | 0x4803c021, 0x80000120, 0x4803c022, 0x41f80000, | ||
| 424 | 0x4803c027, 0x80000120, 0x4803c028, 0x42000000, | ||
| 425 | 0x00001000, 0x50000000, 0x82000480, 0x24320001, | ||
| 426 | 0x4803c857, 0x0400104f, 0x42000800, 0x00000064, | ||
| 427 | 0x80040840, 0x04000007, 0x4a030000, 0x00000001, | ||
| 428 | 0x40000000, 0x59800000, 0x8c000500, 0x040007f9, | ||
| 429 | 0x04000042, 0x42000800, 0x0010c1a3, 0x46000800, | ||
| 430 | 0xfaceface, 0x80040800, 0x42001000, 0x00007a00, | ||
| 431 | 0x58080013, 0x44000800, 0x80040800, 0x58080019, | ||
| 432 | 0x44000800, 0x80040800, 0x5808001a, 0x44000800, | ||
| 433 | 0x80040800, 0x5808001b, 0x44000800, 0x80040800, | ||
| 434 | 0x5808001c, 0x44000800, 0x80040800, 0x5808001f, | ||
| 435 | 0x44000800, 0x80040800, 0x42001000, 0x00007a40, | ||
| 436 | 0x42001800, 0x0000000b, 0x50080000, 0x44000800, | ||
| 437 | 0x80081000, 0x80040800, 0x800c1840, 0x040207fb, | ||
| 438 | 0x42001800, 0x00000003, 0x42001000, 0x00007b00, | ||
| 439 | 0x480c1003, 0x58080005, 0x44000800, 0x80040800, | ||
| 440 | 0x800c1840, 0x040217fb, 0x42001000, 0x00007c00, | ||
| 441 | 0x58080002, 0x44000800, 0x80040800, 0x58080003, | ||
| 442 | 0x44000800, 0x80040800, 0x58080020, 0x44000800, | ||
| 443 | 0x80040800, 0x58080021, 0x44000800, 0x80040800, | ||
| 444 | 0x58080022, 0x44000800, 0x80040800, 0x58080023, | ||
| 445 | 0x44000800, 0x80040800, 0x4a030000, 0x00000000, | ||
| 446 | 0x485fc020, 0x905cb9c0, 0x825cbd40, 0x00000012, | ||
| 447 | 0x485fc011, 0x4203e000, 0x40000000, 0x4202d800, | ||
| 448 | 0x00000005, 0x59e00017, 0x8c000508, 0x04000003, | ||
| 449 | 0x4a03c017, 0x00000002, 0x4203e000, 0x30000001, | ||
| 450 | 0x0401f81a, 0x0401f7ff, 0x4a03c850, 0x0010c1bf, | ||
| 451 | 0x4a03c851, 0x0010d1be, 0x4a03c853, 0x00000800, | ||
| 452 | 0x4a03c855, 0x0001eb5a, 0x59e40001, 0x82000540, | ||
| 453 | 0x00003f00, 0x4803c801, 0x4a03b104, 0x70000002, | ||
| 454 | 0x4a03a804, 0x70000002, 0x4a03b004, 0x70000002, | ||
| 455 | 0x42000000, 0x0010b8ec, 0x49780001, 0x49780002, | ||
| 456 | 0x1c01f000, 0x1c01f000, 0x59a8006b, 0x8c000530, | ||
| 457 | 0x040207fe, 0x4c080000, 0x42001000, 0x00000004, | ||
| 458 | 0x0401f862, 0x5c001000, 0x4201d000, 0x00028b0a, | ||
| 459 | 0x0201f800, 0x0010608e, 0x4c080000, 0x42001000, | ||
| 460 | 0x00000008, 0x0401f859, 0x5c001000, 0x4201d000, | ||
| 461 | 0x00028b0a, 0x0201f800, 0x0010608e, 0x4c080000, | ||
| 462 | 0x42001000, 0x00000010, 0x0401f850, 0x5c001000, | ||
| 463 | 0x4201d000, 0x00028b0a, 0x0201f800, 0x0010608e, | ||
| 464 | 0x0401f7e2, 0x8c00050c, 0x59a8086b, 0x04020003, | ||
| 465 | 0x84040d30, 0x0401f006, 0x84040d70, 0x4807506b, | ||
| 466 | 0x42001000, 0x00000000, 0x0401f040, 0x4807506b, | ||
| 467 | 0x836c0500, 0x00000007, 0x0c01f001, 0x001006e1, | ||
| 468 | 0x001006c7, 0x001006c7, 0x001006af, 0x001006d4, | ||
| 469 | 0x001006c7, 0x001006c7, 0x001006d4, 0x59a80005, | ||
| 470 | 0x8c000514, 0x04020013, 0x59c40801, 0x82040d00, | ||
| 471 | 0x00018000, 0x82040580, 0x00010000, 0x0400000a, | ||
| 472 | 0x82040580, 0x00008000, 0x04000004, 0x42001000, | ||
| 473 | 0x42004000, 0x0401f006, 0x42001000, 0x22002000, | ||
| 474 | 0x0401f003, 0x42001000, 0x12001000, 0x0401f025, | ||
| 475 | 0x42001000, 0x00001004, 0x0401f022, 0x59a80005, | ||
| 476 | 0x8c000514, 0x04020008, 0x59a8006b, 0x8c000534, | ||
| 477 | 0x04020004, 0x42001000, 0x74057005, 0x0401f819, | ||
| 478 | 0x1c01f000, 0x42001000, 0x00002008, 0x0401f7fc, | ||
| 479 | 0x59a8006b, 0x8c000534, 0x0402000a, 0x59a80005, | ||
| 480 | 0x8c000514, 0x04000004, 0x42001000, 0x24052005, | ||
| 481 | 0x0401f00c, 0x42001000, 0x74057005, 0x0401f009, | ||
| 482 | 0x1c01f000, 0x1c01f000, 0x82081500, 0x0000001c, | ||
| 483 | 0x82081540, 0x001c0000, 0x480bc013, 0x1c01f000, | ||
| 484 | 0x59a8006b, 0x8c000530, 0x04000002, 0x84081570, | ||
| 485 | 0x480b506b, 0x8c000530, 0x04020005, 0x82081500, | ||
| 486 | 0x00007000, 0x80081114, 0x0401fff0, 0x1c01f000, | ||
| 487 | 0x41780000, 0x50041800, 0x800c0400, 0x80040800, | ||
| 488 | 0x80102040, 0x040207fc, 0x80080500, 0x80000540, | ||
| 489 | 0x1c01f000, 0x4202f000, 0x00000000, 0x41780000, | ||
| 490 | 0x41780800, 0x41781000, 0x41781800, 0x41782000, | ||
| 491 | 0x41782800, 0x41783000, 0x41783800, 0x41784000, | ||
| 492 | 0x41784800, 0x41785000, 0x41785800, 0x41786000, | ||
| 493 | 0x41786800, 0x41787000, 0x41787800, 0x41788000, | ||
| 494 | 0x41788800, 0x41789000, 0x41789800, 0x4178a000, | ||
| 495 | 0x4178a800, 0x4178b000, 0x4178b800, 0x4178c000, | ||
| 496 | 0x4178c800, 0x4178d000, 0x4178d800, 0x4178e000, | ||
| 497 | 0x4178e800, 0x4178f000, 0x4178f800, 0x41790000, | ||
| 498 | 0x41790800, 0x41791000, 0x41791800, 0x41792000, | ||
| 499 | 0x41792800, 0x41793000, 0x41793800, 0x41794000, | ||
| 500 | 0x41794800, 0x41795000, 0x41795800, 0x41796000, | ||
| 501 | 0x41796800, 0x41797000, 0x41797800, 0x41798000, | ||
| 502 | 0x41798800, 0x42019000, 0x0010b537, 0x42019800, | ||
| 503 | 0x0010b50e, 0x4179a000, 0x4179b000, 0x4179a800, | ||
| 504 | 0x4179b800, 0x4179c800, 0x4179c000, 0x4179d000, | ||
| 505 | 0x4179d800, 0x4179e000, 0x4179e800, 0x4179f000, | ||
| 506 | 0x4179f800, 0x417a0000, 0x417a0800, 0x417a1000, | ||
| 507 | 0x417a1800, 0x417a2000, 0x42022800, 0x00006100, | ||
| 508 | 0x417a3000, 0x417a3800, 0x417a4000, 0x417a4800, | ||
| 509 | 0x417a5000, 0x417a5800, 0x417a6000, 0x417a6800, | ||
| 510 | 0x417a7000, 0x417a7800, 0x417a8000, 0x417a8800, | ||
| 511 | 0x417a9000, 0x417a9800, 0x417ae800, 0x417af800, | ||
| 512 | 0x42030000, 0x00007c00, 0x42031000, 0x0010b806, | ||
| 513 | 0x42031800, 0x0000bf1d, 0x42032000, 0x0000bf32, | ||
| 514 | 0x42032800, 0x0010b7ce, 0x42033000, 0x0010b46e, | ||
| 515 | 0x42034000, 0x0010b4a4, 0x42033800, 0x0010b4c3, | ||
| 516 | 0x42034800, 0x0010b544, 0x42035000, 0x0010b400, | ||
| 517 | 0x42035800, 0x0010ac00, 0x42030800, 0x0010b505, | ||
| 518 | 0x417b6000, 0x42036800, 0x00006f00, 0x4203c800, | ||
| 519 | 0x00003000, 0x42037000, 0x0000ff00, 0x42037800, | ||
| 520 | 0x0000bf00, 0x42038000, 0x00007700, 0x42038800, | ||
| 521 | 0x00004000, 0x42039000, 0x00006000, 0x42039800, | ||
| 522 | 0x0010bedb, 0x4203a000, 0x00007600, 0x4203a800, | ||
| 523 | 0x00007400, 0x4203b000, 0x00007200, 0x4203b800, | ||
| 524 | 0x00007100, 0x4203c000, 0x00007000, 0x4203d000, | ||
| 525 | 0x00000000, 0x4203e800, 0x00101b95, 0x417bd800, | ||
| 526 | 0x1c01f000, 0x42000800, 0x00100000, 0x50040000, | ||
| 527 | 0x4c000000, 0x42000000, 0x0000aaaa, 0x44000800, | ||
| 528 | 0x42001800, 0x00005555, 0x41782000, 0x82102400, | ||
| 529 | 0x00010000, 0x40100000, 0x80042c00, 0x440c2800, | ||
| 530 | 0x42003000, 0x0000000a, 0x80183040, 0x040207ff, | ||
| 531 | 0x50140000, 0x800c0580, 0x04020004, 0x50040000, | ||
| 532 | 0x800c0580, 0x040207f2, 0x5c000000, 0x44000800, | ||
| 533 | 0x80142840, 0x4817c861, 0x1c01f000, 0x59a8081f, | ||
| 534 | 0x800409c0, 0x04020009, 0x49781c0c, 0x4a001a0c, | ||
| 535 | 0x00000200, 0x4a001804, 0x07000000, 0x59a80010, | ||
| 536 | 0x9c0001c0, 0x48001805, 0x0401fe01, 0x9c0409c0, | ||
| 537 | 0x48041806, 0x1c01f000, 0x59a8080c, 0x4006d000, | ||
| 538 | 0x4202b800, 0x00000001, 0x59a8180d, 0x480fc857, | ||
| 539 | 0x82041400, 0x00000014, 0x82082400, 0x00000014, | ||
| 540 | 0x40100000, 0x800c0480, 0x04001006, 0x44080800, | ||
| 541 | 0x40080800, 0x40101000, 0x815eb800, 0x0401f7f7, | ||
| 542 | 0x45780800, 0x495f5020, 0x1c01f000, 0x835c0480, | ||
| 543 | 0x00000020, 0x04001009, 0x496bc857, 0x815eb840, | ||
| 544 | 0x416a5800, 0x592ed000, 0x497a5800, 0x497a5801, | ||
| 545 | 0x812e59c0, 0x1c01f000, 0x42000000, 0x0010b853, | ||
| 546 | 0x0201f800, 0x0010aa47, 0x417a5800, 0x0401f7f9, | ||
| 547 | 0x815eb840, 0x04001008, 0x416a5800, 0x492fc857, | ||
| 548 | 0x592ed000, 0x497a5800, 0x497a5801, 0x812e59c0, | ||
| 549 | 0x1c01f000, 0x42000000, 0x0010b853, 0x0201f800, | ||
| 550 | 0x0010aa47, 0x417ab800, 0x417a5800, 0x0401f7f8, | ||
| 551 | 0x492fc857, 0x496a5800, 0x412ed000, 0x815eb800, | ||
| 552 | 0x59c80000, 0x82000540, 0x00001200, 0x48039000, | ||
| 553 | 0x1c01f000, 0x492fc857, 0x812e59c0, 0x04000007, | ||
| 554 | 0x592c0001, 0x497a5801, 0x4c000000, 0x0401fff1, | ||
| 555 | 0x5c025800, 0x0401f7f9, 0x1c01f000, 0x4807c856, | ||
| 556 | 0x42007000, 0x0010b7f8, 0x4a007001, 0x00000000, | ||
| 557 | 0x59e00003, 0x82000540, 0x00008080, 0x4803c003, | ||
| 558 | 0x4a03b805, 0x90000001, 0x59dc0006, 0x4a03b805, | ||
| 559 | 0x70000000, 0x59dc0006, 0x4a03b805, 0x30000000, | ||
| 560 | 0x4200b000, 0x00000020, 0x497bb807, 0x8058b040, | ||
| 561 | 0x040207fe, 0x4a03b805, 0x30000000, 0x59dc0006, | ||
| 562 | 0x4a03b805, 0x60000001, 0x59dc0006, 0x4a03b805, | ||
| 563 | 0x70000001, 0x59dc0006, 0x4a03b805, 0x30000002, | ||
| 564 | 0x4200b000, 0x00000020, 0x497bb807, 0x8058b040, | ||
| 565 | 0x040207fe, 0x4a03b805, 0x30000000, 0x59dc0006, | ||
| 566 | 0x4a03b805, 0x60000001, 0x0401ffa1, 0x04000da5, | ||
| 567 | 0x42001000, 0x0010b7f6, 0x452c1000, 0x4a025801, | ||
| 568 | 0x00000001, 0x4a025802, 0x00000100, 0x4a025809, | ||
| 569 | 0x00107149, 0x497a580a, 0x497a580b, 0x497a580c, | ||
| 570 | 0x0401ff93, 0x04000d97, 0x42001000, 0x0010b7f7, | ||
| 571 | 0x452c1000, 0x4a025801, 0x00000000, 0x4a025802, | ||
| 572 | 0x00000100, 0x4a025809, 0x001011bc, 0x497a5803, | ||
| 573 | 0x497a5807, 0x497a5808, 0x497a580a, 0x59a80005, | ||
| 574 | 0x8c00050e, 0x04000006, 0x4a03b805, 0xe0000001, | ||
| 575 | 0x59dc0006, 0x8c000522, 0x040007fc, 0x1c01f000, | ||
| 576 | 0x4df00000, 0x4203e000, 0x50000000, 0x4c380000, | ||
| 577 | 0x40087000, 0x480bc857, 0x4a007002, 0x00000000, | ||
| 578 | 0x42007000, 0x0010b7f8, 0x82080400, 0x00000000, | ||
| 579 | 0x45780000, 0x58380005, 0x48087005, 0x80000540, | ||
| 580 | 0x04000005, 0x82000400, 0x00000000, 0x44080000, | ||
| 581 | 0x0401f003, 0x480bc857, 0x48087006, 0x58380001, | ||
| 582 | 0x80000540, 0x0400080c, 0x5c007000, 0x5c03e000, | ||
| 583 | 0x1c01f000, 0x4c380000, 0x42007000, 0x0010b7f8, | ||
| 584 | 0x58380001, 0x80000540, 0x04000803, 0x5c007000, | ||
| 585 | 0x1c01f000, 0x42007000, 0x0010b7f8, 0x58380001, | ||
| 586 | 0x82000580, 0x00000000, 0x04020012, 0x58380000, | ||
| 587 | 0x0c01f001, 0x0010088e, 0x0010088d, 0x0010088d, | ||
| 588 | 0x0010088d, 0x0010088d, 0x0010088d, 0x0010088d, | ||
| 589 | 0x0010088d, 0x0401fd4b, 0x58380808, 0x800409c0, | ||
| 590 | 0x04020024, 0x58380006, 0x80000540, 0x04020002, | ||
| 591 | 0x1c01f000, 0x4803c857, 0x48007002, 0x40006800, | ||
| 592 | 0x58340000, 0x80000540, 0x04020002, 0x48007005, | ||
| 593 | 0x48007006, 0x4a03b805, 0x20000000, 0x59dc0006, | ||
| 594 | 0x4a03b805, 0x30000000, 0x58340007, 0x4803b800, | ||
| 595 | 0x58340008, 0x4803b801, 0x58340004, 0x48007003, | ||
| 596 | 0x58340003, 0x48007004, 0x4803b803, 0x58340001, | ||
| 597 | 0x8c000500, 0x04000004, 0x4a007001, 0x00000001, | ||
| 598 | 0x0401f028, 0x4a007001, 0x00000002, 0x0401f03d, | ||
| 599 | 0x0201f800, 0x001093ea, 0x0201f800, 0x0010a69d, | ||
| 600 | 0x04000017, 0x4a03b805, 0x20000000, 0x59dc0006, | ||
| 601 | 0x4a03b805, 0x30000000, 0x4807b800, 0x480bb801, | ||
| 602 | 0x4a007003, 0x00000010, 0x480c7009, 0x42001000, | ||
| 603 | 0x00100875, 0x0201f800, 0x00105f9a, 0x58380008, | ||
| 604 | 0x82000400, 0x00000004, 0x48007004, 0x4803b803, | ||
| 605 | 0x4a007001, 0x00000007, 0x0401f022, 0x0201f800, | ||
| 606 | 0x00109402, 0x42000800, 0x00000001, 0x42001000, | ||
| 607 | 0x00100875, 0x0201f800, 0x00105f76, 0x0401f7ba, | ||
| 608 | 0x4c040000, 0x4c080000, 0x58380803, 0x42001000, | ||
| 609 | 0x00003fff, 0x82040480, 0x00003fff, 0x04021003, | ||
| 610 | 0x40041000, 0x80000580, 0x48007003, 0x800800c4, | ||
| 611 | 0x4803b802, 0x4a03b805, 0x30000002, 0x59dc0006, | ||
| 612 | 0x4a03b805, 0x70000001, 0x59dc0006, 0x4a03b805, | ||
| 613 | 0x10000000, 0x5c001000, 0x5c000800, 0x1c01f000, | ||
| 614 | 0x483bc857, 0x4c040000, 0x4c080000, 0x58380803, | ||
| 615 | 0x42001000, 0x00003fff, 0x82040480, 0x00003fff, | ||
| 616 | 0x04021003, 0x40041000, 0x80000580, 0x48007003, | ||
| 617 | 0x800800c4, 0x4803b802, 0x4a03b805, 0x10000002, | ||
| 618 | 0x5c001000, 0x5c000800, 0x1c01f000, 0x4c040000, | ||
| 619 | 0x4c380000, 0x42007000, 0x0010b7f8, 0x59dc0806, | ||
| 620 | 0x4807c857, 0x4a03b805, 0x20000000, 0x8c040d3e, | ||
| 621 | 0x04000007, 0x8c040d08, 0x04020cca, 0x58380001, | ||
| 622 | 0x82000500, 0x00000007, 0x0c01f804, 0x5c007000, | ||
| 623 | 0x5c000800, 0x1c01f000, 0x0010087d, 0x0010091e, | ||
| 624 | 0x0010092e, 0x001005d8, 0x001005d8, 0x001005d8, | ||
| 625 | 0x001005d8, 0x001011ea, 0x4807c856, 0x82040d00, | ||
| 626 | 0x43000f80, 0x04020009, 0x58380003, 0x80000540, | ||
| 627 | 0x0400001c, 0x59dc0000, 0x4803b800, 0x59dc0001, | ||
| 628 | 0x4803b801, 0x0401f7af, 0x58380802, 0x4a000802, | ||
| 629 | 0x00000200, 0x0401f01e, 0x4807c856, 0x82040d00, | ||
| 630 | 0x43000f80, 0x04020009, 0x58380003, 0x80000540, | ||
| 631 | 0x0400000c, 0x59dc0000, 0x4803b800, 0x59dc0001, | ||
| 632 | 0x4803b801, 0x0401f7b7, 0x58380002, 0x82000400, | ||
| 633 | 0x00000002, 0x46000000, 0x00000200, 0x0401f00c, | ||
| 634 | 0x4c340000, 0x58386802, 0x59dc0000, 0x4803c857, | ||
| 635 | 0x48006807, 0x59dc0001, 0x4803c857, 0x48006808, | ||
| 636 | 0x4a006802, 0x00000100, 0x5c006800, 0x4a007001, | ||
| 637 | 0x00000000, 0x4c300000, 0x58386002, 0x0401f80c, | ||
| 638 | 0x04000009, 0x58300009, 0x82000c80, 0x0010ab4a, | ||
| 639 | 0x04021c84, 0x82000c80, 0x00020000, 0x04001c81, | ||
| 640 | 0x0801f800, 0x5c006000, 0x0401f723, 0x4833c857, | ||
| 641 | 0x803061c0, 0x04000009, 0x59a8000c, 0x80300480, | ||
| 642 | 0x04001007, 0x59a8000d, 0x80300480, 0x04021004, | ||
| 643 | 0x82000540, 0x00000001, 0x1c01f000, 0x80000580, | ||
| 644 | 0x1c01f000, 0x4803c856, 0x4dc00000, 0x42007000, | ||
| 645 | 0x0010b803, 0x4a007400, 0x00000000, 0x49787001, | ||
| 646 | 0x42038000, 0x00007720, 0x4a038006, 0x60000001, | ||
| 647 | 0x4a038009, 0xf4f60000, 0x42038000, 0x00007700, | ||
| 648 | 0x4a038006, 0x60000001, 0x4a038009, 0xf4f60000, | ||
| 649 | 0x4a03c822, 0x00000010, 0x4a0370e8, 0x00000000, | ||
| 650 | 0x0401f809, 0x4a0370e9, 0x00003a0f, 0x4a0370e8, | ||
| 651 | 0x00000000, 0x4a0370e8, 0x00000001, 0x5c038000, | ||
| 652 | 0x1c01f000, 0x4c5c0000, 0x4178b800, 0x0401f80a, | ||
| 653 | 0x5c00b800, 0x1c01f000, 0x4803c856, 0x4c5c0000, | ||
| 654 | 0x825cbd40, 0x00000001, 0x0401f803, 0x5c00b800, | ||
| 655 | 0x1c01f000, 0x4803c856, 0x4dc00000, 0x4c500000, | ||
| 656 | 0x4c580000, 0x4c540000, 0x4a0370e8, 0x00000000, | ||
| 657 | 0x805cb9c0, 0x04000009, 0x4a038807, 0x00000004, | ||
| 658 | 0x59b800ea, 0x8c000510, 0x04000004, 0x59b800e0, | ||
| 659 | 0x0401f87b, 0x0401f7fb, 0x42038000, 0x00007720, | ||
| 660 | 0x0201f800, 0x00100ec1, 0x59c00007, 0x4a038006, | ||
| 661 | 0x20000000, 0x59c00007, 0x4a038006, 0x8000000a, | ||
| 662 | 0x59c00007, 0x4a038006, 0x8000000b, 0x59c00007, | ||
| 663 | 0x4a038006, 0x40000001, 0x83c00580, 0x00007700, | ||
| 664 | 0x04000004, 0x42038000, 0x00007700, 0x0401f7ed, | ||
| 665 | 0x42038000, 0x00007720, 0x42000800, 0x00000800, | ||
| 666 | 0x59c00007, 0x8c00051e, 0x04000006, 0x4a038006, | ||
| 667 | 0x90000001, 0x80040840, 0x040207fa, 0x0401fc11, | ||
| 668 | 0x83c00580, 0x00007700, 0x04000004, 0x42038000, | ||
| 669 | 0x00007700, 0x0401f7f1, 0x805cb9c0, 0x0402001d, | ||
| 670 | 0x4200b000, 0x00000020, 0x83b8ac00, 0x00000020, | ||
| 671 | 0x0201f800, 0x0010ab20, 0x4a0370fb, 0x00000001, | ||
| 672 | 0x4a037020, 0x001010bd, 0x59a80039, 0x82000500, | ||
| 673 | 0x0000ffff, 0x48037021, 0x4a037035, 0x0010bddb, | ||
| 674 | 0x4a037030, 0x0010b410, 0x4a037031, 0x0010ac00, | ||
| 675 | 0x4a037032, 0x0010b519, 0x4a037036, 0x0010b524, | ||
| 676 | 0x59840002, 0x48037034, 0x4a037038, 0x001010b4, | ||
| 677 | 0x4a0370fb, 0x00000001, 0x4178a000, 0x4200b000, | ||
| 678 | 0x00000020, 0x83b8ac00, 0x00000000, 0x0201f800, | ||
| 679 | 0x0010ab20, 0x4200b000, 0x00000040, 0x83b8ac00, | ||
| 680 | 0x00000040, 0x0201f800, 0x0010ab20, 0x805cb9c0, | ||
| 681 | 0x04020004, 0x4a0370e4, 0xaaaaaaaa, 0x0401f003, | ||
| 682 | 0x4a0370e4, 0xa2aaaa82, 0x4a0370e5, 0xaaaaaaaa, | ||
| 683 | 0x4a0370e6, 0xaaaaaaaa, 0x4a0370fb, 0x00000000, | ||
| 684 | 0x4a0370e6, 0xaaaaaaaa, 0x42038000, 0x00007720, | ||
| 685 | 0x4a038006, 0x90000000, 0x59c00007, 0x8c00051e, | ||
| 686 | 0x02020800, 0x001005d8, 0x42038000, 0x00007700, | ||
| 687 | 0x4a038006, 0x90000000, 0x59c00007, 0x8c00051e, | ||
| 688 | 0x02020800, 0x001005d8, 0x5c00a800, 0x5c00b000, | ||
| 689 | 0x5c00a000, 0x5c038000, 0x1c01f000, 0x4d300000, | ||
| 690 | 0x4d380000, 0x40026000, 0x82000500, 0x7f000000, | ||
| 691 | 0x82000580, 0x00000003, 0x0402000f, 0x83326500, | ||
| 692 | 0x00ffffff, 0x59300203, 0x82000580, 0x00000004, | ||
| 693 | 0x04020009, 0x59300c06, 0x82040580, 0x00000009, | ||
| 694 | 0x04020005, 0x42027000, 0x00000047, 0x0201f800, | ||
| 695 | 0x000207a1, 0x5c027000, 0x5c026000, 0x1c01f000, | ||
| 696 | 0x4d300000, 0x4d2c0000, 0x4d340000, 0x4d400000, | ||
| 697 | 0x4cfc0000, 0x4d380000, 0x4d3c0000, 0x4d440000, | ||
| 698 | 0x4d4c0000, 0x4d480000, 0x4c5c0000, 0x4c600000, | ||
| 699 | 0x4c640000, 0x4cc80000, 0x4ccc0000, 0x4cf00000, | ||
| 700 | 0x4cf40000, 0x4cf80000, 0x4cfc0000, 0x4d000000, | ||
| 701 | 0x4d040000, 0x0201f800, 0x00020015, 0x5c020800, | ||
| 702 | 0x5c020000, 0x5c01f800, 0x5c01f000, 0x5c01e800, | ||
| 703 | 0x5c01e000, 0x5c019800, 0x5c019000, 0x5c00c800, | ||
| 704 | 0x5c00c000, 0x5c00b800, 0x5c029000, 0x5c029800, | ||
| 705 | 0x5c028800, 0x5c027800, 0x5c027000, 0x5c01f800, | ||
| 706 | 0x5c028000, 0x5c026800, 0x5c025800, 0x5c026000, | ||
| 707 | 0x1c01f000, 0x493bc857, 0x0201f000, 0x00020044, | ||
| 708 | 0x83300500, 0x1f000000, 0x04000008, 0x81326580, | ||
| 709 | 0x80000130, 0x82000c80, 0x00000014, 0x02021800, | ||
| 710 | 0x001005d8, 0x0c01f013, 0x83300500, 0x000000ff, | ||
| 711 | 0x82000c80, 0x00000007, 0x02021800, 0x001005d8, | ||
| 712 | 0x0c01f025, 0x1c01f000, 0x82000d00, 0xc0000038, | ||
| 713 | 0x02020800, 0x001005d0, 0x0201f800, 0x001005d8, | ||
| 714 | 0x00000000, 0x00000048, 0x00000054, 0x00000053, | ||
| 715 | 0x00100a9b, 0x00100abf, 0x00100aba, 0x00100adf, | ||
| 716 | 0x00100aa6, 0x00100ab2, 0x00100a9b, 0x00100ada, | ||
| 717 | 0x00100b1a, 0x00100a9b, 0x00100a9b, 0x00100a9b, | ||
| 718 | 0x00100a9b, 0x00100b1d, 0x00100b23, 0x00100b34, | ||
| 719 | 0x00100b45, 0x00100a9b, 0x00100b4e, 0x00100b5a, | ||
| 720 | 0x00100a9b, 0x00100a9b, 0x00100a9b, 0x0201f800, | ||
| 721 | 0x001005d8, 0x00100aa4, 0x00100bff, 0x00100aec, | ||
| 722 | 0x00100b0f, 0x00100aa4, 0x00100aa4, 0x00100aa4, | ||
| 723 | 0x0201f800, 0x001005d8, 0x4803c856, 0x59300004, | ||
| 724 | 0x8c00053e, 0x04020005, 0x42027000, 0x00000055, | ||
| 725 | 0x0201f000, 0x000207a1, 0x0201f800, 0x00106f60, | ||
| 726 | 0x040007fa, 0x1c01f000, 0x4803c856, 0x0401f8a9, | ||
| 727 | 0x40002800, 0x41782000, 0x42027000, 0x00000056, | ||
| 728 | 0x0201f000, 0x000207a1, 0x4803c856, 0x42027000, | ||
| 729 | 0x00000057, 0x0201f000, 0x000207a1, 0x4803c856, | ||
| 730 | 0x59300007, 0x8c00051a, 0x04020010, 0x59325808, | ||
| 731 | 0x812e59c0, 0x04000014, 0x592c0408, 0x8c00051c, | ||
| 732 | 0x04020003, 0x4a026011, 0xffffffff, 0x59300004, | ||
| 733 | 0x8c00053e, 0x04020009, 0x42027000, 0x00000048, | ||
| 734 | 0x0201f000, 0x000207a1, 0x59325808, 0x4a025a06, | ||
| 735 | 0x00000007, 0x0401f7f4, 0x0201f800, 0x00106f60, | ||
| 736 | 0x040007f6, 0x1c01f000, 0x4803c856, 0x83300500, | ||
| 737 | 0x00ffffff, 0x0201f000, 0x001064d7, 0x1c01f000, | ||
| 738 | 0x4c040000, 0x59b808ea, 0x82040d00, 0x00000007, | ||
| 739 | 0x82040580, 0x00000003, 0x04000004, 0x42000000, | ||
| 740 | 0x60000000, 0x0401f8ab, 0x5c000800, 0x1c01f000, | ||
| 741 | 0x0401f8f9, 0x59325808, 0x812e59c0, 0x04000018, | ||
| 742 | 0x592c0204, 0x82000500, 0x000000ff, 0x82000d80, | ||
| 743 | 0x00000029, 0x04020012, 0x59300203, 0x82000580, | ||
| 744 | 0x00000003, 0x0400000b, 0x59300807, 0x84040d26, | ||
| 745 | 0x48066007, 0x0201f800, 0x00020086, 0x4a03900d, | ||
| 746 | 0x00000040, 0x4a0370e5, 0x00000008, 0x1c01f000, | ||
| 747 | 0x0201f800, 0x00106f60, 0x040007f4, 0x59880052, | ||
| 748 | 0x80000000, 0x48031052, 0x4a03900d, 0x00000040, | ||
| 749 | 0x42000000, 0xc0000000, 0x0401f05a, 0x42007800, | ||
| 750 | 0x0010bde2, 0x42002000, 0x00003000, 0x42003000, | ||
| 751 | 0x00000105, 0x0201f800, 0x00105e04, 0x4a0370e4, | ||
| 752 | 0x02000000, 0x1c01f000, 0x4933c857, 0x0201f000, | ||
| 753 | 0x0002077d, 0x41300800, 0x800409c0, 0x02020800, | ||
| 754 | 0x001005d8, 0x0201f800, 0x001005d0, 0x4933c857, | ||
| 755 | 0x813261c0, 0x02000800, 0x001005d8, 0x0401f835, | ||
| 756 | 0x40002800, 0x0201f800, 0x0010a99c, 0x0401f8ae, | ||
| 757 | 0x04000007, 0x59326809, 0x59340200, 0x8c00050e, | ||
| 758 | 0x59300414, 0x02020800, 0x001092ce, 0x1c01f000, | ||
| 759 | 0x4933c857, 0x813261c0, 0x02000800, 0x001005d8, | ||
| 760 | 0x0401f8a1, 0x0400000b, 0x59325808, 0x0201f800, | ||
| 761 | 0x00109037, 0x04000007, 0x592c0208, 0x8400054e, | ||
| 762 | 0x48025a08, 0x417a7800, 0x0201f800, 0x00108be3, | ||
| 763 | 0x1c01f000, 0x485fc857, 0x5c000000, 0x4d780000, | ||
| 764 | 0x4203e000, 0x50000000, 0x4200b800, 0x00008005, | ||
| 765 | 0x0201f000, 0x001005dd, 0x4933c857, 0x83300480, | ||
| 766 | 0x00000020, 0x02021800, 0x001005d8, 0x83300c00, | ||
| 767 | 0x0010b8cc, 0x50040000, 0x80000000, 0x04001002, | ||
| 768 | 0x44000800, 0x1c01f000, 0x4933c857, 0x0401f7f4, | ||
| 769 | 0x4807c856, 0x59b800ea, 0x8c000510, 0x040007fd, | ||
| 770 | 0x59b800e0, 0x4803c857, 0x1c01f000, 0x4803c856, | ||
| 771 | 0x42000000, 0x10000000, 0x41300800, 0x0401f02d, | ||
| 772 | 0x82000500, 0xf0000000, 0x82040d00, 0x0fffffff, | ||
| 773 | 0x80040d40, 0x4807c857, 0x59b800ea, 0x8c000516, | ||
| 774 | 0x04020003, 0x480770e1, 0x1c01f000, 0x8c000510, | ||
| 775 | 0x040007fa, 0x4c040000, 0x0401f809, 0x5c000800, | ||
| 776 | 0x82100480, 0x00000008, 0x040017f4, 0x4c040000, | ||
| 777 | 0x0401febc, 0x5c000800, 0x0401f7f0, 0x59b800e2, | ||
| 778 | 0x59b820e2, 0x80100580, 0x040207fd, 0x80102114, | ||
| 779 | 0x0401f006, 0x59b800e2, 0x59b820e2, 0x80100580, | ||
| 780 | 0x040207fd, 0x0401f001, 0x40101800, 0x800c190a, | ||
| 781 | 0x82100500, 0x0000001f, 0x820c1d00, 0x0000001f, | ||
| 782 | 0x800c2480, 0x82102500, 0x0000001f, 0x1c01f000, | ||
| 783 | 0x82000500, 0xf0000000, 0x82040d00, 0x0fffffff, | ||
| 784 | 0x80040d40, 0x4807c857, 0x42001000, 0x0010b804, | ||
| 785 | 0x50080000, 0x80000540, 0x04020005, 0x4a0370e5, | ||
| 786 | 0x00000003, 0x4a0370e4, 0x00000300, 0x80000000, | ||
| 787 | 0x44001000, 0x42001000, 0x00000400, 0x59b800ea, | ||
| 788 | 0x8c000510, 0x0400000c, 0x0401ffd5, 0x82100480, | ||
| 789 | 0x00000008, 0x04001007, 0x4c040000, 0x4c080000, | ||
| 790 | 0x0401fe88, 0x5c001000, 0x5c000800, 0x0401f020, | ||
| 791 | 0x59b800ea, 0x8c000516, 0x0402001d, 0x4a0370e4, | ||
| 792 | 0x00300000, 0x480770e1, 0x42001000, 0x0000ff00, | ||
| 793 | 0x80081040, 0x04000012, 0x59b808e4, 0x8c040d28, | ||
| 794 | 0x040207fc, 0x42001000, 0x0010b804, 0x50080000, | ||
| 795 | 0x80000040, 0x04020005, 0x4a0370e5, 0x00000002, | ||
| 796 | 0x4a0370e4, 0x00000200, 0x02001800, 0x001005d8, | ||
| 797 | 0x44001000, 0x8c040d2c, 0x1c01f000, 0x41f80000, | ||
| 798 | 0x50000000, 0x0201f800, 0x001005d8, 0x80081040, | ||
| 799 | 0x040207d3, 0x41f80000, 0x50000000, 0x0201f800, | ||
| 800 | 0x001005d8, 0x4d380000, 0x59300c06, 0x82040580, | ||
| 801 | 0x00000009, 0x04020006, 0x42027000, 0x00000047, | ||
| 802 | 0x0201f800, 0x000207a1, 0x80000580, 0x5c027000, | ||
| 803 | 0x1c01f000, 0x4c500000, 0x4a03900d, 0x00000001, | ||
| 804 | 0x59c8a020, 0x4a03900d, 0x00000002, 0x59c80820, | ||
| 805 | 0x8c50a52e, 0x04000002, 0x900409c0, 0x82040d00, | ||
| 806 | 0x0000ffff, 0x0201f800, 0x00105dd7, 0x02000800, | ||
| 807 | 0x001005d8, 0x4933c857, 0x8250a500, 0xff000000, | ||
| 808 | 0x82500580, 0x05000000, 0x04000003, 0x82000540, | ||
| 809 | 0x00000001, 0x5c00a000, 0x1c01f000, 0x0401ffe6, | ||
| 810 | 0x4933c857, 0x59300406, 0x82000580, 0x00000000, | ||
| 811 | 0x04000040, 0x59c82021, 0x4a03900d, 0x00000001, | ||
| 812 | 0x59c82821, 0x82142d00, 0x0000ffff, 0x59325808, | ||
| 813 | 0x812e59c0, 0x04000037, 0x59326809, 0x0201f800, | ||
| 814 | 0x001048d9, 0x02020800, 0x001092b6, 0x599c0019, | ||
| 815 | 0x8c00050c, 0x04020018, 0x0201f800, 0x001048d9, | ||
| 816 | 0x04020015, 0x59300811, 0x4807c857, 0x592c0408, | ||
| 817 | 0x8c00051c, 0x0402000e, 0x8400055c, 0x48025c08, | ||
| 818 | 0x592c0a04, 0x82040d00, 0x000000ff, 0x82040580, | ||
| 819 | 0x00000048, 0x04000004, 0x82040580, 0x00000018, | ||
| 820 | 0x04020003, 0x59300811, 0x48065803, 0x4a026011, | ||
| 821 | 0x7fffffff, 0x48166013, 0x0201f800, 0x001010dd, | ||
| 822 | 0x04020014, 0x0401f9fd, 0x40280000, 0x4802600d, | ||
| 823 | 0x04000005, 0x4832600b, 0x50200000, 0x4802600a, | ||
| 824 | 0x4822600c, 0x59300414, 0x8c00051c, 0x04020004, | ||
| 825 | 0x599c0019, 0x8c00050c, 0x0402086e, 0x4a03900d, | ||
| 826 | 0x00000040, 0x4a0370e5, 0x00000008, 0x1c01f000, | ||
| 827 | 0x59880052, 0x80000000, 0x48031052, 0x4a03900d, | ||
| 828 | 0x00000040, 0x42000000, 0xc0000000, 0x0401f71d, | ||
| 829 | 0x4cf80000, 0x58f40000, 0x8001f540, 0x0401f820, | ||
| 830 | 0x41781800, 0x0401f8e4, 0x04020014, 0x44140800, | ||
| 831 | 0x0401f82a, 0x04000011, 0x40043800, 0x42001800, | ||
| 832 | 0x00000001, 0x40142000, 0x0401f8db, 0x0402000b, | ||
| 833 | 0x801c3800, 0x501c0000, 0x44000800, 0x0401f810, | ||
| 834 | 0x801c0580, 0x04000004, 0x44103800, 0x801c3840, | ||
| 835 | 0x44143800, 0x0401f819, 0x5c01f000, 0x1c01f000, | ||
| 836 | 0x80f9f1c0, 0x04020003, 0x58f41202, 0x0401f003, | ||
| 837 | 0x42001000, 0x00000007, 0x1c01f000, 0x80f9f1c0, | ||
| 838 | 0x04020006, 0x58f40401, 0x82000480, 0x00000002, | ||
| 839 | 0x80f40400, 0x0401f005, 0x58f80401, 0x82000480, | ||
| 840 | 0x00000002, 0x80f80400, 0x50002800, 0x80000000, | ||
| 841 | 0x50002000, 0x1c01f000, 0x80f9f1c0, 0x04020008, | ||
| 842 | 0x58f40401, 0x82000480, 0x00000002, 0x02001800, | ||
| 843 | 0x001005d8, 0x4801ec01, 0x0401f00b, 0x58f80401, | ||
| 844 | 0x82000480, 0x00000002, 0x02001800, 0x001005d8, | ||
| 845 | 0x4801f401, 0x82000580, 0x00000002, 0x04020002, | ||
| 846 | 0x0401f809, 0x58f40202, 0x80000040, 0x4801ea02, | ||
| 847 | 0x02000800, 0x001005d8, 0x82000580, 0x00000001, | ||
| 848 | 0x1c01f000, 0x4d2c0000, 0x40fa5800, 0x0201f800, | ||
| 849 | 0x001007f4, 0x4979e800, 0x4179f000, 0x5c025800, | ||
| 850 | 0x1c01f000, 0x80f5e9c0, 0x04000009, 0x80f9f1c0, | ||
| 851 | 0x04020ff5, 0x4d2c0000, 0x40f65800, 0x0201f800, | ||
| 852 | 0x001007f4, 0x4179e800, 0x5c025800, 0x1c01f000, | ||
| 853 | 0x4cf40000, 0x59300807, 0x82040500, 0x00003100, | ||
| 854 | 0x04020032, 0x8c040d22, 0x04000032, 0x5930001f, | ||
| 855 | 0x8001ed40, 0x02000800, 0x001005d8, 0x82000580, | ||
| 856 | 0xffffffff, 0x04000029, 0x58f40201, 0x82000580, | ||
| 857 | 0x0000dcb3, 0x02020800, 0x001005d8, 0x58f40a02, | ||
| 858 | 0x82040500, 0x0000fffe, 0x04000003, 0x0401ff89, | ||
| 859 | 0x58f40a02, 0x82040480, 0x0000000f, 0x04021059, | ||
| 860 | 0x80040800, 0x4805ea02, 0x82040580, 0x00000008, | ||
| 861 | 0x0400005d, 0x82040480, 0x00000008, 0x0400100a, | ||
| 862 | 0x58f40000, 0x8001ed40, 0x02000800, 0x001005d8, | ||
| 863 | 0x58f40201, 0x82000580, 0x0000ddb9, 0x02020800, | ||
| 864 | 0x001005d8, 0x58f40401, 0x82000c00, 0x00000002, | ||
| 865 | 0x4805ec01, 0x80f40400, 0x59300812, 0x44040000, | ||
| 866 | 0x80000000, 0x45780000, 0x5c01e800, 0x1c01f000, | ||
| 867 | 0x42001000, 0x00000400, 0x59b800e4, 0x8c000524, | ||
| 868 | 0x04020023, 0x4a0370e4, 0x00030000, 0x40000000, | ||
| 869 | 0x59b800e4, 0x8c000524, 0x0402001b, 0x59300807, | ||
| 870 | 0x84040d62, 0x48066007, 0x4a0370e4, 0x00020000, | ||
| 871 | 0x4d2c0000, 0x0201f800, 0x001007d3, 0x04000025, | ||
| 872 | 0x492e601f, 0x4a025a01, 0x0000dcb3, 0x59300008, | ||
| 873 | 0x80001d40, 0x02000800, 0x001005d8, 0x580c080f, | ||
| 874 | 0x48065803, 0x59301811, 0x40040000, 0x800c0580, | ||
| 875 | 0x0402000d, 0x497a5a02, 0x4a025c01, 0x00000004, | ||
| 876 | 0x0401f011, 0x4a0370e4, 0x00020000, 0x40000000, | ||
| 877 | 0x40000000, 0x80081040, 0x02000800, 0x001005d8, | ||
| 878 | 0x0401f7d6, 0x4a025a02, 0x00000001, 0x4a025c01, | ||
| 879 | 0x00000006, 0x497a5804, 0x400c0000, 0x80040480, | ||
| 880 | 0x48025805, 0x412de800, 0x5c025800, 0x0401f7a9, | ||
| 881 | 0x5c025800, 0x4a02601f, 0xffffffff, 0x0401f7c3, | ||
| 882 | 0x4d2c0000, 0x58f65800, 0x0201f800, 0x001007f4, | ||
| 883 | 0x40f65800, 0x0201f800, 0x001007f4, 0x5c025800, | ||
| 884 | 0x0401f7f5, 0x4d2c0000, 0x0201f800, 0x001007d3, | ||
| 885 | 0x040007f8, 0x4a025a01, 0x0000ddb9, 0x4a025c01, | ||
| 886 | 0x00000002, 0x492de800, 0x412de800, 0x5c025800, | ||
| 887 | 0x0401f7a5, 0x0401ff33, 0x82f40400, 0x00000004, | ||
| 888 | 0x800c0400, 0x40000800, 0x50040000, 0x80100580, | ||
| 889 | 0x04000016, 0x82040c00, 0x00000002, 0x80081040, | ||
| 890 | 0x040207fa, 0x80f9f1c0, 0x04000011, 0x58f41202, | ||
| 891 | 0x82081480, 0x00000007, 0x82f80400, 0x00000002, | ||
| 892 | 0x800c0400, 0x40000800, 0x50040000, 0x80100580, | ||
| 893 | 0x04000006, 0x82040c00, 0x00000002, 0x80081040, | ||
| 894 | 0x040207fa, 0x0401f002, 0x1c01f000, 0x82000540, | ||
| 895 | 0x00000001, 0x0401f7fd, 0x4cf40000, 0x4cf80000, | ||
| 896 | 0x4001e800, 0x592c0a06, 0x800409c0, 0x0402001d, | ||
| 897 | 0x82f40580, 0xffffffff, 0x04000017, 0x58f40201, | ||
| 898 | 0x82000580, 0x0000dcb3, 0x02020800, 0x001005d8, | ||
| 899 | 0x58f40000, 0x8001f540, 0x04000006, 0x58f80201, | ||
| 900 | 0x82000580, 0x0000ddb9, 0x02020800, 0x001005d8, | ||
| 901 | 0x41783800, 0x0401f839, 0x04020006, 0x0401ff32, | ||
| 902 | 0x497a601f, 0x5c01f000, 0x5c01e800, 0x1c01f000, | ||
| 903 | 0x0401ff2d, 0x4a025a06, 0x00000011, 0x0401f7f9, | ||
| 904 | 0x82f40580, 0xffffffff, 0x04020f27, 0x0401f7f5, | ||
| 905 | 0x4cf40000, 0x4cf80000, 0x4001e800, 0x82040580, | ||
| 906 | 0x00000001, 0x0402001f, 0x82f40580, 0xffffffff, | ||
| 907 | 0x04000019, 0x58f40201, 0x82000580, 0x0000dcb3, | ||
| 908 | 0x02020800, 0x001005d8, 0x58f40000, 0x8001f540, | ||
| 909 | 0x04000006, 0x58f80201, 0x82000580, 0x0000ddb9, | ||
| 910 | 0x02020800, 0x001005d8, 0x41783800, 0x0401f813, | ||
| 911 | 0x04020008, 0x0401ff0c, 0x42000800, 0x00000001, | ||
| 912 | 0x497a601f, 0x5c01f000, 0x5c01e800, 0x1c01f000, | ||
| 913 | 0x0401ff05, 0x42000800, 0x00000011, 0x0401f7f9, | ||
| 914 | 0x4c040000, 0x82f40580, 0xffffffff, 0x04020efe, | ||
| 915 | 0x5c000800, 0x0401f7f3, 0x4803c856, 0x401c2000, | ||
| 916 | 0x41781800, 0x0401ff8c, 0x0402002c, 0x58f42003, | ||
| 917 | 0x42001800, 0x00000001, 0x0401ff87, 0x04020027, | ||
| 918 | 0x0401feb8, 0x40082800, 0x82f40400, 0x00000004, | ||
| 919 | 0x40003000, 0x50182000, 0x40100000, 0x801c0580, | ||
| 920 | 0x04000005, 0x42001800, 0x00000001, 0x0401ff7a, | ||
| 921 | 0x0402001a, 0x82183400, 0x00000002, 0x80142840, | ||
| 922 | 0x040207f5, 0x80f9f1c0, 0x04000013, 0x58f42a02, | ||
| 923 | 0x82142c80, 0x00000007, 0x82f80400, 0x00000003, | ||
| 924 | 0x40003000, 0x50182000, 0x40100000, 0x801c0580, | ||
| 925 | 0x04000005, 0x42001800, 0x00000001, 0x0401ff66, | ||
| 926 | 0x04020006, 0x82183400, 0x00000002, 0x80142840, | ||
| 927 | 0x040207f5, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 928 | 0x0401f7fd, 0x0201f800, 0x001005d8, 0x58380207, | ||
| 929 | 0x8c000502, 0x040007fc, 0x50200000, 0x80387c00, | ||
| 930 | 0x583c2800, 0x583c2001, 0x58380404, 0x80001540, | ||
| 931 | 0x04020002, 0x58381407, 0x58c83401, 0x58380c08, | ||
| 932 | 0x59303807, 0x497a6012, 0x497a6013, 0x0201f000, | ||
| 933 | 0x000200be, 0x592c0408, 0x8c000502, 0x040007ea, | ||
| 934 | 0x592c0409, 0x80000540, 0x040007e7, 0x82000c80, | ||
| 935 | 0x00000002, 0x04001011, 0x58380001, 0x80007540, | ||
| 936 | 0x02000800, 0x001005d8, 0x58380204, 0x82000500, | ||
| 937 | 0x0000000f, 0x82000400, 0x001010bd, 0x50004000, | ||
| 938 | 0x40040000, 0x800409c0, 0x04000005, 0x82040c80, | ||
| 939 | 0x00000005, 0x040217f1, 0x80204400, 0x50200000, | ||
| 940 | 0x80387c00, 0x583c2800, 0x583c2001, 0x583c1002, | ||
| 941 | 0x592c0a07, 0x592c4c08, 0x592c300d, 0x59303807, | ||
| 942 | 0x497a6012, 0x497a6013, 0x4816600e, 0x4812600f, | ||
| 943 | 0x480a6010, 0x481a6011, 0x80040840, 0x4806600d, | ||
| 944 | 0x02000000, 0x000200c6, 0x80204000, 0x50201800, | ||
| 945 | 0x800c19c0, 0x0402000c, 0x58380001, 0x80007540, | ||
| 946 | 0x02000800, 0x001005d8, 0x58380204, 0x82000500, | ||
| 947 | 0x0000000f, 0x82000400, 0x001010bd, 0x50004000, | ||
| 948 | 0x50201800, 0x483a600b, 0x480e600a, 0x4822600c, | ||
| 949 | 0x0201f000, 0x000200c6, 0x4803c856, 0x592c0208, | ||
| 950 | 0x8c00051e, 0x04020017, 0x50200000, 0x80306c00, | ||
| 951 | 0x40240000, 0x0c01f001, 0x00100e46, 0x00100e46, | ||
| 952 | 0x00100e4f, 0x00100e46, 0x00100e46, 0x00100e46, | ||
| 953 | 0x00100e46, 0x00100e46, 0x00100e4f, 0x00100e46, | ||
| 954 | 0x00100e4f, 0x00100e46, 0x00100e46, 0x00100e4f, | ||
| 955 | 0x00100e46, 0x00100e46, 0x0201f800, 0x001005d8, | ||
| 956 | 0x8400051e, 0x48025a08, 0x50200000, 0x80306c00, | ||
| 957 | 0x58343801, 0x481e600f, 0x0401f007, 0x58341802, | ||
| 958 | 0x58342800, 0x58343801, 0x480e6010, 0x4816600e, | ||
| 959 | 0x481e600f, 0x0401f246, 0x4933c857, 0x5931f808, | ||
| 960 | 0x59300a06, 0x800409c0, 0x04000005, 0x80040906, | ||
| 961 | 0x04020002, 0x80040800, 0x4805fc06, 0x4a026206, | ||
| 962 | 0x00000002, 0x592c0409, 0x82000500, 0x00000008, | ||
| 963 | 0x0400000b, 0x0401f834, 0x59300203, 0x82000580, | ||
| 964 | 0x00000004, 0x04020005, 0x42027000, 0x00000048, | ||
| 965 | 0x0201f800, 0x000207a1, 0x1c01f000, 0x4cfc0000, | ||
| 966 | 0x58fc0204, 0x82000500, 0x000000ff, 0x82000580, | ||
| 967 | 0x00000048, 0x0402000c, 0x58fc000b, 0x800001c0, | ||
| 968 | 0x04000009, 0x58fc0407, 0x800001c0, 0x04000006, | ||
| 969 | 0x58fc080b, 0x8c040d16, 0x04000017, 0x58fc0007, | ||
| 970 | 0x0401f00a, 0x58fc0408, 0x8c000512, 0x04020014, | ||
| 971 | 0x58fc0c09, 0x8c040d16, 0x04020003, 0x5c01f800, | ||
| 972 | 0x1c01f000, 0x58fc000a, 0x59300811, 0x80040580, | ||
| 973 | 0x04020009, 0x59300007, 0x84000500, 0x48026007, | ||
| 974 | 0x42027000, 0x00000048, 0x5c01f800, 0x0201f000, | ||
| 975 | 0x000207a1, 0x5c01f800, 0x1c01f000, 0x58fdf809, | ||
| 976 | 0x0401f7ec, 0x4933c857, 0x59b808ea, 0x82040d00, | ||
| 977 | 0x00000007, 0x82040580, 0x00000000, 0x0400001e, | ||
| 978 | 0x82040580, 0x00000003, 0x0400001b, 0x59300406, | ||
| 979 | 0x4c000000, 0x4a026406, 0x00000000, 0x42003000, | ||
| 980 | 0x00000041, 0x42000000, 0x50000000, 0x41300800, | ||
| 981 | 0x4c180000, 0x0401fce7, 0x5c003000, 0x0400000b, | ||
| 982 | 0x42000000, 0x0000001e, 0x80000040, 0x040207ff, | ||
| 983 | 0x80183040, 0x040207f4, 0x42000000, 0x40000000, | ||
| 984 | 0x41300800, 0x0401fcdb, 0x5c000000, 0x48026406, | ||
| 985 | 0x1c01f000, 0x59300007, 0x84000500, 0x48026007, | ||
| 986 | 0x0401f7fc, 0x59c00007, 0x4a038006, 0x30000000, | ||
| 987 | 0x40000000, 0x59c00007, 0x8c00050a, 0x040207fe, | ||
| 988 | 0x1c01f000, 0x5c000000, 0x4c000000, 0x4803c857, | ||
| 989 | 0x4dc00000, 0x4a0370e8, 0x00000000, 0x42038000, | ||
| 990 | 0x00007720, 0x0401fff0, 0x42038000, 0x00007700, | ||
| 991 | 0x0401ffed, 0x0201f800, 0x0010513b, 0x04020013, | ||
| 992 | 0x4a038891, 0x0000ffff, 0x497b8880, 0x497b8892, | ||
| 993 | 0x42001000, 0x00000190, 0x40000000, 0x40000000, | ||
| 994 | 0x80081040, 0x040207fd, 0x42000000, 0x0010b8a6, | ||
| 995 | 0x0201f800, 0x0010aa47, 0x0401f80e, 0x5c038000, | ||
| 996 | 0x0201f000, 0x00105258, 0x0401f82d, 0x42000000, | ||
| 997 | 0x0010b8a7, 0x0201f800, 0x0010aa47, 0x0401f805, | ||
| 998 | 0x48178892, 0x480b8880, 0x5c038000, 0x1c01f000, | ||
| 999 | 0x496fc857, 0x836c0580, 0x00000003, 0x0402000b, | ||
| 1000 | 0x4c080000, 0x4c0c0000, 0x42001000, 0x00008048, | ||
| 1001 | 0x42001800, 0x0000ffff, 0x0201f800, 0x00103a3e, | ||
| 1002 | 0x5c001800, 0x5c001000, 0x42000800, 0x0000003c, | ||
| 1003 | 0x0201f800, 0x00101345, 0x59a8006c, 0x80000540, | ||
| 1004 | 0x04000006, 0x59a8106d, 0x800811c0, 0x04000003, | ||
| 1005 | 0x0201f800, 0x00101aaf, 0x4a038891, 0x0000ffff, | ||
| 1006 | 0x4a03900d, 0x00000040, 0x0201f800, 0x0010098e, | ||
| 1007 | 0x4a0370e8, 0x00000001, 0x1c01f000, 0x5c000000, | ||
| 1008 | 0x4c000000, 0x4803c857, 0x59c41080, 0x497b8880, | ||
| 1009 | 0x59c42892, 0x497b8892, 0x0201f800, 0x0010513b, | ||
| 1010 | 0x04020002, 0x1c01f000, 0x42002000, 0x00000260, | ||
| 1011 | 0x59c418a4, 0x820c1d00, 0x0000000f, 0x820c0580, | ||
| 1012 | 0x00000000, 0x04000010, 0x59c41805, 0x820c1d00, | ||
| 1013 | 0x00000001, 0x0402000e, 0x59c418a4, 0x820c1d00, | ||
| 1014 | 0x0000000f, 0x820c0480, 0x00000007, 0x04001004, | ||
| 1015 | 0x820c0480, 0x0000000c, 0x04001003, 0x80102040, | ||
| 1016 | 0x040207ec, 0x497b8891, 0x1c01f000, 0x4c100000, | ||
| 1017 | 0x42002000, 0x00000019, 0x46000000, 0x00000001, | ||
| 1018 | 0x0201f800, 0x00101937, 0x50001800, 0x820c1d00, | ||
| 1019 | 0x00000001, 0x04000005, 0x80102040, 0x040207f7, | ||
| 1020 | 0x5c002000, 0x0401f7f0, 0x5c002000, 0x0401f7ec, | ||
| 1021 | 0x4803c856, 0x1c01f000, 0x4d2c0000, 0x59325808, | ||
| 1022 | 0x592c0a04, 0x4807c857, 0x82040d00, 0x000000ff, | ||
| 1023 | 0x82040500, 0x0000000f, 0x0c01f001, 0x00100f67, | ||
| 1024 | 0x00100f67, 0x00100f67, 0x00100f7f, 0x00100f67, | ||
| 1025 | 0x00100f67, 0x00100f67, 0x00100f67, 0x00100f67, | ||
| 1026 | 0x00100f7f, 0x00100f67, 0x00100f69, 0x00100f67, | ||
| 1027 | 0x00100f67, 0x00100f67, 0x00100f67, 0x0201f800, | ||
| 1028 | 0x001005d8, 0x82040580, 0x0000003b, 0x02020800, | ||
| 1029 | 0x001005d8, 0x592c020a, 0x8c000500, 0x0400005f, | ||
| 1030 | 0x592c1a07, 0x82040500, 0x0000000f, 0x82000400, | ||
| 1031 | 0x001010bd, 0x50001000, 0x50080000, 0x59302013, | ||
| 1032 | 0x4802600a, 0x492e600b, 0x480a600c, 0x480e600d, | ||
| 1033 | 0x48126012, 0x5c025800, 0x1c01f000, 0x82040500, | ||
| 1034 | 0x0000000f, 0x82000400, 0x001010bd, 0x50001000, | ||
| 1035 | 0x50080000, 0x592c1a07, 0x4802600a, 0x492e600b, | ||
| 1036 | 0x480a600c, 0x480e600d, 0x497a6012, 0x0401f7f2, | ||
| 1037 | 0x8c040d00, 0x04020041, 0x82040d00, 0x00000080, | ||
| 1038 | 0x0400003e, 0x0201f000, 0x000200cf, 0x59300013, | ||
| 1039 | 0x59301012, 0x80080580, 0x0402000c, 0x42007800, | ||
| 1040 | 0x80000005, 0x592c1208, 0x82080500, 0xffff7fff, | ||
| 1041 | 0x48025a08, 0x8c08151e, 0x0402002d, 0x823c7d40, | ||
| 1042 | 0x00000020, 0x0401f02a, 0x480bc857, 0x42000000, | ||
| 1043 | 0x0010b851, 0x0201f800, 0x0010aa47, 0x59300414, | ||
| 1044 | 0x4803c857, 0x8c000514, 0x04020007, 0x599c1819, | ||
| 1045 | 0x8c0c1d12, 0x04020004, 0x820c1d40, 0x00000001, | ||
| 1046 | 0x0401f01d, 0x59302013, 0x0401f92b, 0x0402001a, | ||
| 1047 | 0x42007800, 0x80000005, 0x5930500d, 0x592c0208, | ||
| 1048 | 0x4803c857, 0x8c00051e, 0x04020005, 0x823c7d40, | ||
| 1049 | 0x00000020, 0x5930400c, 0x0401f004, 0x8400051e, | ||
| 1050 | 0x48025a08, 0x0401f8da, 0x50201800, 0x480e600a, | ||
| 1051 | 0x4832600b, 0x4822600c, 0x482a600d, 0x480fc857, | ||
| 1052 | 0x4833c857, 0x4823c857, 0x482bc857, 0x80000580, | ||
| 1053 | 0x483e6004, 0x1c01f000, 0x0201f800, 0x001005d8, | ||
| 1054 | 0x4933c857, 0x4d2c0000, 0x59900004, 0x81300580, | ||
| 1055 | 0x02020800, 0x001005d8, 0x0201f800, 0x00109037, | ||
| 1056 | 0x02000800, 0x001005d8, 0x59325808, 0x4d3c0000, | ||
| 1057 | 0x4d400000, 0x59300004, 0x4803c857, 0x4c000000, | ||
| 1058 | 0x0201f800, 0x00106dc3, 0x0201f800, 0x00106b8a, | ||
| 1059 | 0x5c000000, 0x8c000516, 0x04000010, 0x592c000f, | ||
| 1060 | 0x4803c857, 0x48025807, 0x41780800, 0x42028000, | ||
| 1061 | 0x00000002, 0x0201f800, 0x00104e70, 0x4a025c06, | ||
| 1062 | 0x0000ffff, 0x0201f800, 0x000202da, 0x0201f800, | ||
| 1063 | 0x00107911, 0x0401f015, 0x4a026203, 0x00000002, | ||
| 1064 | 0x592c0208, 0x8400054e, 0x48025a08, 0x59300406, | ||
| 1065 | 0x82000580, 0x00000006, 0x04020009, 0x811800ca, | ||
| 1066 | 0x81c80c00, 0x58040939, 0x592c000d, 0x80040480, | ||
| 1067 | 0x592c080f, 0x80040480, 0x4802580b, 0x417a7800, | ||
| 1068 | 0x0201f800, 0x00108be3, 0x5c028000, 0x5c027800, | ||
| 1069 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x4d2c0000, | ||
| 1070 | 0x59900004, 0x81300580, 0x02020800, 0x001005d8, | ||
| 1071 | 0x0201f800, 0x00109037, 0x02000800, 0x001005d8, | ||
| 1072 | 0x59325808, 0x592c0208, 0x84000540, 0x48025a08, | ||
| 1073 | 0x0401f7bf, 0x491bc857, 0x49d3c857, 0x4dd00000, | ||
| 1074 | 0x41780800, 0x8007a0ca, 0x83d3a400, 0x00007600, | ||
| 1075 | 0x4a03a005, 0x80000002, 0x42000000, 0x00001000, | ||
| 1076 | 0x50000000, 0x82000480, 0x24220001, 0x04020029, | ||
| 1077 | 0x59d01006, 0x82080500, 0x00006000, 0x82000580, | ||
| 1078 | 0x00006000, 0x0400002f, 0x82080500, 0x40008000, | ||
| 1079 | 0x040007f8, 0x800409c0, 0x0402002a, 0x811a31c0, | ||
| 1080 | 0x04000028, 0x42000000, 0x00001002, 0x50001000, | ||
| 1081 | 0x46000000, 0x00000512, 0x42001800, 0x0000000a, | ||
| 1082 | 0x59e00000, 0x8c00051a, 0x040207fc, 0x800c1840, | ||
| 1083 | 0x040207fc, 0x42000000, 0x00001002, 0x46000000, | ||
| 1084 | 0x00000514, 0x42001800, 0x0000000a, 0x59e00000, | ||
| 1085 | 0x8c00053a, 0x040207fc, 0x800c1840, 0x040207fc, | ||
| 1086 | 0x42000000, 0x00001002, 0x44080000, 0x0401f00d, | ||
| 1087 | 0x59d01006, 0x82080500, 0x00006000, 0x82000580, | ||
| 1088 | 0x00006000, 0x04000007, 0x8c08151e, 0x040007f9, | ||
| 1089 | 0x59d01006, 0x82080500, 0x00006000, 0x040207f5, | ||
| 1090 | 0x83d3a400, 0x00000020, 0x80040800, 0x82040480, | ||
| 1091 | 0x00000005, 0x040017bf, 0x5c03a000, 0x1c01f000, | ||
| 1092 | 0x491bc857, 0x49d3c857, 0x4dd00000, 0x41780800, | ||
| 1093 | 0x8007a0ca, 0x83d3a400, 0x00007600, 0x4a03a005, | ||
| 1094 | 0x80000001, 0x59d00006, 0x83d3a400, 0x00000020, | ||
| 1095 | 0x80040800, 0x82040480, 0x00000005, 0x040017f8, | ||
| 1096 | 0x5c03a000, 0x1c01f000, 0x59d00006, 0x8c00053e, | ||
| 1097 | 0x0400001e, 0x59902804, 0x4817c857, 0x801429c0, | ||
| 1098 | 0x04000013, 0x5990000a, 0x5990080b, 0x5990100c, | ||
| 1099 | 0x5990180d, 0x4800280a, 0x4804280b, 0x4808280c, | ||
| 1100 | 0x480c280d, 0x59d00000, 0x59d00801, 0x59d01002, | ||
| 1101 | 0x59d01803, 0x59d02004, 0x4800280e, 0x4804280f, | ||
| 1102 | 0x48082810, 0x480c2811, 0x48102812, 0x59900006, | ||
| 1103 | 0x82000500, 0xffff0000, 0x48032006, 0x4a03a005, | ||
| 1104 | 0x30000000, 0x59d00006, 0x1c01f000, 0x4803c856, | ||
| 1105 | 0x80204000, 0x50200000, 0x80000540, 0x04000003, | ||
| 1106 | 0x80285040, 0x1c01f000, 0x58300001, 0x80000540, | ||
| 1107 | 0x0400000e, 0x4802600b, 0x40006000, 0x58300204, | ||
| 1108 | 0x82000500, 0x0000000f, 0x82000400, 0x001010bd, | ||
| 1109 | 0x50004000, 0x802041c0, 0x02000800, 0x001005d8, | ||
| 1110 | 0x80285040, 0x1c01f000, 0x40005000, 0x1c01f000, | ||
| 1111 | 0x00000005, 0x00000008, 0x0000000b, 0x0000000e, | ||
| 1112 | 0x00000011, 0x00000000, 0x00000000, 0x0000000b, | ||
| 1113 | 0x00000000, 0x00000000, 0x00000000, 0x001010b8, | ||
| 1114 | 0x001010b7, 0x00000000, 0x00000000, 0x00000000, | ||
| 1115 | 0x00000000, 0x001010b8, 0x001010b7, 0x001010b4, | ||
| 1116 | 0x001010b8, 0x001010b7, 0x00000000, 0x00000000, | ||
| 1117 | 0x00000000, 0x00000000, 0x00000000, 0x001010b8, | ||
| 1118 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 1119 | 0x00000000, 0x001010b8, 0x001010b8, 0x001010b8, | ||
| 1120 | 0x00000000, 0x001010b8, 0x00000000, 0x00000000, | ||
| 1121 | 0x00000000, 0x4813c857, 0x492fc857, 0x4933c857, | ||
| 1122 | 0x48126012, 0x592c5207, 0x802851c0, 0x0400004a, | ||
| 1123 | 0x412c6000, 0x0401f84b, 0x04000009, 0x82240580, | ||
| 1124 | 0x00000002, 0x04020003, 0x5830000d, 0x80102480, | ||
| 1125 | 0x50200000, 0x80004540, 0x0400003f, 0x50200000, | ||
| 1126 | 0x80000540, 0x0400000b, 0x80301400, 0x58080002, | ||
| 1127 | 0x80102480, 0x0400101e, 0x801021c0, 0x04000009, | ||
| 1128 | 0x80285040, 0x04000034, 0x80204000, 0x0401f7f4, | ||
| 1129 | 0x58300001, 0x80006540, 0x0400002f, 0x0401f7e6, | ||
| 1130 | 0x80285040, 0x0400002c, 0x80204000, 0x50200000, | ||
| 1131 | 0x80000540, 0x0402000a, 0x58300001, 0x80006540, | ||
| 1132 | 0x04000025, 0x58300204, 0x82004d00, 0x0000000f, | ||
| 1133 | 0x82244400, 0x001010bd, 0x50204000, 0x592c0208, | ||
| 1134 | 0x8400051e, 0x48025a08, 0x0401f013, 0x80102080, | ||
| 1135 | 0x80102000, 0x48126010, 0x4813c857, 0x58080802, | ||
| 1136 | 0x40100000, 0x80042480, 0x02001800, 0x001005d8, | ||
| 1137 | 0x58080000, 0x58081801, 0x80102400, 0x4812600e, | ||
| 1138 | 0x480e600f, 0x4813c857, 0x592c0208, 0x8400055e, | ||
| 1139 | 0x48025a08, 0x4833c857, 0x4823c857, 0x482bc857, | ||
| 1140 | 0x4832600b, 0x4822600c, 0x482a600d, 0x80000580, | ||
| 1141 | 0x0401f003, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 1142 | 0x58300204, 0x82004d00, 0x0000000f, 0x82244400, | ||
| 1143 | 0x001010bd, 0x82000500, 0x000000ff, 0x82000580, | ||
| 1144 | 0x00000029, 0x0402001b, 0x50204000, 0x592c0409, | ||
| 1145 | 0x80000540, 0x02000800, 0x001005d8, 0x82000c80, | ||
| 1146 | 0x00000002, 0x04001011, 0x58300001, 0x80006540, | ||
| 1147 | 0x02000800, 0x001005d8, 0x58300204, 0x82000500, | ||
| 1148 | 0x0000000f, 0x82000400, 0x001010bd, 0x50004000, | ||
| 1149 | 0x40040000, 0x800409c0, 0x04000006, 0x82040c80, | ||
| 1150 | 0x00000005, 0x040217f1, 0x80204400, 0x80000580, | ||
| 1151 | 0x1c01f000, 0x59e00004, 0x8c00050e, 0x02020000, | ||
| 1152 | 0x00100903, 0x1c01f000, 0x4c5c0000, 0x59e4b800, | ||
| 1153 | 0x485fc857, 0x825c0500, 0x0000001f, 0x04000004, | ||
| 1154 | 0x59e40862, 0x0201f800, 0x001005d8, 0x825c0500, | ||
| 1155 | 0x000000e0, 0x02000800, 0x001005d8, 0x8c5cbd0e, | ||
| 1156 | 0x04020807, 0x8c5cbd0c, 0x04020809, 0x8c5cbd0a, | ||
| 1157 | 0x04020878, 0x5c00b800, 0x1c01f000, 0x4803c856, | ||
| 1158 | 0x4a03c800, 0x00000080, 0x1c01f000, 0x4d2c0000, | ||
| 1159 | 0x42007800, 0x0010b8ec, 0x583c0001, 0x583c0802, | ||
| 1160 | 0x80040540, 0x0400003f, 0x42000800, 0x0010b7f7, | ||
| 1161 | 0x50065800, 0x592c0002, 0x82000580, 0x00000000, | ||
| 1162 | 0x0400000e, 0x59e40850, 0x59e41853, 0x400c0000, | ||
| 1163 | 0x80040400, 0x59e40852, 0x4807c857, 0x80041480, | ||
| 1164 | 0x04021008, 0x40001000, 0x480bc857, 0x4a007800, | ||
| 1165 | 0x00000001, 0x0401f006, 0x4803c857, 0x0401f029, | ||
| 1166 | 0x59e41050, 0x480bc857, 0x49787800, 0x480bc857, | ||
| 1167 | 0x480fc857, 0x592c0003, 0x80000540, 0x04000006, | ||
| 1168 | 0x80080580, 0x04020004, 0x592c0003, 0x4803c857, | ||
| 1169 | 0x480bc857, 0x480a5803, 0x592c0007, 0x800001c0, | ||
| 1170 | 0x04000007, 0x592c1007, 0x480bc857, 0x583c0003, | ||
| 1171 | 0x4803c857, 0x80080480, 0x04001003, 0x583c1001, | ||
| 1172 | 0x480bc857, 0x583c0802, 0x480bc857, 0x4807c857, | ||
| 1173 | 0x4a025801, 0x00000000, 0x4a025809, 0x001011bc, | ||
| 1174 | 0x480a5807, 0x48065808, 0x59e40053, 0x48025804, | ||
| 1175 | 0x412c1000, 0x492fc857, 0x0201f800, 0x00100858, | ||
| 1176 | 0x5c025800, 0x4a03c800, 0x00000040, 0x1c01f000, | ||
| 1177 | 0x42007800, 0x0010b7f7, 0x503c7800, 0x4a007802, | ||
| 1178 | 0x00000100, 0x42007800, 0x0010b8ec, 0x583c0000, | ||
| 1179 | 0x4803c857, 0x82000d80, 0x00000001, 0x04000004, | ||
| 1180 | 0x80000000, 0x48007800, 0x0401f019, 0x49787800, | ||
| 1181 | 0x583c1806, 0x583c0005, 0x800c1800, 0x480c7806, | ||
| 1182 | 0x800c0580, 0x04020002, 0x49787806, 0x583c0807, | ||
| 1183 | 0x800409c0, 0x0400000e, 0x583c0008, 0x80000000, | ||
| 1184 | 0x48007808, 0x80040580, 0x04020009, 0x49787808, | ||
| 1185 | 0x583c2006, 0x42001800, 0x00000001, 0x42001000, | ||
| 1186 | 0x00008028, 0x0201f800, 0x00103a3e, 0x1c01f000, | ||
| 1187 | 0x4a03c800, 0x00000020, 0x0201f800, 0x0010aa40, | ||
| 1188 | 0x59e40000, 0x1c01f000, 0x4d2c0000, 0x4a007001, | ||
| 1189 | 0x00000000, 0x82040d00, 0x43000f80, 0x02020800, | ||
| 1190 | 0x001005d8, 0x58380009, 0x4803c00f, 0x0201f800, | ||
| 1191 | 0x00109402, 0x583a5808, 0x592c0000, 0x48007008, | ||
| 1192 | 0x800001c0, 0x04020002, 0x49787007, 0x0201f800, | ||
| 1193 | 0x001007f4, 0x5c025800, 0x0201f000, 0x0010087d, | ||
| 1194 | 0x4803c856, 0x4c3c0000, 0x4d2c0000, 0x4d300000, | ||
| 1195 | 0x5830000a, 0x80025d40, 0x02000800, 0x001005d8, | ||
| 1196 | 0x592e6008, 0x4c300000, 0x0201f800, 0x0010941a, | ||
| 1197 | 0x5c006000, 0x02000800, 0x001005d8, 0x58300002, | ||
| 1198 | 0x82000580, 0x00000100, 0x04020010, 0x5930780b, | ||
| 1199 | 0x583c0001, 0x80000540, 0x0400000e, 0x4802600b, | ||
| 1200 | 0x40007800, 0x82000400, 0x00000002, 0x48006003, | ||
| 1201 | 0x583c0000, 0x48006004, 0x40301000, 0x0201f800, | ||
| 1202 | 0x00100858, 0x0401f00c, 0x4a025a06, 0x00000002, | ||
| 1203 | 0x4c300000, 0x0201f800, 0x000202da, 0x5c006000, | ||
| 1204 | 0x40325800, 0x0201f800, 0x001007f4, 0x0201f800, | ||
| 1205 | 0x0002077d, 0x5c026000, 0x5c025800, 0x5c007800, | ||
| 1206 | 0x1c01f000, 0x4803c856, 0x4d2c0000, 0x4d300000, | ||
| 1207 | 0x42007000, 0x0010b7f8, 0x58380801, 0x82040580, | ||
| 1208 | 0x00000002, 0x04020011, 0x58386002, 0x5830000a, | ||
| 1209 | 0x812c0580, 0x0402000d, 0x59e00004, 0x8c00050e, | ||
| 1210 | 0x040007fe, 0x59dc0006, 0x4803c857, 0x4a03b805, | ||
| 1211 | 0x20000000, 0x8c00053e, 0x040007f8, 0x4a007001, | ||
| 1212 | 0x00000000, 0x0401f019, 0x58386006, 0x40305000, | ||
| 1213 | 0x803061c0, 0x02000800, 0x001005d8, 0x5830000a, | ||
| 1214 | 0x812c0580, 0x04000004, 0x40305000, 0x58306000, | ||
| 1215 | 0x0401f7f8, 0x40280000, 0x80300580, 0x58300000, | ||
| 1216 | 0x04000006, 0x48005000, 0x800001c0, 0x04020007, | ||
| 1217 | 0x48287005, 0x0401f005, 0x800001c0, 0x04020002, | ||
| 1218 | 0x48007005, 0x48007006, 0x40325800, 0x0201f800, | ||
| 1219 | 0x001007f4, 0x42007000, 0x0010b7f8, 0x58380001, | ||
| 1220 | 0x82000580, 0x00000000, 0x02000800, 0x0010087d, | ||
| 1221 | 0x5c026000, 0x5c025800, 0x1c01f000, 0x4803c856, | ||
| 1222 | 0x42000800, 0x0000003c, 0x48079000, 0x59c80000, | ||
| 1223 | 0x80040500, 0x040207fe, 0x497b9005, 0x4a039035, | ||
| 1224 | 0x00880200, 0x59a8000e, 0x800000e0, 0x4803900e, | ||
| 1225 | 0x4a039011, 0x00000024, 0x4a03900f, 0x0010d1c0, | ||
| 1226 | 0x4a039010, 0x0010d1c0, 0x4a039015, 0x0000007f, | ||
| 1227 | 0x4a03900d, 0x00000040, 0x4a039000, 0x00001600, | ||
| 1228 | 0x1c01f000, 0x59c80007, 0x8c000508, 0x040208b7, | ||
| 1229 | 0x59c80800, 0x8c040d16, 0x04020004, 0x82000500, | ||
| 1230 | 0x00000006, 0x0c01f005, 0x4807c857, 0x82000500, | ||
| 1231 | 0x0000000e, 0x0c01f001, 0x001012a8, 0x001012a6, | ||
| 1232 | 0x00105999, 0x001012a6, 0x001012aa, 0x001012a6, | ||
| 1233 | 0x001012aa, 0x001012aa, 0x001012a6, 0x001012a6, | ||
| 1234 | 0x001012a6, 0x001012a6, 0x001012aa, 0x001012a6, | ||
| 1235 | 0x001012aa, 0x001012a6, 0x0201f800, 0x001005d8, | ||
| 1236 | 0x4803c857, 0x1c01f000, 0x59c8080c, 0x4807c857, | ||
| 1237 | 0x82040500, 0x00006000, 0x04000004, 0x0201f800, | ||
| 1238 | 0x0010aa03, 0x0401f006, 0x82040500, 0x007f0000, | ||
| 1239 | 0x04000006, 0x0201f800, 0x0010a9d5, 0x0201f800, | ||
| 1240 | 0x00106eb3, 0x0401f02b, 0x82040500, 0x00000014, | ||
| 1241 | 0x04000014, 0x0201f800, 0x0010aa32, 0x836c0580, | ||
| 1242 | 0x00000003, 0x0400000d, 0x0201f800, 0x0010513b, | ||
| 1243 | 0x04000004, 0x0201f800, 0x0010411d, 0x0401f007, | ||
| 1244 | 0x4a035033, 0x00000001, 0x4202d800, 0x00000001, | ||
| 1245 | 0x0201f800, 0x001050a2, 0x0401f817, 0x0401f015, | ||
| 1246 | 0x82040500, 0x00001c00, 0x04000005, 0x0201f800, | ||
| 1247 | 0x0010aa11, 0x0401f810, 0x0401f00e, 0x82040500, | ||
| 1248 | 0x00000140, 0x04000005, 0x0201f800, 0x0010aa24, | ||
| 1249 | 0x0401f809, 0x0401f007, 0x82040500, 0x00008000, | ||
| 1250 | 0x04000004, 0x0201f800, 0x0010a9fc, 0x0401f802, | ||
| 1251 | 0x1c01f000, 0x4c0c0000, 0x4c100000, 0x4c140000, | ||
| 1252 | 0x0201f800, 0x00100ec9, 0x5c002800, 0x5c002000, | ||
| 1253 | 0x5c001800, 0x1c01f000, 0x4803c856, 0x59a80804, | ||
| 1254 | 0x59a8002b, 0x82000500, 0xfffff000, 0x80040540, | ||
| 1255 | 0x4803502b, 0x59a8002f, 0x82000500, 0xfffff000, | ||
| 1256 | 0x80040540, 0x4803502f, 0x48078882, 0x82041c00, | ||
| 1257 | 0x0000000f, 0x800c1908, 0x820c1c00, 0x00000004, | ||
| 1258 | 0x400c2000, 0x901029c0, 0x82040480, 0x000001e4, | ||
| 1259 | 0x04021005, 0x42001000, 0x00000008, 0x801020c6, | ||
| 1260 | 0x0401f031, 0x82040480, 0x00000230, 0x04021009, | ||
| 1261 | 0x42001000, 0x00000007, 0x801000c2, 0x800000c2, | ||
| 1262 | 0x80100400, 0x80100400, 0x80102400, 0x0401f026, | ||
| 1263 | 0x82040480, 0x00000298, 0x04021008, 0x42001000, | ||
| 1264 | 0x00000006, 0x801000c2, 0x800000c2, 0x80100400, | ||
| 1265 | 0x80102400, 0x0401f01c, 0x82040480, 0x00000328, | ||
| 1266 | 0x04021007, 0x42001000, 0x00000005, 0x801000c2, | ||
| 1267 | 0x800000c2, 0x80102400, 0x0401f013, 0x82040480, | ||
| 1268 | 0x00000404, 0x04021005, 0x42001000, 0x00000004, | ||
| 1269 | 0x801020c4, 0x0401f00c, 0x82040480, 0x0000056c, | ||
| 1270 | 0x04021006, 0x42001000, 0x00000003, 0x801000c2, | ||
| 1271 | 0x80102400, 0x0401f004, 0x42001000, 0x00000002, | ||
| 1272 | 0x801020c2, 0x82100480, 0x00000110, 0x80000080, | ||
| 1273 | 0x80002000, 0x800800d0, 0x80140540, 0x80100540, | ||
| 1274 | 0x48039035, 0x1c01f000, 0x59c80815, 0x0201f800, | ||
| 1275 | 0x001005d0, 0x82040d00, 0x0000007c, 0x48079000, | ||
| 1276 | 0x59c80000, 0x80040500, 0x040207fe, 0x8c040d04, | ||
| 1277 | 0x04000003, 0x59c80035, 0x48039035, 0x59c80000, | ||
| 1278 | 0x82000540, 0x00001200, 0x48039000, 0x1c01f000, | ||
| 1279 | 0x4803c856, 0x497b88a9, 0x4a038807, 0x00000001, | ||
| 1280 | 0x497b8807, 0x59c40005, 0x48038805, 0x0201f800, | ||
| 1281 | 0x00101815, 0x4201d000, 0x000001f4, 0x0201f800, | ||
| 1282 | 0x0010608e, 0x497b880e, 0x4200b000, 0x000001f4, | ||
| 1283 | 0x42000000, 0x00000001, 0x42000800, 0x00000014, | ||
| 1284 | 0x0201f800, 0x00101944, 0x42000800, 0x00000014, | ||
| 1285 | 0x0201f800, 0x0010193f, 0x8c040d00, 0x04000005, | ||
| 1286 | 0x8058b040, 0x040207f3, 0x0201f800, 0x001005d8, | ||
| 1287 | 0x4200b000, 0x00000032, 0x42000000, 0x00000001, | ||
| 1288 | 0x42000800, 0x000000b4, 0x0201f800, 0x00101944, | ||
| 1289 | 0x42000800, 0x000000b4, 0x0201f800, 0x0010193f, | ||
| 1290 | 0x8c040d00, 0x04000005, 0x8058b040, 0x040207f3, | ||
| 1291 | 0x0201f800, 0x001005d8, 0x59c40005, 0x48038805, | ||
| 1292 | 0x42000000, 0x00000089, 0x800008d0, 0x48075054, | ||
| 1293 | 0x48075055, 0x48075056, 0x42000800, 0x000000e0, | ||
| 1294 | 0x0201f800, 0x00101944, 0x42000800, 0x000000f4, | ||
| 1295 | 0x0201f800, 0x0010193f, 0x82040500, 0xffffffd1, | ||
| 1296 | 0x82000540, 0x00000002, 0x42000800, 0x000000f4, | ||
| 1297 | 0x0201f800, 0x00101944, 0x42000800, 0x000000a0, | ||
| 1298 | 0x0201f800, 0x0010193f, 0x82040540, 0x00000001, | ||
| 1299 | 0x42000800, 0x000000a0, 0x0201f800, 0x00101944, | ||
| 1300 | 0x42000800, 0x00000000, 0x0201f800, 0x0010193f, | ||
| 1301 | 0x82040540, 0x00000001, 0x42000800, 0x00000000, | ||
| 1302 | 0x0201f800, 0x00101944, 0x4201d000, 0x0001d4c0, | ||
| 1303 | 0x0201f800, 0x0010608e, 0x0401fa2b, 0x4a0388a7, | ||
| 1304 | 0x0000f7f7, 0x4a0388a3, 0x8000403c, 0x4a0388ae, | ||
| 1305 | 0x000061a8, 0x4a038801, 0x00032063, 0x4a038810, | ||
| 1306 | 0x00410108, 0x4a038811, 0x00520608, 0x4a038812, | ||
| 1307 | 0x00450320, 0x4a038813, 0x00440405, 0x4a03881c, | ||
| 1308 | 0x004132e1, 0x4a038850, 0x80000108, 0x4a038860, | ||
| 1309 | 0x00000008, 0x4a038870, 0x00000008, 0x4a038851, | ||
| 1310 | 0x80000508, 0x4a038861, 0x00800000, 0x4a038871, | ||
| 1311 | 0x00800000, 0x4a038852, 0x80000708, 0x4a038862, | ||
| 1312 | 0x00800000, 0x4a038872, 0x00800000, 0x4a038853, | ||
| 1313 | 0x80000608, 0x497b8863, 0x4a038873, 0x00800000, | ||
| 1314 | 0x4a038882, 0x00000840, 0x4a0388a5, 0x0000001e, | ||
| 1315 | 0x4a0388a6, 0x0000001e, 0x4a0388b0, 0x00007530, | ||
| 1316 | 0x4a038802, 0x0000ffff, 0x4a038806, 0xc0e00800, | ||
| 1317 | 0x1c01f000, 0x497b5022, 0x4a035021, 0x00000001, | ||
| 1318 | 0x42000800, 0x00000040, 0x0201f800, 0x0010193f, | ||
| 1319 | 0x82040500, 0xffffffaf, 0x82000540, 0x00000000, | ||
| 1320 | 0x42000800, 0x00000040, 0x0201f800, 0x00101944, | ||
| 1321 | 0x42000800, 0x000000f4, 0x0201f800, 0x0010193f, | ||
| 1322 | 0x4c040000, 0x40040000, 0x84000548, 0x42000800, | ||
| 1323 | 0x000000f4, 0x0201f800, 0x00101944, 0x42000800, | ||
| 1324 | 0x00000000, 0x0201f800, 0x0010193f, 0x82040500, | ||
| 1325 | 0xffffffc1, 0x82000540, 0x00000038, 0x42000800, | ||
| 1326 | 0x00000000, 0x0201f800, 0x00101944, 0x5c000000, | ||
| 1327 | 0x42000800, 0x000000f4, 0x0201f000, 0x00101944, | ||
| 1328 | 0x59c40805, 0x4807c857, 0x59c40006, 0x80040d00, | ||
| 1329 | 0x02000800, 0x001005d8, 0x82040500, 0x00e00800, | ||
| 1330 | 0x04020004, 0x8c040d3e, 0x040208c4, 0x0401f007, | ||
| 1331 | 0x82040500, 0x00800800, 0x02020800, 0x001005d0, | ||
| 1332 | 0x0201f800, 0x001005d8, 0x4c5c0000, 0x4c600000, | ||
| 1333 | 0x59c4b805, 0x485fc857, 0x59c40006, 0x8c000500, | ||
| 1334 | 0x04000003, 0x8c5cbd00, 0x04020079, 0x0201f800, | ||
| 1335 | 0x0010513b, 0x04000014, 0x59c40005, 0x82000500, | ||
| 1336 | 0x000000c0, 0x04000036, 0x0201f800, 0x00105151, | ||
| 1337 | 0x04020033, 0x4a038805, 0x04000000, 0x59c400a3, | ||
| 1338 | 0x82000500, 0xbf203fff, 0x480388a3, 0x497b5049, | ||
| 1339 | 0x4a038805, 0x000000c0, 0x0201f800, 0x00105065, | ||
| 1340 | 0x0401f063, 0x8c5cbd34, 0x04020025, 0x59c40005, | ||
| 1341 | 0x8c00050c, 0x04020012, 0x8c00050e, 0x04020013, | ||
| 1342 | 0x8c00050a, 0x04020014, 0x8c000508, 0x0400000b, | ||
| 1343 | 0x59a80017, 0x82000580, 0x00000009, 0x04020007, | ||
| 1344 | 0x42000000, 0x0010b844, 0x0201f800, 0x0010aa47, | ||
| 1345 | 0x0201f800, 0x00105318, 0x0401f04b, 0x4a035033, | ||
| 1346 | 0x00000000, 0x0401f00b, 0x4a035033, 0x00000002, | ||
| 1347 | 0x0401f008, 0x42000000, 0x0010b846, 0x0201f800, | ||
| 1348 | 0x0010aa47, 0x0201f800, 0x001052c2, 0x0401f03e, | ||
| 1349 | 0x0201f800, 0x00105378, 0x0401f03b, 0x8c5cbd34, | ||
| 1350 | 0x04000037, 0x59c40005, 0x8c00053a, 0x04020005, | ||
| 1351 | 0x42000000, 0x0010b818, 0x0201f800, 0x0010aa47, | ||
| 1352 | 0x4a038805, 0x02000000, 0x0201f800, 0x0010513b, | ||
| 1353 | 0x04020010, 0x4a038805, 0x04000000, 0x0201f800, | ||
| 1354 | 0x00105149, 0x04020008, 0x4a035033, 0x00000001, | ||
| 1355 | 0x4202d800, 0x00000001, 0x0201f800, 0x001050a2, | ||
| 1356 | 0x0401f05b, 0x41780000, 0x0201f800, 0x00105113, | ||
| 1357 | 0x0201f800, 0x001019fe, 0x4000c000, 0x0201f800, | ||
| 1358 | 0x00101963, 0x836c1580, 0x00000004, 0x0402000d, | ||
| 1359 | 0x8c5cbd00, 0x04020012, 0x59a81005, 0x8c081506, | ||
| 1360 | 0x04020005, 0x59c410a3, 0x82081540, 0x00000008, | ||
| 1361 | 0x480b88a3, 0x59c41006, 0x84081540, 0x480b8806, | ||
| 1362 | 0x4a038805, 0x04000000, 0x4202d800, 0x00000001, | ||
| 1363 | 0x497b5014, 0x0201f800, 0x00103b38, 0x8c5cbd3c, | ||
| 1364 | 0x04020858, 0x8c5cbd00, 0x04000036, 0x42000000, | ||
| 1365 | 0x0010b8ca, 0x0201f800, 0x0010aa47, 0x4a038805, | ||
| 1366 | 0x00000001, 0x4200b000, 0x000003e8, 0x4201d000, | ||
| 1367 | 0x00000064, 0x4c580000, 0x0201f800, 0x0010608e, | ||
| 1368 | 0x0201f800, 0x001018d3, 0x5c00b000, 0x04000004, | ||
| 1369 | 0x8058b040, 0x040207f6, 0x0401f004, 0x4a038805, | ||
| 1370 | 0x00000001, 0x0401f01f, 0x59c40006, 0x84000500, | ||
| 1371 | 0x48038806, 0x0201f800, 0x00106ede, 0x497b8880, | ||
| 1372 | 0x0201f800, 0x0010a9c0, 0x59c4000d, 0x8c000500, | ||
| 1373 | 0x02020800, 0x0010a9ce, 0x59c400a3, 0x82000500, | ||
| 1374 | 0xfcf8ffff, 0x480388a3, 0x4a03504c, 0x00000002, | ||
| 1375 | 0x4202d800, 0x00000004, 0x4a038805, 0x00000001, | ||
| 1376 | 0x0201f800, 0x001006d4, 0x0401fb3b, 0x497b5052, | ||
| 1377 | 0x4a035049, 0x00000001, 0x0201f800, 0x00100452, | ||
| 1378 | 0x825cbd00, 0xbbfffffe, 0x485f8805, 0x5c00c000, | ||
| 1379 | 0x5c00b800, 0x1c01f000, 0x59c41004, 0x480bc857, | ||
| 1380 | 0x8c081500, 0x04000006, 0x4803c856, 0x497b2807, | ||
| 1381 | 0x0201f800, 0x00106fa4, 0x0401f00a, 0x82080500, | ||
| 1382 | 0x000001f0, 0x04000007, 0x4803c856, 0x417a3000, | ||
| 1383 | 0x0201f800, 0x00106062, 0x0201f800, 0x00106fc6, | ||
| 1384 | 0x4a038805, 0x80000000, 0x1c01f000, 0x59c408a3, | ||
| 1385 | 0x4807c857, 0x84040d40, 0x480788a3, 0x1c01f000, | ||
| 1386 | 0x4d900000, 0x4dd00000, 0x4da40000, 0x4d140000, | ||
| 1387 | 0x4a038805, 0x40000000, 0x42000000, 0x0010b8c6, | ||
| 1388 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x00106c55, | ||
| 1389 | 0x59c41004, 0x8c081500, 0x04000054, 0x598e600d, | ||
| 1390 | 0x497b2807, 0x813261c0, 0x04000032, 0x59300403, | ||
| 1391 | 0x82000580, 0x00000032, 0x0402002e, 0x5930001c, | ||
| 1392 | 0x48038833, 0x4a038807, 0x00018000, 0x4201d000, | ||
| 1393 | 0x00000002, 0x0201f800, 0x0010608e, 0x497b8807, | ||
| 1394 | 0x4201d000, 0x00000002, 0x0201f800, 0x0010608e, | ||
| 1395 | 0x0201f800, 0x00106e21, 0x4201d000, 0x00007530, | ||
| 1396 | 0x0201f800, 0x0010608e, 0x59c408a4, 0x82040d00, | ||
| 1397 | 0x0000000f, 0x82040d80, 0x00000000, 0x04000005, | ||
| 1398 | 0x42000000, 0x00200000, 0x0201f800, 0x00101949, | ||
| 1399 | 0x0201f800, 0x00106bbf, 0x59300008, 0x80000540, | ||
| 1400 | 0x02000800, 0x001005d8, 0x40025800, 0x4a025a04, | ||
| 1401 | 0x00000103, 0x5931d821, 0x58ef400b, 0x58ec0009, | ||
| 1402 | 0x0801f800, 0x0201f800, 0x0002077d, 0x0401f047, | ||
| 1403 | 0x598c000f, 0x82001c80, 0x000000c8, 0x0402100f, | ||
| 1404 | 0x80000000, 0x4803180f, 0x59c400a4, 0x82000500, | ||
| 1405 | 0x0000000f, 0x82000580, 0x00000002, 0x04020004, | ||
| 1406 | 0x42000000, 0x00200000, 0x0401fbf7, 0x0201f800, | ||
| 1407 | 0x0010604d, 0x0401f035, 0x4933c857, 0x0201f800, | ||
| 1408 | 0x00106e21, 0x813261c0, 0x04000030, 0x4a026203, | ||
| 1409 | 0x00000001, 0x42027000, 0x00000027, 0x0201f800, | ||
| 1410 | 0x000207a1, 0x0401f029, 0x8c081508, 0x04000027, | ||
| 1411 | 0x417a3000, 0x0201f800, 0x001070d8, 0x42032000, | ||
| 1412 | 0x0000bf32, 0x0201f800, 0x00106062, 0x59926004, | ||
| 1413 | 0x813261c0, 0x04000012, 0x42001800, 0x000000c8, | ||
| 1414 | 0x0201f800, 0x001070a4, 0x0402000d, 0x59c400a4, | ||
| 1415 | 0x82000500, 0x0000000f, 0x82000580, 0x00000002, | ||
| 1416 | 0x04020004, 0x42000000, 0x00200000, 0x0401fbce, | ||
| 1417 | 0x0201f800, 0x00106052, 0x0401f00c, 0x4933c857, | ||
| 1418 | 0x0201f800, 0x00106dc3, 0x813261c0, 0x04000007, | ||
| 1419 | 0x42027000, 0x0000004f, 0x4a026203, 0x00000003, | ||
| 1420 | 0x0201f800, 0x000207a1, 0x5c022800, 0x5c034800, | ||
| 1421 | 0x5c03a000, 0x5c032000, 0x0201f000, 0x00106c4b, | ||
| 1422 | 0x4803c857, 0x59a80821, 0x48035021, 0x80041580, | ||
| 1423 | 0x04000045, 0x800409c0, 0x04000023, 0x497b504c, | ||
| 1424 | 0x42000000, 0x0010b80d, 0x0201f800, 0x0010aa47, | ||
| 1425 | 0x0201f800, 0x0010aaf9, 0x42001000, 0x00008011, | ||
| 1426 | 0x59c40001, 0x82000500, 0x00018000, 0x82001d80, | ||
| 1427 | 0x00000000, 0x04000009, 0x82001d80, 0x00008000, | ||
| 1428 | 0x04000009, 0x82001d80, 0x00010000, 0x04000009, | ||
| 1429 | 0x0201f800, 0x001005d8, 0x42001800, 0x00000000, | ||
| 1430 | 0x0401f006, 0x42001800, 0x00000001, 0x0401f003, | ||
| 1431 | 0x42001800, 0x00000003, 0x0201f800, 0x00103a3e, | ||
| 1432 | 0x0401f021, 0x59a8084c, 0x800409c0, 0x04020007, | ||
| 1433 | 0x59c4000d, 0x8c000520, 0x04000004, 0x42001800, | ||
| 1434 | 0x00000003, 0x0401f002, 0x40041800, 0x0201f800, | ||
| 1435 | 0x0010aadd, 0x42001000, 0x00008012, 0x0201f800, | ||
| 1436 | 0x00103a3e, 0x0201f800, 0x001006d4, 0x0201f800, | ||
| 1437 | 0x0010ab33, 0x0402000c, 0x0401f853, 0x4d400000, | ||
| 1438 | 0x4d3c0000, 0x42028000, 0x00000028, 0x42027800, | ||
| 1439 | 0x00000408, 0x0201f800, 0x00101fe5, 0x5c027800, | ||
| 1440 | 0x5c028000, 0x1c01f000, 0x4803c857, 0x82000400, | ||
| 1441 | 0x0010210e, 0x50000800, 0x82040d00, 0x000000ff, | ||
| 1442 | 0x1c01f000, 0x4803c856, 0x4c580000, 0x4200b000, | ||
| 1443 | 0x00000010, 0x497b88ac, 0x497b88ad, 0x8058b040, | ||
| 1444 | 0x040207fe, 0x5c00b000, 0x1c01f000, 0x4807c857, | ||
| 1445 | 0x48075010, 0x80041108, 0x4200b000, 0x00000010, | ||
| 1446 | 0x497b88ac, 0x80000580, 0x800811c0, 0x04020006, | ||
| 1447 | 0x82040500, 0x0000000f, 0x82000400, 0x0010ab38, | ||
| 1448 | 0x50000000, 0x480388ad, 0x80081040, 0x8058b040, | ||
| 1449 | 0x040207f5, 0x1c01f000, 0x59a80005, 0x04000003, | ||
| 1450 | 0x84000546, 0x0401f002, 0x84000506, 0x48035005, | ||
| 1451 | 0x4803c857, 0x1c01f000, 0x4803c857, 0x4c080000, | ||
| 1452 | 0x4c040000, 0x4c000000, 0x59c40892, 0x4807c857, | ||
| 1453 | 0x80041580, 0x04000010, 0x80041480, 0x04021007, | ||
| 1454 | 0x80081080, 0x80081000, 0x4008b000, 0x42000000, | ||
| 1455 | 0x00000201, 0x0401f004, 0x4008b000, 0x42000000, | ||
| 1456 | 0x00000210, 0x48038886, 0x8058b040, 0x040207fe, | ||
| 1457 | 0x497b8886, 0x5c000000, 0x5c000800, 0x5c001000, | ||
| 1458 | 0x1c01f000, 0x4803c856, 0x0201f800, 0x00103b25, | ||
| 1459 | 0x04000005, 0x42028000, 0x0000002e, 0x0201f000, | ||
| 1460 | 0x0010a449, 0x1c01f000, 0x42000800, 0x00000002, | ||
| 1461 | 0x59a80005, 0x8c000514, 0x0402000b, 0x59c80835, | ||
| 1462 | 0x82040d00, 0x00001f00, 0x80040910, 0x80040800, | ||
| 1463 | 0x59a8006c, 0x80000540, 0x04000003, 0x42000800, | ||
| 1464 | 0x0000025a, 0x4807c857, 0x1c01f000, 0x4c000000, | ||
| 1465 | 0x59a80053, 0x4803c857, 0x82000580, 0x00000000, | ||
| 1466 | 0x5c000000, 0x1c01f000, 0x4c000000, 0x59a80053, | ||
| 1467 | 0x4803c857, 0x82000580, 0x00000001, 0x5c000000, | ||
| 1468 | 0x1c01f000, 0x4c000000, 0x59a80053, 0x4803c857, | ||
| 1469 | 0x82000580, 0x00000003, 0x5c000000, 0x1c01f000, | ||
| 1470 | 0x4c000000, 0x59a80053, 0x82000580, 0x00000002, | ||
| 1471 | 0x5c000000, 0x1c01f000, 0x4c000000, 0x4c040000, | ||
| 1472 | 0x4c080000, 0x4c380000, 0x59a80040, 0x82000c80, | ||
| 1473 | 0x00000007, 0x02021800, 0x001005d8, 0x0c01f806, | ||
| 1474 | 0x5c007000, 0x5c001000, 0x5c000800, 0x5c000000, | ||
| 1475 | 0x1c01f000, 0x0010166c, 0x0010167f, 0x00101693, | ||
| 1476 | 0x00101695, 0x001016bc, 0x001016be, 0x001016c0, | ||
| 1477 | 0x4803c856, 0x4a035042, 0x00000000, 0x42000000, | ||
| 1478 | 0x00000002, 0x0401fa1b, 0x42000000, 0x00000002, | ||
| 1479 | 0x0401f9ad, 0x0401fab2, 0x4803c856, 0x4a035040, | ||
| 1480 | 0x00000006, 0x42000800, 0x0000001e, 0x42001000, | ||
| 1481 | 0x001016c1, 0x0201f000, 0x0010606e, 0x497b5045, | ||
| 1482 | 0x4a035050, 0x00000036, 0x4a03504f, 0x0000002a, | ||
| 1483 | 0x4803c856, 0x4a035042, 0x00000001, 0x42000000, | ||
| 1484 | 0x00000002, 0x0401f998, 0x4803c856, 0x4a035040, | ||
| 1485 | 0x00000006, 0x42000800, 0x0000001e, 0x42001000, | ||
| 1486 | 0x001016c1, 0x0201f000, 0x0010606e, 0x0201f800, | ||
| 1487 | 0x001005d8, 0x4a035050, 0x00000036, 0x4803c856, | ||
| 1488 | 0x4a035042, 0x00000003, 0x42000800, 0x00000000, | ||
| 1489 | 0x0401faa3, 0x82040d00, 0x00000090, 0x82040580, | ||
| 1490 | 0x00000090, 0x04000009, 0x82040580, 0x00000010, | ||
| 1491 | 0x04000009, 0x82040580, 0x00000000, 0x04000008, | ||
| 1492 | 0x0201f800, 0x001005d8, 0x42000000, 0x00000001, | ||
| 1493 | 0x0401f005, 0x41780000, 0x0401f003, 0x42000000, | ||
| 1494 | 0x00000002, 0x0401f970, 0x497b5046, 0x4803c856, | ||
| 1495 | 0x4a035040, 0x00000006, 0x42000800, 0x0000001e, | ||
| 1496 | 0x42001000, 0x001016c1, 0x0201f000, 0x0010606e, | ||
| 1497 | 0x0201f800, 0x001005d8, 0x0201f800, 0x001005d8, | ||
| 1498 | 0x1c01f000, 0x4c000000, 0x4c040000, 0x4c080000, | ||
| 1499 | 0x4c380000, 0x59a80042, 0x82000c80, 0x00000007, | ||
| 1500 | 0x02021800, 0x001005d8, 0x0c01f806, 0x5c007000, | ||
| 1501 | 0x5c001000, 0x5c000800, 0x5c000000, 0x1c01f000, | ||
| 1502 | 0x001016d7, 0x001016f6, 0x0010174a, 0x00101761, | ||
| 1503 | 0x00101778, 0x00101781, 0x00101783, 0x0401f9fc, | ||
| 1504 | 0x0402001b, 0x59a81048, 0x42000800, 0x00000000, | ||
| 1505 | 0x0401fa63, 0x82040d00, 0x00000090, 0x82040580, | ||
| 1506 | 0x00000090, 0x04000009, 0x82040580, 0x00000010, | ||
| 1507 | 0x04000008, 0x82040580, 0x00000000, 0x04000007, | ||
| 1508 | 0x0201f800, 0x001005d8, 0x84081540, 0x0401f004, | ||
| 1509 | 0x84081542, 0x0401f002, 0x84081544, 0x480b5048, | ||
| 1510 | 0x4a035040, 0x00000001, 0x0401f003, 0x0401f8cb, | ||
| 1511 | 0x0401ff82, 0x1c01f000, 0x0401f88f, 0x04000052, | ||
| 1512 | 0x0401f9db, 0x0402002a, 0x42000800, 0x00000000, | ||
| 1513 | 0x0401fa43, 0x82040d00, 0x00000090, 0x82040580, | ||
| 1514 | 0x00000000, 0x04000044, 0x82040580, 0x00000010, | ||
| 1515 | 0x04000006, 0x82040580, 0x00000090, 0x04000009, | ||
| 1516 | 0x0201f800, 0x001005d8, 0x59c40801, 0x82040d00, | ||
| 1517 | 0x00018000, 0x82040580, 0x00000000, 0x04000036, | ||
| 1518 | 0x42000800, 0x00000000, 0x0401fa2d, 0x82040d00, | ||
| 1519 | 0x00000090, 0x82040580, 0x00000010, 0x04000006, | ||
| 1520 | 0x82040580, 0x00000090, 0x04000006, 0x02020800, | ||
| 1521 | 0x001005d8, 0x59a80048, 0x84000542, 0x0401f003, | ||
| 1522 | 0x59a80048, 0x84000540, 0x48035048, 0x59a80045, | ||
| 1523 | 0x80000000, 0x48035045, 0x82000580, 0x00000005, | ||
| 1524 | 0x04000003, 0x0401f861, 0x0401f01e, 0x497b5045, | ||
| 1525 | 0x59c40801, 0x82040d00, 0x00018000, 0x82040580, | ||
| 1526 | 0x00000000, 0x04000009, 0x82040580, 0x00008000, | ||
| 1527 | 0x04000009, 0x82040580, 0x00010000, 0x04000008, | ||
| 1528 | 0x0201f800, 0x001005d8, 0x42000000, 0x00000001, | ||
| 1529 | 0x0401f005, 0x41780000, 0x0401f003, 0x42000000, | ||
| 1530 | 0x00000002, 0x0401f94b, 0x4a035042, 0x00000002, | ||
| 1531 | 0x0401f004, 0x4a035040, 0x00000003, 0x0401f002, | ||
| 1532 | 0x0401ff42, 0x1c01f000, 0x0401f83b, 0x04000015, | ||
| 1533 | 0x59a8004f, 0x80000040, 0x4803504f, 0x0401f984, | ||
| 1534 | 0x04020005, 0x4a035040, 0x00000003, 0x497b5041, | ||
| 1535 | 0x0401f00c, 0x59a8004f, 0x80000540, 0x04020003, | ||
| 1536 | 0x0401f89e, 0x0401f002, 0x0401f84b, 0x0401f82f, | ||
| 1537 | 0x497b5045, 0x4a035042, 0x00000001, 0x0401ff2b, | ||
| 1538 | 0x1c01f000, 0x0401f824, 0x04000015, 0x0401f970, | ||
| 1539 | 0x0402000f, 0x59a80046, 0x80000000, 0x48035046, | ||
| 1540 | 0x82000580, 0x00000007, 0x0402000c, 0x4a035052, | ||
| 1541 | 0x0000000a, 0x497b5049, 0x59a80048, 0x8400055e, | ||
| 1542 | 0x48035048, 0x4803c857, 0x0401f005, 0x0401f817, | ||
| 1543 | 0x4a035042, 0x00000004, 0x0401ff3d, 0x1c01f000, | ||
| 1544 | 0x0401f80d, 0x04000007, 0x0401f959, 0x04020003, | ||
| 1545 | 0x0401ff1b, 0x0401f003, 0x0401f80c, 0x0401ff34, | ||
| 1546 | 0x1c01f000, 0x0201f800, 0x001005d8, 0x0201f800, | ||
| 1547 | 0x001005d8, 0x59a80050, 0x80000040, 0x48035050, | ||
| 1548 | 0x0400088d, 0x1c01f000, 0x4c040000, 0x42000800, | ||
| 1549 | 0x00000000, 0x0401f9b2, 0x82040d00, 0x00000090, | ||
| 1550 | 0x82040580, 0x00000090, 0x04000009, 0x82040580, | ||
| 1551 | 0x00000010, 0x04000009, 0x82040580, 0x00000000, | ||
| 1552 | 0x04000009, 0x0201f800, 0x001005d8, 0x42000000, | ||
| 1553 | 0x00000002, 0x0401f005, 0x42000000, 0x00000001, | ||
| 1554 | 0x0401f002, 0x41780000, 0x0401f8ea, 0x5c000800, | ||
| 1555 | 0x1c01f000, 0x4c040000, 0x59c40801, 0x82040d00, | ||
| 1556 | 0x00018000, 0x82040580, 0x00000000, 0x04000009, | ||
| 1557 | 0x82040580, 0x00008000, 0x04000009, 0x82040580, | ||
| 1558 | 0x00010000, 0x04000009, 0x0201f800, 0x001005d8, | ||
| 1559 | 0x42000000, 0x00000002, 0x0401f005, 0x42000000, | ||
| 1560 | 0x00000001, 0x0401f002, 0x41780000, 0x0401f866, | ||
| 1561 | 0x5c000800, 0x1c01f000, 0x4c040000, 0x59a80045, | ||
| 1562 | 0x80000000, 0x48035045, 0x82000580, 0x00000005, | ||
| 1563 | 0x04020018, 0x497b5045, 0x59c40801, 0x82040d00, | ||
| 1564 | 0x00018000, 0x82040580, 0x00000000, 0x04000009, | ||
| 1565 | 0x82040580, 0x00008000, 0x04000009, 0x82040580, | ||
| 1566 | 0x00010000, 0x04000009, 0x0201f800, 0x001005d8, | ||
| 1567 | 0x42000000, 0x00000002, 0x0401f005, 0x42000000, | ||
| 1568 | 0x00000001, 0x0401f002, 0x41780000, 0x0401f846, | ||
| 1569 | 0x42000800, 0x00000000, 0x0401f961, 0x82040d00, | ||
| 1570 | 0x00000090, 0x82040580, 0x00000090, 0x04000009, | ||
| 1571 | 0x82040580, 0x00000010, 0x04000009, 0x82040580, | ||
| 1572 | 0x00000000, 0x04000009, 0x0201f800, 0x001005d8, | ||
| 1573 | 0x42000000, 0x00000002, 0x0401f005, 0x42000000, | ||
| 1574 | 0x00000001, 0x0401f002, 0x41780000, 0x0401f899, | ||
| 1575 | 0x5c000800, 0x1c01f000, 0x4c200000, 0x59a80048, | ||
| 1576 | 0x82000500, 0x00007fff, 0x02000800, 0x001005d8, | ||
| 1577 | 0x59a84047, 0x80204102, 0x02001800, 0x001005d8, | ||
| 1578 | 0x48235047, 0x80204500, 0x040007fa, 0x8c000504, | ||
| 1579 | 0x04020007, 0x8c000502, 0x04020008, 0x8c000500, | ||
| 1580 | 0x04020008, 0x0201f800, 0x001005d8, 0x42000000, | ||
| 1581 | 0x00000002, 0x0401f005, 0x41780000, 0x0401f003, | ||
| 1582 | 0x42000000, 0x00000001, 0x0401f80f, 0x5c004000, | ||
| 1583 | 0x1c01f000, 0x04011000, 0x4a03c840, 0x0010b440, | ||
| 1584 | 0x4a03c842, 0x00000009, 0x40000000, 0x040117ff, | ||
| 1585 | 0x4a035047, 0x00000004, 0x4a03503e, 0x00000000, | ||
| 1586 | 0x1c01f000, 0x59a80858, 0x82040d80, 0x01391077, | ||
| 1587 | 0x04020008, 0x59e00813, 0x8c040d00, 0x04000005, | ||
| 1588 | 0x82000d80, 0x00000002, 0x04020002, 0x41780000, | ||
| 1589 | 0x4c000000, 0x0401f9b1, 0x5c000000, 0x800001c0, | ||
| 1590 | 0x04000040, 0x82000d80, 0x00000001, 0x0402001d, | ||
| 1591 | 0x42000800, 0x000000a0, 0x0401f909, 0x82040540, | ||
| 1592 | 0x00000004, 0x42000800, 0x000000a0, 0x0401f909, | ||
| 1593 | 0x42000800, 0x000000c0, 0x0401f901, 0x82040540, | ||
| 1594 | 0x00000020, 0x42000800, 0x000000c0, 0x0401f901, | ||
| 1595 | 0x59c40001, 0x82000500, 0xfffe7fff, 0x82000540, | ||
| 1596 | 0x00000000, 0x48038801, 0x59a80054, 0x80000110, | ||
| 1597 | 0x42000800, 0x000000e0, 0x0401f8f6, 0x0401f03c, | ||
| 1598 | 0x82000d80, 0x00000002, 0x02020800, 0x001005d8, | ||
| 1599 | 0x42000800, 0x000000a0, 0x0401f8e9, 0x82040500, | ||
| 1600 | 0xfffffffb, 0x42000800, 0x000000a0, 0x0401f8e9, | ||
| 1601 | 0x42000800, 0x000000c0, 0x0401f8e1, 0x82040500, | ||
| 1602 | 0xffffffdf, 0x42000800, 0x000000c0, 0x0401f8e1, | ||
| 1603 | 0x59c40001, 0x82000500, 0xfffe7fff, 0x82000540, | ||
| 1604 | 0x00010000, 0x48038801, 0x59a80056, 0x80000110, | ||
| 1605 | 0x42000800, 0x000000e0, 0x0401f8d6, 0x0401f01c, | ||
| 1606 | 0x42000800, 0x000000a0, 0x0401f8cd, 0x82040540, | ||
| 1607 | 0x00000004, 0x42000800, 0x000000a0, 0x0401f8cd, | ||
| 1608 | 0x42000800, 0x000000c0, 0x0401f8c5, 0x82040500, | ||
| 1609 | 0xffffffdf, 0x42000800, 0x000000c0, 0x0401f8c5, | ||
| 1610 | 0x59c40001, 0x82000500, 0xfffe7fff, 0x82000540, | ||
| 1611 | 0x00008000, 0x48038801, 0x59a80055, 0x80000110, | ||
| 1612 | 0x42000800, 0x000000e0, 0x0401f8ba, 0x0401f163, | ||
| 1613 | 0x4803c857, 0x59a80858, 0x82040d80, 0x01391077, | ||
| 1614 | 0x04020008, 0x59e00813, 0x8c040d00, 0x04000005, | ||
| 1615 | 0x82000d80, 0x00000002, 0x04020002, 0x41780000, | ||
| 1616 | 0x4c000000, 0x0401f94d, 0x5c000000, 0x800001c0, | ||
| 1617 | 0x04000026, 0x82000d80, 0x00000001, 0x04020010, | ||
| 1618 | 0x59a8006c, 0x80000540, 0x04000004, 0x42001000, | ||
| 1619 | 0x00000000, 0x0401fa0a, 0x42000800, 0x00000000, | ||
| 1620 | 0x0401f897, 0x82040540, 0x00000090, 0x42000800, | ||
| 1621 | 0x00000000, 0x0401f897, 0x0401f024, 0x82000d80, | ||
| 1622 | 0x00000002, 0x02020800, 0x001005d8, 0x59a8006c, | ||
| 1623 | 0x80000540, 0x04000004, 0x42001000, 0x00010000, | ||
| 1624 | 0x0401f9f7, 0x42000800, 0x00000000, 0x0401f884, | ||
| 1625 | 0x82040500, 0xffffff6f, 0x42000800, 0x00000000, | ||
| 1626 | 0x0401f884, 0x0401f011, 0x59a8006c, 0x80000540, | ||
| 1627 | 0x04000004, 0x42001000, 0x00008000, 0x0401f9e8, | ||
| 1628 | 0x42000800, 0x00000000, 0x0401f875, 0x82040500, | ||
| 1629 | 0xffffff6f, 0x82000540, 0x00000010, 0x42000800, | ||
| 1630 | 0x00000000, 0x0401f873, 0x0401f124, 0x4c580000, | ||
| 1631 | 0x4200b000, 0x00000014, 0x8058b040, 0x04000043, | ||
| 1632 | 0x59c4000d, 0x8c000520, 0x040207fc, 0x0401f85c, | ||
| 1633 | 0x59c4000d, 0x8c000520, 0x040207f8, 0x59c40808, | ||
| 1634 | 0x84040d50, 0x48078808, 0x4200b000, 0x000000c8, | ||
| 1635 | 0x8058b040, 0x040207ff, 0x4200b000, 0x00000014, | ||
| 1636 | 0x8058b040, 0x04000031, 0x59c4000d, 0x8c000520, | ||
| 1637 | 0x0402002e, 0x42000800, 0x00001000, 0x50040800, | ||
| 1638 | 0x82040c80, 0x24220001, 0x04020003, 0x8c000504, | ||
| 1639 | 0x040007f4, 0x0401f842, 0x59c4000d, 0x8c000520, | ||
| 1640 | 0x04020022, 0x42000800, 0x00001000, 0x50040800, | ||
| 1641 | 0x82040c80, 0x24220001, 0x04020003, 0x8c000504, | ||
| 1642 | 0x040007e8, 0x4200b000, 0x0000000a, 0x8058b040, | ||
| 1643 | 0x04000003, 0x0401f832, 0x0401f7fd, 0x4200b000, | ||
| 1644 | 0x00000064, 0x59c4000d, 0x8c00051e, 0x0400000f, | ||
| 1645 | 0x8058b040, 0x040207fc, 0x42000000, 0x00001000, | ||
| 1646 | 0x50000000, 0x82000480, 0x24220001, 0x04020004, | ||
| 1647 | 0x59c40808, 0x84040d10, 0x48078808, 0x80000580, | ||
| 1648 | 0x4803c857, 0x0401f00c, 0x42000000, 0x00001000, | ||
| 1649 | 0x50000000, 0x82000480, 0x24220001, 0x04020004, | ||
| 1650 | 0x59c40808, 0x84040d10, 0x48078808, 0x82000540, | ||
| 1651 | 0x00000001, 0x5c00b000, 0x1c01f000, 0x42000800, | ||
| 1652 | 0x000000a0, 0x0401f816, 0x82040500, 0xfffffffe, | ||
| 1653 | 0x42000800, 0x000000a0, 0x0401f816, 0x42000800, | ||
| 1654 | 0x00000000, 0x0401f80e, 0x82040500, 0xfffffffe, | ||
| 1655 | 0x42000800, 0x00000000, 0x0401f00e, 0x40000000, | ||
| 1656 | 0x40000000, 0x40000000, 0x40000000, 0x40000000, | ||
| 1657 | 0x1c01f000, 0x480b8805, 0x1c01f000, 0x4807880e, | ||
| 1658 | 0x59c4080f, 0x82040d00, 0x000000ff, 0x1c01f000, | ||
| 1659 | 0x900001c0, 0x80040d40, 0x84040d40, 0x4807880e, | ||
| 1660 | 0x1c01f000, 0x82000d80, 0x00200000, 0x04000009, | ||
| 1661 | 0x82000d80, 0x02000000, 0x04000006, 0x82000d80, | ||
| 1662 | 0x01000000, 0x04000006, 0x59c408a3, 0x0401f006, | ||
| 1663 | 0x59c408a3, 0x84040d30, 0x0401f003, 0x59c408a3, | ||
| 1664 | 0x84040d32, 0x80040540, 0x480388a3, 0x480788a3, | ||
| 1665 | 0x1c01f000, 0x59c400a3, 0x84000556, 0x480388a3, | ||
| 1666 | 0x84000516, 0x480388a3, 0x1c01f000, 0x485fc857, | ||
| 1667 | 0x4863c857, 0x4c640000, 0x4d3c0000, 0x4d400000, | ||
| 1668 | 0x0201f800, 0x00106ede, 0x4863500a, 0x0201f800, | ||
| 1669 | 0x0010ab33, 0x0402006c, 0x82600d00, 0x0000ff00, | ||
| 1670 | 0x800409c0, 0x0400000c, 0x4200c800, 0x00000001, | ||
| 1671 | 0x59a80010, 0x82000500, 0x000000ff, 0x80041110, | ||
| 1672 | 0x80081580, 0x04000021, 0x82041580, 0x0000ff00, | ||
| 1673 | 0x0400000a, 0x59c410a3, 0x82081500, 0x00008000, | ||
| 1674 | 0x04000009, 0x59c410a7, 0x82081500, 0x0000ff00, | ||
| 1675 | 0x82081580, 0x0000ff00, 0x4200c800, 0x00000000, | ||
| 1676 | 0x04000012, 0x59a80005, 0x8c000502, 0x04020008, | ||
| 1677 | 0x8c000500, 0x0402000d, 0x599c1017, 0x8c08151a, | ||
| 1678 | 0x0400003e, 0x84000542, 0x48035005, 0x4200c800, | ||
| 1679 | 0x00000002, 0x42028000, 0x00000004, 0x42027800, | ||
| 1680 | 0x00000008, 0x0401f008, 0x59a80805, 0x84040d40, | ||
| 1681 | 0x48075005, 0x42028000, 0x00000004, 0x42027800, | ||
| 1682 | 0x00000400, 0x59a80006, 0x8c000502, 0x04020006, | ||
| 1683 | 0x59a80805, 0x8c040d0a, 0x04020033, 0x84040d4a, | ||
| 1684 | 0x48075005, 0x42000000, 0x0010b812, 0x0201f800, | ||
| 1685 | 0x0010aa47, 0x59a8180a, 0x42001000, 0x00008013, | ||
| 1686 | 0x0201f800, 0x00103a3e, 0x0201f800, 0x00103b25, | ||
| 1687 | 0x04000015, 0x4d400000, 0x82600500, 0x000000ff, | ||
| 1688 | 0x42028800, 0x0000ffff, 0x40643000, 0x42028000, | ||
| 1689 | 0x0000000e, 0x0201f800, 0x0010a446, 0x42000800, | ||
| 1690 | 0x00000001, 0x42001000, 0x00000100, 0x0201f800, | ||
| 1691 | 0x0010618b, 0x5c028000, 0x599c0817, 0x8c040d0a, | ||
| 1692 | 0x04020011, 0x493fc857, 0x4943c857, 0x0201f800, | ||
| 1693 | 0x00101fe5, 0x0401f00c, 0x0201f800, 0x00103b25, | ||
| 1694 | 0x04000009, 0x42028000, 0x0000000f, 0x42028800, | ||
| 1695 | 0x0000ffff, 0x42003000, 0x00000000, 0x0201f800, | ||
| 1696 | 0x0010a449, 0x497b8880, 0x5c028000, 0x5c027800, | ||
| 1697 | 0x5c00c800, 0x1c01f000, 0x42000800, 0x000000a0, | ||
| 1698 | 0x0401ff5f, 0x82040540, 0x00000002, 0x42000800, | ||
| 1699 | 0x000000a0, 0x0401f75f, 0x42000800, 0x00000000, | ||
| 1700 | 0x0401ff57, 0x82040540, 0x00000002, 0x42000800, | ||
| 1701 | 0x00000000, 0x0401f757, 0x42000800, 0x000000a0, | ||
| 1702 | 0x0401ff4f, 0x82040500, 0xfffffffd, 0x42000800, | ||
| 1703 | 0x000000a0, 0x0401f74f, 0x42000800, 0x00000000, | ||
| 1704 | 0x0401ff47, 0x82040500, 0xfffffffd, 0x42000800, | ||
| 1705 | 0x00000000, 0x0401f747, 0x59c408a8, 0x0401ff38, | ||
| 1706 | 0x0401ff37, 0x59c400a8, 0x80040d80, 0x040207fb, | ||
| 1707 | 0x1c01f000, 0x4803c856, 0x4a038807, 0x00000001, | ||
| 1708 | 0x497b8807, 0x59c40005, 0x48038805, 0x497b506c, | ||
| 1709 | 0x497b506d, 0x41785800, 0x42006000, 0x00000001, | ||
| 1710 | 0x42006800, 0x00000003, 0x0401f824, 0x0401f82f, | ||
| 1711 | 0x40400000, 0x4803c857, 0x82408580, 0x00000000, | ||
| 1712 | 0x0402001d, 0x41785800, 0x42006000, 0x0000001e, | ||
| 1713 | 0x42006800, 0x00000014, 0x0401f818, 0x0401f823, | ||
| 1714 | 0x40400000, 0x4803c857, 0x82408580, 0x00000800, | ||
| 1715 | 0x04020011, 0x42005800, 0x00000001, 0x42006000, | ||
| 1716 | 0x0000001e, 0x42006800, 0x00000014, 0x0401f80b, | ||
| 1717 | 0x0401f816, 0x40400000, 0x4803c857, 0x82408580, | ||
| 1718 | 0x0000ffff, 0x04020004, 0x4a03506c, 0x00000001, | ||
| 1719 | 0x4803c856, 0x1c01f000, 0x41785000, 0x0401f812, | ||
| 1720 | 0x0401f838, 0x40347000, 0x40340800, 0x0401f03d, | ||
| 1721 | 0x42005000, 0x00000001, 0x0401f80b, 0x0401f831, | ||
| 1722 | 0x40340800, 0x0401f037, 0x42005000, 0x00000002, | ||
| 1723 | 0x0401f805, 0x0401f81d, 0x0401f835, 0x40048000, | ||
| 1724 | 0x1c01f000, 0x0401f808, 0x0401f814, 0x40280800, | ||
| 1725 | 0x0401f826, 0x402c0800, 0x0401f827, 0x40300800, | ||
| 1726 | 0x0401f025, 0x42000800, 0x0000ffff, 0x42001000, | ||
| 1727 | 0x00000001, 0x0401f829, 0x42001000, 0x00000010, | ||
| 1728 | 0x0401f826, 0x42000800, 0x0000ffff, 0x42001000, | ||
| 1729 | 0x00000010, 0x0401f021, 0x41780800, 0x42001000, | ||
| 1730 | 0x00000002, 0x0401f01d, 0x0401f92e, 0x4a03d000, | ||
| 1731 | 0x00050004, 0x0401f92b, 0x4a03d000, 0x00050005, | ||
| 1732 | 0x0401f928, 0x4a03d000, 0x00050004, 0x42000800, | ||
| 1733 | 0x00000001, 0x42001000, 0x00000001, 0x0401f00f, | ||
| 1734 | 0x42000800, 0x00000002, 0x42001000, 0x00000002, | ||
| 1735 | 0x0401f00a, 0x42001000, 0x00000005, 0x0401f007, | ||
| 1736 | 0x42001000, 0x00000010, 0x0401f004, 0x42001000, | ||
| 1737 | 0x00000010, 0x0401f01b, 0x0401f912, 0x82082c00, | ||
| 1738 | 0x0010ab38, 0x50142800, 0x82081500, 0xffffffff, | ||
| 1739 | 0x04000013, 0x0401f90b, 0x80081040, 0x80142902, | ||
| 1740 | 0x40040000, 0x80140500, 0x04000007, 0x4a03d000, | ||
| 1741 | 0x00070006, 0x0401f903, 0x4a03d000, 0x00070007, | ||
| 1742 | 0x0401f006, 0x4a03d000, 0x00070004, 0x0401f8fd, | ||
| 1743 | 0x4a03d000, 0x00070005, 0x0401f7ec, 0x1c01f000, | ||
| 1744 | 0x41780800, 0x82082c00, 0x0010ab38, 0x50142800, | ||
| 1745 | 0x82081500, 0xffffffff, 0x04000010, 0x0401f8f1, | ||
| 1746 | 0x4a03d000, 0x00050001, 0x0401f8ee, 0x59e81800, | ||
| 1747 | 0x80081040, 0x80142902, 0x8c0c1d06, 0x04000004, | ||
| 1748 | 0x40140000, 0x80040d40, 0x0401f8e6, 0x4a03d000, | ||
| 1749 | 0x00070000, 0x0401f7ef, 0x1c01f000, 0x480bc857, | ||
| 1750 | 0x480b506d, 0x59c40001, 0x82000500, 0xffffefff, | ||
| 1751 | 0x48038801, 0x41781800, 0x0401f8c4, 0x41785800, | ||
| 1752 | 0x42006000, 0x0000001e, 0x42006800, 0x00000004, | ||
| 1753 | 0x0401ff7a, 0x42006800, 0x0000003c, 0x0401ff7d, | ||
| 1754 | 0x41785800, 0x42006000, 0x0000001e, 0x42006800, | ||
| 1755 | 0x00000004, 0x0401ff71, 0x41786800, 0x0401ff75, | ||
| 1756 | 0x41785800, 0x42006000, 0x0000001e, 0x41786800, | ||
| 1757 | 0x0401ff6a, 0x42006800, 0x00000002, 0x0401ff6d, | ||
| 1758 | 0x42006800, 0x00000001, 0x0401ff64, 0x42006800, | ||
| 1759 | 0x000000f5, 0x0401ff67, 0x41785800, 0x42006000, | ||
| 1760 | 0x0000001e, 0x42006800, 0x00000004, 0x0401ff5b, | ||
| 1761 | 0x42006800, 0x00000020, 0x0401ff5e, 0x59a8106d, | ||
| 1762 | 0x0401f865, 0x42001800, 0x000200f5, 0x0401f897, | ||
| 1763 | 0x59a8106d, 0x0401f879, 0x41785800, 0x42006000, | ||
| 1764 | 0x0000001e, 0x42006800, 0x00000004, 0x0401ff4b, | ||
| 1765 | 0x41786800, 0x0401ff4f, 0x59c40001, 0x82000540, | ||
| 1766 | 0x00001000, 0x48038801, 0x41785800, 0x42006000, | ||
| 1767 | 0x0000001e, 0x42006800, 0x00000015, 0x0401ff3f, | ||
| 1768 | 0x0401ff4a, 0x40400000, 0x82000540, 0x00000002, | ||
| 1769 | 0x4c000000, 0x41785800, 0x42006000, 0x0000001e, | ||
| 1770 | 0x42006800, 0x00000015, 0x0401ff34, 0x5c000000, | ||
| 1771 | 0x40006800, 0x0401ff37, 0x41785800, 0x42006000, | ||
| 1772 | 0x0000001e, 0x42006800, 0x00000015, 0x0401ff2b, | ||
| 1773 | 0x0401ff36, 0x40400000, 0x82000500, 0x0000fffd, | ||
| 1774 | 0x4c000000, 0x41785800, 0x42006000, 0x0000001e, | ||
| 1775 | 0x42006800, 0x00000015, 0x0401ff20, 0x5c000000, | ||
| 1776 | 0x40006800, 0x0401ff23, 0x41785800, 0x42006000, | ||
| 1777 | 0x0000001e, 0x42006800, 0x00000014, 0x0401ff17, | ||
| 1778 | 0x0401ff22, 0x40400000, 0x82000540, 0x00000040, | ||
| 1779 | 0x4c000000, 0x41785800, 0x42006000, 0x0000001e, | ||
| 1780 | 0x42006800, 0x00000014, 0x0401ff0c, 0x5c000000, | ||
| 1781 | 0x40006800, 0x0401ff0f, 0x41785800, 0x42006000, | ||
| 1782 | 0x0000001e, 0x42006800, 0x00000014, 0x0401ff03, | ||
| 1783 | 0x0401ff0e, 0x40400000, 0x82000500, 0x0000ffbf, | ||
| 1784 | 0x4c000000, 0x41785800, 0x42006000, 0x0000001e, | ||
| 1785 | 0x42006800, 0x00000014, 0x0401fef8, 0x5c000000, | ||
| 1786 | 0x40006800, 0x0401fefb, 0x4a038886, 0x00002020, | ||
| 1787 | 0x0401f04c, 0x480bc857, 0x82080580, 0x00010000, | ||
| 1788 | 0x04020007, 0x82040d40, 0x00010000, 0x42001800, | ||
| 1789 | 0x00000001, 0x0401f82d, 0x0401f00f, 0x82080580, | ||
| 1790 | 0x00008000, 0x04000007, 0x82040d40, 0x00000000, | ||
| 1791 | 0x42001800, 0x00900001, 0x0401f824, 0x0401f006, | ||
| 1792 | 0x82040d40, 0x00008000, 0x42001800, 0x00100001, | ||
| 1793 | 0x0401f81e, 0x1c01f000, 0x480bc857, 0x82080580, | ||
| 1794 | 0x00010000, 0x04020008, 0x42001800, 0x000000a1, | ||
| 1795 | 0x0401f816, 0x42001800, 0x000000c1, 0x0401f813, | ||
| 1796 | 0x0401f011, 0x82080580, 0x00008000, 0x04000008, | ||
| 1797 | 0x42001800, 0x000400a1, 0x0401f80c, 0x42001800, | ||
| 1798 | 0x002000c1, 0x0401f809, 0x0401f007, 0x42001800, | ||
| 1799 | 0x000400a1, 0x0401f805, 0x42001800, 0x000000c1, | ||
| 1800 | 0x0401f802, 0x1c01f000, 0x480fc857, 0x41785800, | ||
| 1801 | 0x42006000, 0x0000001e, 0x41786800, 0x0401feb7, | ||
| 1802 | 0x400c6800, 0x80346960, 0x0401feba, 0x42006800, | ||
| 1803 | 0x00000001, 0x0401feb1, 0x400c6800, 0x0401feb5, | ||
| 1804 | 0x42006800, 0x00000003, 0x0401feac, 0x0401feb7, | ||
| 1805 | 0x40400000, 0x8c000504, 0x040207fc, 0x1c01f000, | ||
| 1806 | 0x42000000, 0x00000064, 0x80000040, 0x040207ff, | ||
| 1807 | 0x1c01f000, 0x00020103, 0x00101bd5, 0x00101bdb, | ||
| 1808 | 0x00101be1, 0x00101be9, 0x00101bef, 0x00101bf7, | ||
| 1809 | 0x00101bff, 0x00101c09, 0x00101c0f, 0x00101c17, | ||
| 1810 | 0x00101c1f, 0x00101c29, 0x00101c31, 0x00101c3b, | ||
| 1811 | 0x00101c45, 0x000200f8, 0x00101c51, 0x00101c59, | ||
| 1812 | 0x00101c61, 0x00101c6b, 0x00101c73, 0x00101c7d, | ||
| 1813 | 0x00101c87, 0x00101c93, 0x00101c9b, 0x00101ca5, | ||
| 1814 | 0x00101caf, 0x00101cbb, 0x00101cc5, 0x00101cd1, | ||
| 1815 | 0x00101cdd, 0x000200fd, 0x00101ceb, 0x00101cf3, | ||
| 1816 | 0x00101cfb, 0x00101d05, 0x00101d0d, 0x00101d17, | ||
| 1817 | 0x00101d21, 0x00101d2d, 0x00101d35, 0x00101d3f, | ||
| 1818 | 0x00101d49, 0x00101d55, 0x00101d5f, 0x00101d6b, | ||
| 1819 | 0x00101d77, 0x00101d85, 0x00101d8d, 0x00101d97, | ||
| 1820 | 0x00101da1, 0x00101dad, 0x00101db7, 0x00101dc3, | ||
| 1821 | 0x00101dcf, 0x00101ddd, 0x00101de7, 0x00101df3, | ||
| 1822 | 0x00101dff, 0x00101e0d, 0x00101e19, 0x00101e27, | ||
| 1823 | 0x00101e35, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1824 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1825 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f000, | ||
| 1826 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1827 | 0x00101418, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1828 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1829 | 0x00101155, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1830 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1831 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1832 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1833 | 0x00101418, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1834 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1835 | 0x00101418, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1836 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1837 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1838 | 0x4df00000, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1839 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1840 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1841 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1842 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1843 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1844 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1845 | 0x00101155, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1846 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1847 | 0x00101155, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1848 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1849 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1850 | 0x00101418, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1851 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1852 | 0x00101155, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1853 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1854 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1855 | 0x00020729, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1856 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1857 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f000, | ||
| 1858 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1859 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1860 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1861 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1862 | 0x00020729, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1863 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1864 | 0x00020729, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1865 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1866 | 0x00101155, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1867 | 0x00020729, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1868 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1869 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1870 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1871 | 0x4df00000, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1872 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1873 | 0x4df00000, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1874 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1875 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1876 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1877 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1878 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1879 | 0x00020729, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1880 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1881 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1882 | 0x00020729, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1883 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1884 | 0x00101155, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1885 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1886 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1887 | 0x00101155, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1888 | 0x00020729, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1889 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1890 | 0x00101155, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1891 | 0x00020729, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1892 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1893 | 0x4df00000, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1894 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1895 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1896 | 0x00020015, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1897 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1898 | 0x00020015, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1899 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1900 | 0x00101155, 0x0201f800, 0x00020015, 0x0201f000, | ||
| 1901 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1902 | 0x00101155, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1903 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1904 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1905 | 0x00101155, 0x0201f800, 0x00020015, 0x0201f000, | ||
| 1906 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1907 | 0x00101418, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1908 | 0x00020015, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1909 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1910 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1911 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1912 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1913 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1914 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1915 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1916 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1917 | 0x00101418, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1918 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1919 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1920 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1921 | 0x00101155, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1922 | 0x4df00000, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1923 | 0x00101289, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1924 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1925 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1926 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1927 | 0x00101155, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1928 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1929 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1930 | 0x00101155, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1931 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1932 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f000, | ||
| 1933 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1934 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1935 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1936 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1937 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f000, | ||
| 1938 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1939 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1940 | 0x00020015, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1941 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1942 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1943 | 0x00101155, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1944 | 0x4df00000, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1945 | 0x00020015, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1946 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1947 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1948 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1949 | 0x00101155, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1950 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1951 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1952 | 0x00101155, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1953 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1954 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1955 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1956 | 0x4df00000, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1957 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1958 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1959 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1960 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1961 | 0x00101289, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1962 | 0x4df00000, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1963 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1964 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1965 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1966 | 0x00101155, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1967 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1968 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1969 | 0x00101155, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1970 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f800, | ||
| 1971 | 0x00020104, 0x0201f000, 0x00020101, 0x4c000000, | ||
| 1972 | 0x4df00000, 0x0201f800, 0x00101155, 0x0201f800, | ||
| 1973 | 0x00101418, 0x0201f800, 0x00020729, 0x0201f800, | ||
| 1974 | 0x00020015, 0x0201f800, 0x00101289, 0x0201f000, | ||
| 1975 | 0x00020101, 0x4c000000, 0x4df00000, 0x0201f800, | ||
| 1976 | 0x00101155, 0x0201f800, 0x00101418, 0x0201f800, | ||
| 1977 | 0x00020729, 0x0201f800, 0x00020015, 0x0201f800, | ||
| 1978 | 0x00101289, 0x0201f800, 0x00020104, 0x0201f000, | ||
| 1979 | 0x00020101, 0x4c5c0000, 0x4c600000, 0x4178b800, | ||
| 1980 | 0x0201f800, 0x001048ec, 0x040200fd, 0x59a8c026, | ||
| 1981 | 0x0201f800, 0x0010513b, 0x04000003, 0x8c60c506, | ||
| 1982 | 0x0400000e, 0x8c60c500, 0x04020004, 0x8c60c50e, | ||
| 1983 | 0x040008f6, 0x0401f0f2, 0x0401fab4, 0x040200f0, | ||
| 1984 | 0x0201f800, 0x0010513b, 0x04020004, 0x4a03501c, | ||
| 1985 | 0x0000ffff, 0x0401f0ea, 0x8c60c504, 0x04000004, | ||
| 1986 | 0x4a03501c, 0x0000ffff, 0x0401f0e5, 0x59a8c010, | ||
| 1987 | 0x8260c500, 0x000000ff, 0x59a81013, 0x8c081500, | ||
| 1988 | 0x0400005d, 0x8c081502, 0x0402005b, 0x59a8b81c, | ||
| 1989 | 0x825c0d80, 0x0000ffff, 0x04020003, 0x4200b800, | ||
| 1990 | 0x00000001, 0x805c1104, 0x82086400, 0x0010be21, | ||
| 1991 | 0x50300800, 0x825c0500, 0x00000003, 0x0c01f001, | ||
| 1992 | 0x00101e81, 0x00101e7c, 0x00101e80, 0x00101e7e, | ||
| 1993 | 0x80040910, 0x0401f004, 0x80040930, 0x0401f002, | ||
| 1994 | 0x80040920, 0x82040500, 0x000000ff, 0x82000d80, | ||
| 1995 | 0x000000ff, 0x0400000f, 0x4c000000, 0x82000400, | ||
| 1996 | 0x0010210e, 0x50000800, 0x80040910, 0x82040580, | ||
| 1997 | 0x00000080, 0x5c000000, 0x04000030, 0x80600d80, | ||
| 1998 | 0x0400002e, 0x80000540, 0x0400002c, 0x0401f00b, | ||
| 1999 | 0x59a81005, 0x82081500, 0x00000003, 0x0402002b, | ||
| 2000 | 0x59a81013, 0x84081542, 0x480b5013, 0x4a03501c, | ||
| 2001 | 0x0000ffff, 0x0401f028, 0x4c000000, 0x59a80005, | ||
| 2002 | 0x8c000514, 0x42001000, 0x00000010, 0x02020800, | ||
| 2003 | 0x00104c6d, 0x5c000000, 0x0402001c, 0x417a8800, | ||
| 2004 | 0x0201f800, 0x00105c9a, 0x04020016, 0x0201f800, | ||
| 2005 | 0x001045e5, 0x04000006, 0x0201f800, 0x00104c62, | ||
| 2006 | 0x0401f8b1, 0x0400000f, 0x0401f00c, 0x599c0019, | ||
| 2007 | 0x8c00050e, 0x04020009, 0x0201f800, 0x001045a6, | ||
| 2008 | 0x04020008, 0x0201f800, 0x00104c62, 0x0401f9e1, | ||
| 2009 | 0x0401f8be, 0x04000003, 0x805cb800, 0x0401f7b2, | ||
| 2010 | 0x485f501c, 0x0401f086, 0x4a03501c, 0x0000ffff, | ||
| 2011 | 0x0401f083, 0x42003000, 0x0000007e, 0x59a8001c, | ||
| 2012 | 0x82001580, 0x0000ffff, 0x04020005, 0x80000d80, | ||
| 2013 | 0x4018b000, 0x4803c856, 0x0401f009, 0x8018b480, | ||
| 2014 | 0x04001004, 0x40000800, 0x4803c856, 0x0401f004, | ||
| 2015 | 0x4a03501c, 0x0000ffff, 0x0401f071, 0x4c040000, | ||
| 2016 | 0x4c580000, 0x82040400, 0x0010210e, 0x50000000, | ||
| 2017 | 0x82000500, 0x000000ff, 0x80604580, 0x0400005c, | ||
| 2018 | 0x0201f800, 0x00105c9b, 0x04020061, 0x59a80005, | ||
| 2019 | 0x8c000514, 0x42001000, 0x00000010, 0x02020800, | ||
| 2020 | 0x00104c6d, 0x5c00b000, 0x5c000800, 0x040207d7, | ||
| 2021 | 0x4c040000, 0x4c580000, 0x845cbd00, 0x0201f800, | ||
| 2022 | 0x00020245, 0x04000008, 0x599c0019, 0x8c00050e, | ||
| 2023 | 0x04020047, 0x0201f800, 0x001045ab, 0x0402004c, | ||
| 2024 | 0x0401f002, 0x845cbd40, 0x0201f800, 0x00104c62, | ||
| 2025 | 0x0201f800, 0x001049e7, 0x04020007, 0x59a80005, | ||
| 2026 | 0x8c000502, 0x04000033, 0x59340200, 0x8c00050e, | ||
| 2027 | 0x04020030, 0x59a81013, 0x8c081502, 0x04000025, | ||
| 2028 | 0x0201f800, 0x00104a09, 0x04000031, 0x8c5cbd00, | ||
| 2029 | 0x04020004, 0x0201f800, 0x001045ff, 0x0401f02c, | ||
| 2030 | 0x0401f9cd, 0x0400002a, 0x42026000, 0x0010bde9, | ||
| 2031 | 0x49366009, 0x497a6008, 0x417a7800, 0x0401f925, | ||
| 2032 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 2033 | 0x0201f800, 0x00103b25, 0x0400001d, 0x41782800, | ||
| 2034 | 0x42003000, 0x00000008, 0x4d400000, 0x4d440000, | ||
| 2035 | 0x59368c03, 0x42028000, 0x00000029, 0x0201f800, | ||
| 2036 | 0x0010a446, 0x5c028800, 0x5c028000, 0x0401f010, | ||
| 2037 | 0x4937c857, 0x599c0019, 0x8c00050e, 0x0402000c, | ||
| 2038 | 0x0401f96c, 0x0401f849, 0x04000011, 0x0401f008, | ||
| 2039 | 0x59a80013, 0x8c000500, 0x04000003, 0x0401f9a6, | ||
| 2040 | 0x04000003, 0x0401f828, 0x04000009, 0x5c00b000, | ||
| 2041 | 0x5c000800, 0x80040800, 0x8058b040, 0x04020798, | ||
| 2042 | 0x4a03501c, 0x0000ffff, 0x0401f005, 0x4937c857, | ||
| 2043 | 0x5c00b000, 0x5c000800, 0x4807501c, 0x5c00c000, | ||
| 2044 | 0x5c00b800, 0x1c01f000, 0x4803c856, 0x4a03501c, | ||
| 2045 | 0x00000001, 0x42028800, 0x000007fe, 0x42003000, | ||
| 2046 | 0x00fffffe, 0x0201f800, 0x001045a6, 0x0402000c, | ||
| 2047 | 0x0401f948, 0x0401f825, 0x04000009, 0x59a80026, | ||
| 2048 | 0x8400054e, 0x48035026, 0x0201f800, 0x0010930f, | ||
| 2049 | 0x82000540, 0x00000001, 0x1c01f000, 0x80000580, | ||
| 2050 | 0x0401f7fe, 0x4937c857, 0x0201f800, 0x00107942, | ||
| 2051 | 0x04000015, 0x49366009, 0x4a026406, 0x00000001, | ||
| 2052 | 0x417a7800, 0x0201f800, 0x00104567, 0x59a8001b, | ||
| 2053 | 0x80000000, 0x4803501b, 0x42027000, 0x00000004, | ||
| 2054 | 0x599c0019, 0x8c00050e, 0x04000003, 0x42027000, | ||
| 2055 | 0x00000000, 0x0201f800, 0x000207a1, 0x82000540, | ||
| 2056 | 0x00000001, 0x1c01f000, 0x4937c857, 0x0201f800, | ||
| 2057 | 0x00107942, 0x0400001c, 0x49366009, 0x59340403, | ||
| 2058 | 0x82000580, 0x000007fe, 0x04000005, 0x4d3c0000, | ||
| 2059 | 0x417a7800, 0x0401f8b7, 0x5c027800, 0x4a026406, | ||
| 2060 | 0x00000001, 0x417a7800, 0x0201f800, 0x00104567, | ||
| 2061 | 0x42000800, 0x00000003, 0x0201f800, 0x00104571, | ||
| 2062 | 0x59a8001b, 0x80000000, 0x4803501b, 0x42027000, | ||
| 2063 | 0x00000002, 0x0201f800, 0x000207a1, 0x82000540, | ||
| 2064 | 0x00000001, 0x1c01f000, 0x4803c856, 0x42028800, | ||
| 2065 | 0x000007fc, 0x42003000, 0x00fffffc, 0x0201f800, | ||
| 2066 | 0x001045a6, 0x04020005, 0x0401f805, 0x04000003, | ||
| 2067 | 0x4a035027, 0x0000ffff, 0x1c01f000, 0x4937c857, | ||
| 2068 | 0x0201f800, 0x00107942, 0x04000014, 0x49366009, | ||
| 2069 | 0x4a026406, 0x00000001, 0x417a7800, 0x0201f800, | ||
| 2070 | 0x00104567, 0x42000800, 0x00000003, 0x0201f800, | ||
| 2071 | 0x00104571, 0x59a80028, 0x80000000, 0x48035028, | ||
| 2072 | 0x42027000, 0x00000002, 0x0201f800, 0x000207a1, | ||
| 2073 | 0x82000540, 0x00000001, 0x1c01f000, 0x480bc857, | ||
| 2074 | 0x492fc857, 0x4c5c0000, 0x4008b800, 0x42028800, | ||
| 2075 | 0x000007fd, 0x42003000, 0x00fffffd, 0x0201f800, | ||
| 2076 | 0x001045a6, 0x0402001a, 0x0201f800, 0x0002075a, | ||
| 2077 | 0x04000017, 0x49366009, 0x5934000a, 0x84000544, | ||
| 2078 | 0x4802680a, 0x812e59c0, 0x04000005, 0x592c0404, | ||
| 2079 | 0x8c00051e, 0x04000002, 0x48ee6021, 0x492e6008, | ||
| 2080 | 0x4a026406, 0x00000001, 0x485e601c, 0x42027000, | ||
| 2081 | 0x00000022, 0x0201f800, 0x000207a1, 0x82000540, | ||
| 2082 | 0x00000001, 0x5c00b800, 0x1c01f000, 0x80000580, | ||
| 2083 | 0x0401f7fd, 0x5c000000, 0x4c000000, 0x4803c857, | ||
| 2084 | 0x4943c857, 0x493fc857, 0x4d340000, 0x4d440000, | ||
| 2085 | 0x4c580000, 0x4d2c0000, 0x4c5c0000, 0x0201f800, | ||
| 2086 | 0x00106c55, 0x4df00000, 0x0201f800, 0x001069f1, | ||
| 2087 | 0x0201f800, 0x00106aac, 0x0201f800, 0x00106737, | ||
| 2088 | 0x0201f800, 0x0010848a, 0x5c03e000, 0x02000800, | ||
| 2089 | 0x00106c4b, 0x4200b000, 0x000007f0, 0x417a8800, | ||
| 2090 | 0x0201f800, 0x00020245, 0x0402001f, 0x8d3e7d14, | ||
| 2091 | 0x04000005, 0x59340212, 0x82000500, 0x0000ff00, | ||
| 2092 | 0x04000019, 0x8d3e7d06, 0x04000004, 0x59340200, | ||
| 2093 | 0x8c00050e, 0x04020014, 0x8d3e7d18, 0x0400000f, | ||
| 2094 | 0x5934b80f, 0x805cb9c0, 0x04000009, 0x49425a06, | ||
| 2095 | 0x592cb800, 0x0201f800, 0x000202ce, 0x805cb9c0, | ||
| 2096 | 0x040207fb, 0x497a680f, 0x497a6810, 0x4a026c00, | ||
| 2097 | 0x00000707, 0x0401f004, 0x4937c857, 0x0201f800, | ||
| 2098 | 0x001042b4, 0x81468800, 0x8058b040, 0x040207dd, | ||
| 2099 | 0x8d3e7d02, 0x04000011, 0x497b501d, 0x42028800, | ||
| 2100 | 0x000007f0, 0x4200b000, 0x00000010, 0x0201f800, | ||
| 2101 | 0x00020245, 0x04020006, 0x4937c857, 0x4a026c00, | ||
| 2102 | 0x00000707, 0x0201f800, 0x001042b4, 0x81468800, | ||
| 2103 | 0x8058b040, 0x040207f6, 0x5c00b800, 0x5c025800, | ||
| 2104 | 0x5c00b000, 0x5c028800, 0x5c026800, 0x1c01f000, | ||
| 2105 | 0x5c000000, 0x4c000000, 0x4803c857, 0x4933c857, | ||
| 2106 | 0x493fc857, 0x4d340000, 0x4d400000, 0x4d440000, | ||
| 2107 | 0x4d2c0000, 0x4c5c0000, 0x0201f800, 0x00106c55, | ||
| 2108 | 0x4df00000, 0x59326809, 0x813669c0, 0x04000020, | ||
| 2109 | 0x59368c03, 0x42028000, 0x00000029, 0x0201f800, | ||
| 2110 | 0x00106a50, 0x0201f800, 0x00106ab4, 0x0201f800, | ||
| 2111 | 0x001067fd, 0x0201f800, 0x0010a2ff, 0x4937c857, | ||
| 2112 | 0x8d3e7d18, 0x04000010, 0x5934b80f, 0x805cb9c0, | ||
| 2113 | 0x0400000a, 0x405e5800, 0x49425a06, 0x592cb800, | ||
| 2114 | 0x0201f800, 0x000202ce, 0x805cb9c0, 0x040207fa, | ||
| 2115 | 0x497a680f, 0x497a6810, 0x4a026c00, 0x00000707, | ||
| 2116 | 0x0401f003, 0x0201f800, 0x001042b4, 0x5c03e000, | ||
| 2117 | 0x02000800, 0x00106c4b, 0x5c00b800, 0x5c025800, | ||
| 2118 | 0x5c028800, 0x5c028000, 0x5c026800, 0x1c01f000, | ||
| 2119 | 0x4933c857, 0x59a80026, 0x8c000508, 0x04020012, | ||
| 2120 | 0x59305009, 0x482bc857, 0x836c0580, 0x00000002, | ||
| 2121 | 0x0402000d, 0x0401f813, 0x0402000b, 0x58280403, | ||
| 2122 | 0x82000580, 0x000007fc, 0x04000008, 0x59a8001b, | ||
| 2123 | 0x80000040, 0x4803c857, 0x02001800, 0x001005d8, | ||
| 2124 | 0x4803501b, 0x1c01f000, 0x59a80028, 0x80000040, | ||
| 2125 | 0x4803c857, 0x040017fc, 0x48035028, 0x1c01f000, | ||
| 2126 | 0x59300008, 0x800001c0, 0x04020009, 0x59300403, | ||
| 2127 | 0x82000580, 0x00000001, 0x04020004, 0x82000540, | ||
| 2128 | 0x00000001, 0x0401f002, 0x80000580, 0x1c01f000, | ||
| 2129 | 0x4937c857, 0x59340200, 0x84000502, 0x48026a00, | ||
| 2130 | 0x1c01f000, 0x4933c857, 0x493fc857, 0x4947c857, | ||
| 2131 | 0x4d3c0000, 0x4d400000, 0x4d340000, 0x4d440000, | ||
| 2132 | 0x4c580000, 0x0201f800, 0x00106c55, 0x4df00000, | ||
| 2133 | 0x813e79c0, 0x04020004, 0x4200b000, 0x00000001, | ||
| 2134 | 0x0401f004, 0x4200b000, 0x000007f0, 0x417a8800, | ||
| 2135 | 0x41440000, 0x81ac0400, 0x50000000, 0x80026d40, | ||
| 2136 | 0x04000019, 0x42027800, 0x00000001, 0x0201f800, | ||
| 2137 | 0x001048f6, 0x42028000, 0x00000029, 0x417a7800, | ||
| 2138 | 0x0201f800, 0x00106a50, 0x0201f800, 0x00106ab4, | ||
| 2139 | 0x0201f800, 0x001067fd, 0x0201f800, 0x001049e7, | ||
| 2140 | 0x04020005, 0x4937c857, 0x4a026c00, 0x00000404, | ||
| 2141 | 0x0401f003, 0x0201f800, 0x00104a14, 0x0201f800, | ||
| 2142 | 0x0010a2ff, 0x81468800, 0x8058b040, 0x040207e1, | ||
| 2143 | 0x5c03e000, 0x02000800, 0x00106c4b, 0x5c00b000, | ||
| 2144 | 0x5c028800, 0x5c026800, 0x5c028000, 0x5c027800, | ||
| 2145 | 0x1c01f000, 0x4937c857, 0x4947c857, 0x4c5c0000, | ||
| 2146 | 0x4c600000, 0x4c640000, 0x59a80013, 0x8c000500, | ||
| 2147 | 0x0400001f, 0x599c0017, 0x8c00050a, 0x0402001c, | ||
| 2148 | 0x5934ba02, 0x825cbd00, 0x000000ff, 0x485fc857, | ||
| 2149 | 0x4178c000, 0x4178c800, 0x82600400, 0x0010be21, | ||
| 2150 | 0x50002000, 0x8060c1c0, 0x04000008, 0x82100500, | ||
| 2151 | 0x000000ff, 0x82002d80, 0x000000ff, 0x0400000c, | ||
| 2152 | 0x805c0580, 0x0400000d, 0x80102110, 0x8064c800, | ||
| 2153 | 0x82640580, 0x00000004, 0x040207f5, 0x8060c000, | ||
| 2154 | 0x82600580, 0x00000020, 0x040207eb, 0x4813c857, | ||
| 2155 | 0x82000540, 0x00000001, 0x5c00c800, 0x5c00c000, | ||
| 2156 | 0x5c00b800, 0x1c01f000, 0x59a80026, 0x4803c857, | ||
| 2157 | 0x8c000512, 0x1c01f000, 0x00007eef, 0x00007de8, | ||
| 2158 | 0x00007ce4, 0x000080e2, 0x00007be1, 0x000080e0, | ||
| 2159 | 0x000080dc, 0x000080da, 0x00007ad9, 0x000080d6, | ||
| 2160 | 0x000080d5, 0x000080d4, 0x000080d3, 0x000080d2, | ||
| 2161 | 0x000080d1, 0x000079ce, 0x000078cd, 0x000080cc, | ||
| 2162 | 0x000080cb, 0x000080ca, 0x000080c9, 0x000080c7, | ||
| 2163 | 0x000080c6, 0x000077c5, 0x000076c3, 0x000080bc, | ||
| 2164 | 0x000080ba, 0x000075b9, 0x000080b6, 0x000074b5, | ||
| 2165 | 0x000073b4, 0x000072b3, 0x000080b2, 0x000080b1, | ||
| 2166 | 0x000080ae, 0x000071ad, 0x000080ac, 0x000070ab, | ||
| 2167 | 0x00006faa, 0x00006ea9, 0x000080a7, 0x00006da6, | ||
| 2168 | 0x00006ca5, 0x00006ba3, 0x00006a9f, 0x0000699e, | ||
| 2169 | 0x0000689d, 0x0000809b, 0x00008098, 0x00006797, | ||
| 2170 | 0x00006690, 0x0000658f, 0x00006488, 0x00006384, | ||
| 2171 | 0x00006282, 0x00008081, 0x00008080, 0x0000617c, | ||
| 2172 | 0x0000607a, 0x00008079, 0x00005f76, 0x00008075, | ||
| 2173 | 0x00008074, 0x00008073, 0x00008072, 0x00008071, | ||
| 2174 | 0x0000806e, 0x00005e6d, 0x0000806c, 0x00005d6b, | ||
| 2175 | 0x00005c6a, 0x00005b69, 0x00008067, 0x00005a66, | ||
| 2176 | 0x00005965, 0x00005863, 0x0000575c, 0x0000565a, | ||
| 2177 | 0x00005559, 0x00008056, 0x00008055, 0x00005454, | ||
| 2178 | 0x00005353, 0x00005252, 0x00005151, 0x0000504e, | ||
| 2179 | 0x00004f4d, 0x0000804c, 0x0000804b, 0x00004e4a, | ||
| 2180 | 0x00004d49, 0x00008047, 0x00004c46, 0x00008045, | ||
| 2181 | 0x00008043, 0x0000803c, 0x0000803a, 0x00008039, | ||
| 2182 | 0x00008036, 0x00004b35, 0x00008034, 0x00004a33, | ||
| 2183 | 0x00004932, 0x00004831, 0x0000802e, 0x0000472d, | ||
| 2184 | 0x0000462c, 0x0000452b, 0x0000442a, 0x00004329, | ||
| 2185 | 0x00004227, 0x00008026, 0x00008025, 0x00004123, | ||
| 2186 | 0x0000401f, 0x00003f1e, 0x00003e1d, 0x00003d1b, | ||
| 2187 | 0x00003c18, 0x00008017, 0x00008010, 0x00003b0f, | ||
| 2188 | 0x00003a08, 0x00008004, 0x00003902, 0x00008001, | ||
| 2189 | 0x00008000, 0x00008000, 0x00003800, 0x00003700, | ||
| 2190 | 0x00003600, 0x00008000, 0x00003500, 0x00008000, | ||
| 2191 | 0x00008000, 0x00008000, 0x00003400, 0x00008000, | ||
| 2192 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2193 | 0x00008000, 0x00003300, 0x00003200, 0x00008000, | ||
| 2194 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2195 | 0x00008000, 0x00003100, 0x00003000, 0x00008000, | ||
| 2196 | 0x00008000, 0x00002f00, 0x00008000, 0x00002e00, | ||
| 2197 | 0x00002d00, 0x00002c00, 0x00008000, 0x00008000, | ||
| 2198 | 0x00008000, 0x00002b00, 0x00008000, 0x00002a00, | ||
| 2199 | 0x00002900, 0x00002800, 0x00008000, 0x00002700, | ||
| 2200 | 0x00002600, 0x00002500, 0x00002400, 0x00002300, | ||
| 2201 | 0x00002200, 0x00008000, 0x00008000, 0x00002100, | ||
| 2202 | 0x00002000, 0x00001f00, 0x00001e00, 0x00001d00, | ||
| 2203 | 0x00001c00, 0x00008000, 0x00008000, 0x00001b00, | ||
| 2204 | 0x00001a00, 0x00008000, 0x00001900, 0x00008000, | ||
| 2205 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2206 | 0x00008000, 0x00001800, 0x00008000, 0x00001700, | ||
| 2207 | 0x00001600, 0x00001500, 0x00008000, 0x00001400, | ||
| 2208 | 0x00001300, 0x00001200, 0x00001100, 0x00001000, | ||
| 2209 | 0x00000f00, 0x00008000, 0x00008000, 0x00000e00, | ||
| 2210 | 0x00000d00, 0x00000c00, 0x00000b00, 0x00000a00, | ||
| 2211 | 0x00000900, 0x00008000, 0x00008000, 0x00000800, | ||
| 2212 | 0x00000700, 0x00008000, 0x00000600, 0x00008000, | ||
| 2213 | 0x00008000, 0x00008000, 0x00000500, 0x00000400, | ||
| 2214 | 0x00000300, 0x00008000, 0x00000200, 0x00008000, | ||
| 2215 | 0x00008000, 0x00008000, 0x00000100, 0x00008000, | ||
| 2216 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2217 | 0x00008000, 0x00000000, 0x00008000, 0x00008000, | ||
| 2218 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2219 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2220 | 0x00008000, 0x00008000, 0x00008000, 0x00008000, | ||
| 2221 | 0x00008000, 0x00008000, 0x0201f800, 0x001007d3, | ||
| 2222 | 0x02000800, 0x001005d8, 0x492f4016, 0x1c01f000, | ||
| 2223 | 0x83a0ac00, 0x00000006, 0x83a00580, 0x0010b4a4, | ||
| 2224 | 0x0400000c, 0x492fc857, 0x812e59c0, 0x02000800, | ||
| 2225 | 0x001005d8, 0x832ca400, 0x00000006, 0x4200b000, | ||
| 2226 | 0x0000000d, 0x0201f800, 0x0010ab17, 0x0401f00f, | ||
| 2227 | 0x4200b000, 0x00000010, 0x83e0a400, 0x00000020, | ||
| 2228 | 0x50500000, 0x8050a000, 0x50500800, 0x900409c0, | ||
| 2229 | 0x80040540, 0x4400a800, 0x8050a000, 0x8054a800, | ||
| 2230 | 0x8058b040, 0x040207f7, 0x1c01f000, 0x59a00206, | ||
| 2231 | 0x4803c857, 0x82000c80, 0x0000007f, 0x040210c9, | ||
| 2232 | 0x59a80821, 0x0c01f001, 0x001022c0, 0x00102300, | ||
| 2233 | 0x00102300, 0x0010234b, 0x0010236d, 0x00102300, | ||
| 2234 | 0x001022c0, 0x0010238f, 0x001023a0, 0x00102300, | ||
| 2235 | 0x00102300, 0x001023ad, 0x001023c5, 0x001023dd, | ||
| 2236 | 0x00102300, 0x001023e7, 0x001023f4, 0x00102300, | ||
| 2237 | 0x0010241d, 0x00102300, 0x0010247a, 0x00102300, | ||
| 2238 | 0x00102300, 0x00102300, 0x00102300, 0x00102300, | ||
| 2239 | 0x00102300, 0x00102300, 0x00102300, 0x00102300, | ||
| 2240 | 0x00102300, 0x00102300, 0x00102491, 0x00102300, | ||
| 2241 | 0x001024e3, 0x00102300, 0x00102300, 0x00102300, | ||
| 2242 | 0x00102300, 0x001024e8, 0x00102560, 0x00102300, | ||
| 2243 | 0x00102567, 0x00102300, 0x00102300, 0x00102300, | ||
| 2244 | 0x00102300, 0x00102300, 0x00102569, 0x001025ea, | ||
| 2245 | 0x00102727, 0x00102300, 0x00102300, 0x00102300, | ||
| 2246 | 0x00102300, 0x00102300, 0x00102736, 0x00102300, | ||
| 2247 | 0x00102300, 0x00102300, 0x00102300, 0x00102300, | ||
| 2248 | 0x00102300, 0x00102300, 0x00102753, 0x001027a6, | ||
| 2249 | 0x00102802, 0x00102816, 0x00102835, 0x00102a70, | ||
| 2250 | 0x00102dff, 0x00102300, 0x00102300, 0x00102300, | ||
| 2251 | 0x00102300, 0x00102300, 0x00102300, 0x00102300, | ||
| 2252 | 0x00102300, 0x00102300, 0x00102300, 0x00102300, | ||
| 2253 | 0x00102300, 0x00102fb4, 0x00103028, 0x00102300, | ||
| 2254 | 0x00102300, 0x00103094, 0x00102300, 0x00103126, | ||
| 2255 | 0x001031d8, 0x00102300, 0x00102300, 0x0010320f, | ||
| 2256 | 0x0010326b, 0x00102300, 0x001032bd, 0x00103419, | ||
| 2257 | 0x00102300, 0x0010342d, 0x001034b8, 0x00102300, | ||
| 2258 | 0x00102300, 0x00102300, 0x00102300, 0x00103522, | ||
| 2259 | 0x00103526, 0x00103545, 0x00102300, 0x001035e7, | ||
| 2260 | 0x00102300, 0x00102300, 0x00103615, 0x00102300, | ||
| 2261 | 0x00103643, 0x00102300, 0x00102300, 0x001036aa, | ||
| 2262 | 0x001037b7, 0x00103814, 0x00102300, 0x0010387a, | ||
| 2263 | 0x00102300, 0x00102300, 0x001038d3, 0x00103936, | ||
| 2264 | 0x00102300, 0x48efc857, 0x4031d800, 0x58ef400b, | ||
| 2265 | 0x58ec0002, 0x82000580, 0x00000200, 0x04000045, | ||
| 2266 | 0x48efc857, 0x4a034206, 0x00004000, 0x0201f800, | ||
| 2267 | 0x00103a15, 0x83a00580, 0x0010b4a4, 0x0400000d, | ||
| 2268 | 0x58ee580a, 0x4d2c0000, 0x0401f856, 0x41a25800, | ||
| 2269 | 0x0201f800, 0x001007f4, 0x40ee5800, 0x0201f800, | ||
| 2270 | 0x001007f4, 0x5c025800, 0x0201f000, 0x000202da, | ||
| 2271 | 0x04026007, 0x59a0001d, 0x84000542, 0x4803401d, | ||
| 2272 | 0x4a01d809, 0x001022d4, 0x1c01f000, 0x59a00206, | ||
| 2273 | 0x82000d80, 0x00004000, 0x04000006, 0x900001c0, | ||
| 2274 | 0x82000540, 0x00000011, 0x4803c011, 0x0401f005, | ||
| 2275 | 0x900001c0, 0x82000540, 0x00000010, 0x4803c011, | ||
| 2276 | 0x0401f845, 0x59e00017, 0x8c000508, 0x0402000c, | ||
| 2277 | 0x4203e000, 0x30000001, 0x4203e000, 0x40000000, | ||
| 2278 | 0x40ee5800, 0x0201f800, 0x001007f4, 0x59a0001d, | ||
| 2279 | 0x84000504, 0x4803401d, 0x1c01f000, 0x4a03c017, | ||
| 2280 | 0x00000000, 0x59a00206, 0x82000d80, 0x00004000, | ||
| 2281 | 0x040007f0, 0x4a03c017, 0x00000001, 0x0401f7ed, | ||
| 2282 | 0x4803c856, 0x4a034206, 0x00004001, 0x0401f7c0, | ||
| 2283 | 0x4803c856, 0x4a034206, 0x00004002, 0x0401f7bc, | ||
| 2284 | 0x4803c856, 0x4a034206, 0x00004003, 0x0401f7b8, | ||
| 2285 | 0x4803c856, 0x4a034206, 0x00004005, 0x0401f7b4, | ||
| 2286 | 0x4803c856, 0x4a034206, 0x00004006, 0x0401f7b0, | ||
| 2287 | 0x4803c856, 0x4a034206, 0x0000400b, 0x0401f7ac, | ||
| 2288 | 0x4803c856, 0x4a034206, 0x0000400c, 0x0401f7a8, | ||
| 2289 | 0x4803c856, 0x4a034206, 0x0000400c, 0x0401f7a4, | ||
| 2290 | 0x48efc857, 0x58eca80a, 0x8054a9c0, 0x02000800, | ||
| 2291 | 0x001005d8, 0x83a0a400, 0x00000006, 0x8254ac00, | ||
| 2292 | 0x00000006, 0x4200b000, 0x0000000d, 0x0201f000, | ||
| 2293 | 0x0010ab17, 0x59a00206, 0x4803c857, 0x59a00406, | ||
| 2294 | 0x4803c857, 0x59a00207, 0x4803c857, 0x59a00407, | ||
| 2295 | 0x4803c857, 0x59a00208, 0x4803c857, 0x59a00408, | ||
| 2296 | 0x4803c857, 0x59a00209, 0x4803c857, 0x83e0ac00, | ||
| 2297 | 0x00000020, 0x83a0a400, 0x00000006, 0x4200b000, | ||
| 2298 | 0x00000010, 0x50500000, 0x4400a800, 0x8054a800, | ||
| 2299 | 0x900001c0, 0x4400a800, 0x8054a800, 0x8050a000, | ||
| 2300 | 0x8058b040, 0x040207f8, 0x1c01f000, 0x59a00406, | ||
| 2301 | 0x800000c2, 0x59a00a07, 0x900409c0, 0x80040540, | ||
| 2302 | 0x84000540, 0x59a00c07, 0x8c040d00, 0x04000018, | ||
| 2303 | 0x59a80805, 0x8c040d0e, 0x040207ba, 0x42000800, | ||
| 2304 | 0x00000064, 0x80040840, 0x04000007, 0x4a030000, | ||
| 2305 | 0x00000001, 0x40000000, 0x59801000, 0x8c081500, | ||
| 2306 | 0x040007f9, 0x04000005, 0x48030004, 0x4a030000, | ||
| 2307 | 0x00000000, 0x0401f75b, 0x4a030000, 0x00000000, | ||
| 2308 | 0x4a034406, 0x00000004, 0x040007a2, 0x4803880e, | ||
| 2309 | 0x0401f754, 0x59a00406, 0x800000c2, 0x59a00c07, | ||
| 2310 | 0x8c040d00, 0x0400001a, 0x59a80805, 0x8c040d0e, | ||
| 2311 | 0x0402079c, 0x42000800, 0x00000064, 0x80040840, | ||
| 2312 | 0x04000007, 0x4a030000, 0x00000001, 0x40000000, | ||
| 2313 | 0x59801000, 0x8c081500, 0x040007f9, 0x04000007, | ||
| 2314 | 0x48030004, 0x59800805, 0x48074406, 0x4a030000, | ||
| 2315 | 0x00000000, 0x0401f73b, 0x4a030000, 0x00000000, | ||
| 2316 | 0x4a034406, 0x00000004, 0x04000782, 0x4803880e, | ||
| 2317 | 0x59c4080f, 0x48074406, 0x0401f732, 0x59a01c06, | ||
| 2318 | 0x59a00207, 0x900c19c0, 0x800c1d40, 0x580c0803, | ||
| 2319 | 0x80000580, 0x500c1000, 0x80080400, 0x800c1800, | ||
| 2320 | 0x80040840, 0x040207fc, 0x48034406, 0x900001c0, | ||
| 2321 | 0x48034207, 0x800001c0, 0x04000722, 0x0401f769, | ||
| 2322 | 0x4a034406, 0x00000004, 0x4a034207, 0x00000000, | ||
| 2323 | 0x4a034407, 0x00000010, 0x59a8000d, 0x48034208, | ||
| 2324 | 0x900001c0, 0x48034408, 0x4a034209, 0x00000002, | ||
| 2325 | 0x0401f714, 0x59a00407, 0x59a01207, 0x900811c0, | ||
| 2326 | 0x80081540, 0x59a00409, 0x59a01a09, 0x900c19c0, | ||
| 2327 | 0x800c1d40, 0x59a00a08, 0x59a00408, 0x900409c0, | ||
| 2328 | 0x80040d40, 0x59a0020a, 0x82002480, 0x00000010, | ||
| 2329 | 0x04001754, 0x59a02406, 0x900001c0, 0x80100540, | ||
| 2330 | 0x59a8280d, 0x80142480, 0x0400174e, 0x0201f000, | ||
| 2331 | 0x00103a25, 0x59a00407, 0x59a01207, 0x900811c0, | ||
| 2332 | 0x80081540, 0x59a00409, 0x59a01a09, 0x900c19c0, | ||
| 2333 | 0x800c1d40, 0x59a00a08, 0x59a00408, 0x900409c0, | ||
| 2334 | 0x80040d40, 0x59a0020a, 0x82002480, 0x00000010, | ||
| 2335 | 0x0400173c, 0x59a02406, 0x900001c0, 0x80100540, | ||
| 2336 | 0x59a8280d, 0x80142480, 0x04001736, 0x0201f000, | ||
| 2337 | 0x00103a28, 0x59a00a0a, 0x59a00406, 0x900409c0, | ||
| 2338 | 0x80040d40, 0x59a01407, 0x59a00207, 0x900811c0, | ||
| 2339 | 0x80081540, 0x44080800, 0x0401f6da, 0x59a00a0a, | ||
| 2340 | 0x59a00406, 0x900409c0, 0x80040d40, 0x50040000, | ||
| 2341 | 0x82000d00, 0x0000ffff, 0x48074207, 0x82000d00, | ||
| 2342 | 0xffff0000, 0x900409c0, 0x48074407, 0x0401f6cd, | ||
| 2343 | 0x59a00406, 0x8c000500, 0x04000020, 0x59a01207, | ||
| 2344 | 0x59a01c07, 0x59a02208, 0x480b5054, 0x480f5055, | ||
| 2345 | 0x48135056, 0x59c40801, 0x82040d00, 0x00018000, | ||
| 2346 | 0x82040580, 0x00000000, 0x04000009, 0x82040580, | ||
| 2347 | 0x00008000, 0x04000008, 0x82040580, 0x00010000, | ||
| 2348 | 0x04000007, 0x0201f800, 0x001005d8, 0x40080000, | ||
| 2349 | 0x0401f004, 0x400c0000, 0x0401f002, 0x40100000, | ||
| 2350 | 0x80000110, 0x42000800, 0x000000e0, 0x0201f800, | ||
| 2351 | 0x00101944, 0x0401f007, 0x59a81054, 0x59a81855, | ||
| 2352 | 0x59a82056, 0x480b4207, 0x480f4407, 0x48134208, | ||
| 2353 | 0x0401f6a4, 0x4d2c0000, 0x4d340000, 0x4d300000, | ||
| 2354 | 0x4d440000, 0x59a28c06, 0x0201f800, 0x00020245, | ||
| 2355 | 0x04000006, 0x5c028800, 0x5c026000, 0x5c026800, | ||
| 2356 | 0x5c025800, 0x0401f6e7, 0x59a04407, 0x59a00207, | ||
| 2357 | 0x900001c0, 0x80204540, 0x0401f81e, 0x04000009, | ||
| 2358 | 0x4a034208, 0x00000001, 0x4a034406, 0x0000ffff, | ||
| 2359 | 0x4a034207, 0x0000ffff, 0x497b4407, 0x0401f00b, | ||
| 2360 | 0x0401f822, 0x0400000e, 0x4a034208, 0x00000002, | ||
| 2361 | 0x59300402, 0x48034406, 0x59300202, 0x48034207, | ||
| 2362 | 0x59300206, 0x48034407, 0x5c028800, 0x5c026000, | ||
| 2363 | 0x5c026800, 0x5c025800, 0x0401f67a, 0x5c028800, | ||
| 2364 | 0x5c026000, 0x5c026800, 0x5c025800, 0x0401f6c1, | ||
| 2365 | 0x4937c856, 0x4823c856, 0x4d2c0000, 0x5934000f, | ||
| 2366 | 0x80025d40, 0x04000007, 0x592c0005, 0x80200580, | ||
| 2367 | 0x592c0000, 0x040207fb, 0x82000540, 0x00000001, | ||
| 2368 | 0x5c025800, 0x1c01f000, 0x4823c857, 0x4d2c0000, | ||
| 2369 | 0x4d300000, 0x42026000, 0x0010d1c0, 0x59300406, | ||
| 2370 | 0x82000d80, 0x00000003, 0x04000004, 0x82000d80, | ||
| 2371 | 0x00000006, 0x04020007, 0x59325808, 0x812e59c0, | ||
| 2372 | 0x04000004, 0x592c0005, 0x80200580, 0x0400000a, | ||
| 2373 | 0x83326400, 0x00000024, 0x41580000, 0x81300480, | ||
| 2374 | 0x040017ef, 0x80000580, 0x5c026000, 0x5c025800, | ||
| 2375 | 0x1c01f000, 0x82000540, 0x00000001, 0x5c026000, | ||
| 2376 | 0x5c025800, 0x1c01f000, 0x83a00580, 0x0010b4a4, | ||
| 2377 | 0x04020684, 0x59a80005, 0x8c00050e, 0x04020003, | ||
| 2378 | 0x4a030000, 0x00000000, 0x4a034206, 0x00004000, | ||
| 2379 | 0x4a03c011, 0x40000010, 0x0401fea7, 0x59e00017, | ||
| 2380 | 0x8c000508, 0x04000003, 0x4a03c017, 0x00000000, | ||
| 2381 | 0x4203e000, 0x30000001, 0x4203e000, 0x40000000, | ||
| 2382 | 0x0401f000, 0x800409c0, 0x04000004, 0x4a034406, | ||
| 2383 | 0x00000001, 0x0401f677, 0x836c0580, 0x00000003, | ||
| 2384 | 0x04020010, 0x59a80010, 0x497b4406, 0x0201f800, | ||
| 2385 | 0x0010513b, 0x0400000f, 0x82000d00, 0x00ffff00, | ||
| 2386 | 0x0402000c, 0x82000c00, 0x0010210e, 0x50040800, | ||
| 2387 | 0x80040910, 0x82041580, 0x00000080, 0x04020004, | ||
| 2388 | 0x4a034406, 0x00000007, 0x0401f662, 0x48074406, | ||
| 2389 | 0x82000d00, 0x0000ffff, 0x48074207, 0x80000120, | ||
| 2390 | 0x48034407, 0x59a80026, 0x82001500, 0x00000100, | ||
| 2391 | 0x480b4409, 0x8c000502, 0x0400001f, 0x8c000506, | ||
| 2392 | 0x04000009, 0x82000d00, 0x0000000a, 0x82040d80, | ||
| 2393 | 0x0000000a, 0x04020004, 0x4a034209, 0x00000001, | ||
| 2394 | 0x0401f022, 0x8c00050a, 0x04000009, 0x82000d00, | ||
| 2395 | 0x00000022, 0x82040d80, 0x00000022, 0x04020004, | ||
| 2396 | 0x4a034209, 0x00000003, 0x0401f018, 0x8c000508, | ||
| 2397 | 0x04000009, 0x82000d00, 0x00000012, 0x82040d80, | ||
| 2398 | 0x00000012, 0x04020004, 0x4a034209, 0x00000002, | ||
| 2399 | 0x0401f00e, 0x0201f800, 0x0010513b, 0x04020004, | ||
| 2400 | 0x4a034209, 0x00000004, 0x0401f5e6, 0x8c000506, | ||
| 2401 | 0x04000004, 0x4a034406, 0x00000005, 0x0401f62d, | ||
| 2402 | 0x4a034209, 0x00000000, 0x0401f5de, 0x59a80037, | ||
| 2403 | 0x48034407, 0x59a80038, 0x48034209, 0x0401f5d9, | ||
| 2404 | 0x42007800, 0x0010b8ec, 0x59a00406, 0x4803c857, | ||
| 2405 | 0x82000c80, 0x00000006, 0x04021622, 0x0c01f001, | ||
| 2406 | 0x001024f6, 0x001024f7, 0x00102505, 0x00102518, | ||
| 2407 | 0x00102539, 0x001024f6, 0x0401f61a, 0x836c0580, | ||
| 2408 | 0x00000000, 0x04000613, 0x59a00a07, 0x59a00407, | ||
| 2409 | 0x900001c0, 0x80040d40, 0x4807c857, 0x59a00a08, | ||
| 2410 | 0x59a00408, 0x900001c0, 0x80040d40, 0x4807c857, | ||
| 2411 | 0x0401f056, 0x836c0580, 0x00000000, 0x04000605, | ||
| 2412 | 0x59a00407, 0x59a01207, 0x900001c0, 0x80081540, | ||
| 2413 | 0x59a00408, 0x59a01a08, 0x900001c0, 0x800c1d40, | ||
| 2414 | 0x42000000, 0x0010c1bf, 0x480fc857, 0x480bc857, | ||
| 2415 | 0x42000800, 0x00001000, 0x0201f000, 0x00103a28, | ||
| 2416 | 0x59a00a07, 0x59a00407, 0x900001c0, 0x80041d40, | ||
| 2417 | 0x820c0c80, 0x0010ab4a, 0x040215f2, 0x820c0c80, | ||
| 2418 | 0x00100000, 0x040015ef, 0x480fc857, 0x823c7c00, | ||
| 2419 | 0x00000009, 0x503c0800, 0x800409c0, 0x04000006, | ||
| 2420 | 0x823c0580, 0x0000000d, 0x040005e6, 0x803c7800, | ||
| 2421 | 0x0401f7f9, 0x59e41001, 0x82080d00, 0xfffeffcf, | ||
| 2422 | 0x4807c801, 0x440c7800, 0x46001800, 0x0201f800, | ||
| 2423 | 0x800c1800, 0x46001800, 0x001005cb, 0x480bc801, | ||
| 2424 | 0x0401f022, 0x59a01a07, 0x59a00407, 0x900001c0, | ||
| 2425 | 0x800c1d40, 0x480c7801, 0x59a02208, 0x59a00408, | ||
| 2426 | 0x900001c0, 0x80102540, 0x48107802, 0x59a00209, | ||
| 2427 | 0x80000040, 0x040015cb, 0x48007806, 0x80000000, | ||
| 2428 | 0x48007805, 0x42000800, 0x00004000, 0x40001000, | ||
| 2429 | 0x0201f800, 0x00106681, 0x80000540, 0x04000003, | ||
| 2430 | 0x49787801, 0x0401f5bf, 0x40040000, 0x800c1c00, | ||
| 2431 | 0x040015bc, 0x480c7803, 0x48107804, 0x49787808, | ||
| 2432 | 0x59a00409, 0x48007807, 0x59e40001, 0x4803c857, | ||
| 2433 | 0x82000540, 0x00040000, 0x4803c801, 0x0401f561, | ||
| 2434 | 0x59a80006, 0x48034406, 0x59a80007, 0x48034207, | ||
| 2435 | 0x59a80008, 0x48034407, 0x0401f55a, 0x0201f800, | ||
| 2436 | 0x001005d8, 0x4803c856, 0x4a03c013, 0x03800300, | ||
| 2437 | 0x4a03c014, 0x03800380, 0x59a00c06, 0x82040580, | ||
| 2438 | 0x000000a0, 0x04000004, 0x82040580, 0x000000a2, | ||
| 2439 | 0x0402002b, 0x59a0140a, 0x82080480, 0x00000100, | ||
| 2440 | 0x04021027, 0x59a0020b, 0x8c000500, 0x0402002e, | ||
| 2441 | 0x59a00a0a, 0x800409c0, 0x04000021, 0x82040480, | ||
| 2442 | 0x00000041, 0x0402101e, 0x82040c00, 0x00000003, | ||
| 2443 | 0x82040d00, 0x000000fc, 0x80040904, 0x59a00407, | ||
| 2444 | 0x59a01207, 0x900811c0, 0x80081540, 0x59a00409, | ||
| 2445 | 0x59a01a09, 0x900c19c0, 0x800c1d40, 0x0201f800, | ||
| 2446 | 0x00103a00, 0x04020006, 0x4a034406, 0x00000002, | ||
| 2447 | 0x4a03c014, 0x03800000, 0x0401f576, 0x832e5c00, | ||
| 2448 | 0x00000004, 0x412c0000, 0x0201f800, 0x00103a25, | ||
| 2449 | 0x4a01d809, 0x001025a2, 0x1c01f000, 0x4a03c014, | ||
| 2450 | 0x03800000, 0x0401f56f, 0x4031d800, 0x58ef400b, | ||
| 2451 | 0x58ee580d, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 2452 | 0x0400055c, 0x59a00c06, 0x59a0140a, 0x59a0020b, | ||
| 2453 | 0x8c000500, 0x04020031, 0x832e5c00, 0x00000004, | ||
| 2454 | 0x41783800, 0x59a04a0a, 0x401c0000, 0x812c0400, | ||
| 2455 | 0x50004000, 0x82201d00, 0x000000ff, 0x4c040000, | ||
| 2456 | 0x0401f8ac, 0x5c000800, 0x0400002d, 0x80244840, | ||
| 2457 | 0x04000028, 0x80081000, 0x82201d00, 0x0000ff00, | ||
| 2458 | 0x800c1910, 0x4c040000, 0x0401f8a2, 0x5c000800, | ||
| 2459 | 0x04000023, 0x80244840, 0x0400001e, 0x80081000, | ||
| 2460 | 0x82201d00, 0x00ff0000, 0x800c1920, 0x4c040000, | ||
| 2461 | 0x0401f898, 0x5c000800, 0x04000019, 0x80244840, | ||
| 2462 | 0x04000014, 0x80081000, 0x82201d00, 0xff000000, | ||
| 2463 | 0x800c1930, 0x4c040000, 0x0401f88e, 0x5c000800, | ||
| 2464 | 0x0400000f, 0x80244840, 0x0400000a, 0x80081000, | ||
| 2465 | 0x801c3800, 0x0401f7d5, 0x59a0020a, 0x82000500, | ||
| 2466 | 0x000000ff, 0x40001800, 0x0401f882, 0x04000004, | ||
| 2467 | 0x4a03c014, 0x03800000, 0x0401f4da, 0x4a03c014, | ||
| 2468 | 0x03800000, 0x0401f523, 0x4803c856, 0x4a03c013, | ||
| 2469 | 0x03800300, 0x4a03c014, 0x03800380, 0x59a00c06, | ||
| 2470 | 0x82040580, 0x000000a0, 0x04000004, 0x82040580, | ||
| 2471 | 0x000000a2, 0x0402006c, 0x59a0140a, 0x82080480, | ||
| 2472 | 0x00000100, 0x04021068, 0x59a0020b, 0x8c000500, | ||
| 2473 | 0x0402005c, 0x59a01a0a, 0x800c19c0, 0x04000062, | ||
| 2474 | 0x820c0480, 0x00000041, 0x0402105f, 0x0201f800, | ||
| 2475 | 0x00103a00, 0x04020006, 0x4a034406, 0x00000002, | ||
| 2476 | 0x4a03c014, 0x03800000, 0x0401f502, 0x832e5c00, | ||
| 2477 | 0x00000004, 0x41783800, 0x59a04a0a, 0x401c0000, | ||
| 2478 | 0x812c0400, 0x40004000, 0x4c040000, 0x4c080000, | ||
| 2479 | 0x0401f874, 0x5c001000, 0x5c000800, 0x04000047, | ||
| 2480 | 0x44144000, 0x80244840, 0x0400002b, 0x80081000, | ||
| 2481 | 0x4c040000, 0x4c080000, 0x0401f86a, 0x5c001000, | ||
| 2482 | 0x5c000800, 0x0400003d, 0x50200000, 0x801428d0, | ||
| 2483 | 0x80140540, 0x44004000, 0x80244840, 0x0400001e, | ||
| 2484 | 0x80081000, 0x4c040000, 0x4c080000, 0x0401f85d, | ||
| 2485 | 0x5c001000, 0x5c000800, 0x04000030, 0x50200000, | ||
| 2486 | 0x801428e0, 0x80140540, 0x44004000, 0x80244840, | ||
| 2487 | 0x04000011, 0x80081000, 0x4c040000, 0x4c080000, | ||
| 2488 | 0x0401f850, 0x5c001000, 0x5c000800, 0x04000023, | ||
| 2489 | 0x50200000, 0x801428f0, 0x80140540, 0x44004000, | ||
| 2490 | 0x80244840, 0x04000004, 0x80081000, 0x801c3800, | ||
| 2491 | 0x0401f7cb, 0x59a00a0a, 0x82040c00, 0x00000003, | ||
| 2492 | 0x82040d00, 0x000000fc, 0x80040904, 0x59a00407, | ||
| 2493 | 0x59a01207, 0x900811c0, 0x80081540, 0x59a00409, | ||
| 2494 | 0x59a01a09, 0x900c19c0, 0x800c1d40, 0x4a03c014, | ||
| 2495 | 0x03800000, 0x412c0000, 0x0201f000, 0x00103a28, | ||
| 2496 | 0x0401f830, 0x04000005, 0x48174406, 0x4a03c014, | ||
| 2497 | 0x03800000, 0x0401f463, 0x4a03c014, 0x03800000, | ||
| 2498 | 0x0401f4ac, 0x4a03c014, 0x03800000, 0x0401f4ad, | ||
| 2499 | 0x0401f836, 0x04000010, 0x0401f862, 0x0402000f, | ||
| 2500 | 0x40080800, 0x0401f85f, 0x0402000c, 0x400c0800, | ||
| 2501 | 0x0401f85c, 0x04020009, 0x0401f84b, 0x42000000, | ||
| 2502 | 0x00030d40, 0x80000040, 0x040207ff, 0x82000540, | ||
| 2503 | 0x00000001, 0x1c01f000, 0x0401f843, 0x80000580, | ||
| 2504 | 0x0401f7fd, 0x0401f821, 0x0400000a, 0x82040d40, | ||
| 2505 | 0x00000001, 0x0401f84b, 0x04020007, 0x0401f87e, | ||
| 2506 | 0x0401f898, 0x0401f838, 0x82000540, 0x00000001, | ||
| 2507 | 0x1c01f000, 0x0401f834, 0x80000580, 0x0401f7fd, | ||
| 2508 | 0x40041800, 0x0401f811, 0x0400000c, 0x0401f83d, | ||
| 2509 | 0x0402000b, 0x40080800, 0x0401f83a, 0x04020008, | ||
| 2510 | 0x400c0800, 0x0401ffe8, 0x04000004, 0x0401f826, | ||
| 2511 | 0x82000540, 0x00000001, 0x1c01f000, 0x0401f822, | ||
| 2512 | 0x80000580, 0x0401f7fd, 0x4c040000, 0x42000800, | ||
| 2513 | 0x00000064, 0x4a03c013, 0x03800300, 0x80040840, | ||
| 2514 | 0x04000016, 0x59e00013, 0x82000500, 0x00000300, | ||
| 2515 | 0x82000580, 0x00000300, 0x040207f7, 0x42000000, | ||
| 2516 | 0x00000064, 0x80000040, 0x040207ff, 0x4a03c013, | ||
| 2517 | 0x01000000, 0x42000000, 0x00000064, 0x80000040, | ||
| 2518 | 0x040207ff, 0x4a03c013, 0x02000000, 0x82000540, | ||
| 2519 | 0x00000001, 0x0401f002, 0x80000580, 0x5c000800, | ||
| 2520 | 0x1c01f000, 0x4a03c013, 0x01000000, 0x42000000, | ||
| 2521 | 0x00000064, 0x80000040, 0x040207ff, 0x4a03c013, | ||
| 2522 | 0x02000200, 0x42000000, 0x00000064, 0x80000040, | ||
| 2523 | 0x040207ff, 0x4a03c013, 0x01000100, 0x1c01f000, | ||
| 2524 | 0x42002000, 0x00000008, 0x82040500, 0x00000080, | ||
| 2525 | 0x800000c2, 0x82000540, 0x01000000, 0x4803c013, | ||
| 2526 | 0x42000000, 0x00000064, 0x80000040, 0x040207ff, | ||
| 2527 | 0x4a03c013, 0x02000200, 0x42000000, 0x00000064, | ||
| 2528 | 0x80000040, 0x040207ff, 0x4a03c013, 0x02000000, | ||
| 2529 | 0x800408c2, 0x80102040, 0x040207ec, 0x4a03c013, | ||
| 2530 | 0x01000100, 0x42000000, 0x00000064, 0x80000040, | ||
| 2531 | 0x040207ff, 0x4a03c013, 0x02000200, 0x42000000, | ||
| 2532 | 0x00000064, 0x80000040, 0x040207ff, 0x59e00013, | ||
| 2533 | 0x82000500, 0x00000100, 0x4a03c013, 0x02000000, | ||
| 2534 | 0x4c040000, 0x42000800, 0x00000064, 0x59e00013, | ||
| 2535 | 0x82000500, 0x00000100, 0x80040840, 0x04000003, | ||
| 2536 | 0x80000540, 0x040207fa, 0x80000540, 0x5c000800, | ||
| 2537 | 0x1c01f000, 0x4a03c013, 0x01000100, 0x42001000, | ||
| 2538 | 0x00000008, 0x80000d80, 0x42000000, 0x00000064, | ||
| 2539 | 0x80000040, 0x040207ff, 0x4a03c013, 0x02000200, | ||
| 2540 | 0x42000000, 0x00000064, 0x80000040, 0x040207ff, | ||
| 2541 | 0x59e00013, 0x82000500, 0x00000100, 0x80000110, | ||
| 2542 | 0x800408c2, 0x80040d40, 0x4a03c013, 0x02000000, | ||
| 2543 | 0x80081040, 0x040207ed, 0x40042800, 0x1c01f000, | ||
| 2544 | 0x4a03c013, 0x01000100, 0x42000000, 0x00000064, | ||
| 2545 | 0x80000040, 0x040207ff, 0x4a03c013, 0x02000200, | ||
| 2546 | 0x42000000, 0x00000064, 0x80000040, 0x040207ff, | ||
| 2547 | 0x4a03c013, 0x02000000, 0x1c01f000, 0x59a00407, | ||
| 2548 | 0x59a80837, 0x48035037, 0x48074407, 0x59a00a09, | ||
| 2549 | 0x82040480, 0x00000014, 0x04021003, 0x42000800, | ||
| 2550 | 0x000007d0, 0x59a80038, 0x48075038, 0x48034209, | ||
| 2551 | 0x0201f000, 0x001022c0, 0x836c0580, 0x00000000, | ||
| 2552 | 0x0400000e, 0x59a80006, 0x59a00c06, 0x80041580, | ||
| 2553 | 0x82081500, 0x00000040, 0x02000000, 0x001022c0, | ||
| 2554 | 0x80080580, 0x48035006, 0x0201f800, 0x00100699, | ||
| 2555 | 0x0201f000, 0x001022c0, 0x59a00406, 0x59a80806, | ||
| 2556 | 0x48035006, 0x80040d80, 0x8c040d0c, 0x02020800, | ||
| 2557 | 0x00100699, 0x59a00207, 0x48035007, 0x59a00407, | ||
| 2558 | 0x48035008, 0x0201f000, 0x001022c0, 0x800409c0, | ||
| 2559 | 0x04000005, 0x4a034406, 0x00000001, 0x0201f000, | ||
| 2560 | 0x0010230c, 0x0201f800, 0x0010513b, 0x04020005, | ||
| 2561 | 0x4a034406, 0x00000016, 0x0201f000, 0x0010230c, | ||
| 2562 | 0x836c0580, 0x00000003, 0x04000005, 0x4a034406, | ||
| 2563 | 0x00000007, 0x0201f000, 0x0010230c, 0x59a00c06, | ||
| 2564 | 0x82040500, 0xffffff00, 0x02020000, 0x00102310, | ||
| 2565 | 0x82041580, 0x000000ff, 0x04020007, 0x59a80010, | ||
| 2566 | 0x82000500, 0x000000ff, 0x82001540, 0x0000ff00, | ||
| 2567 | 0x0401f011, 0x82040400, 0x0010210e, 0x50000000, | ||
| 2568 | 0x80000110, 0x82000580, 0x00000080, 0x02000000, | ||
| 2569 | 0x00102310, 0x59a80010, 0x82000500, 0x000000ff, | ||
| 2570 | 0x80041580, 0x02000000, 0x00102310, 0x840409c0, | ||
| 2571 | 0x80041540, 0x0201f800, 0x0002075a, 0x04020005, | ||
| 2572 | 0x4a034406, 0x00000003, 0x0201f000, 0x0010230c, | ||
| 2573 | 0x48ee6021, 0x480a621c, 0x4a02641c, 0x0000bc09, | ||
| 2574 | 0x4a026406, 0x00000001, 0x0201f800, 0x00103a00, | ||
| 2575 | 0x04020007, 0x0201f800, 0x0002077d, 0x4a034406, | ||
| 2576 | 0x00000002, 0x0201f000, 0x0010230c, 0x497a5a04, | ||
| 2577 | 0x497a5805, 0x4a025c04, 0x00008000, 0x4a01d809, | ||
| 2578 | 0x001027f9, 0x492e6008, 0x42027000, 0x00000032, | ||
| 2579 | 0x0201f000, 0x000207a1, 0x800409c0, 0x04000005, | ||
| 2580 | 0x4a034406, 0x00000001, 0x0201f000, 0x0010230c, | ||
| 2581 | 0x0201f800, 0x0010513b, 0x04020005, 0x4a034406, | ||
| 2582 | 0x00000016, 0x0201f000, 0x0010230c, 0x836c0580, | ||
| 2583 | 0x00000003, 0x04000005, 0x4a034406, 0x00000007, | ||
| 2584 | 0x0201f000, 0x0010230c, 0x59a00c06, 0x82040500, | ||
| 2585 | 0xffffff00, 0x02020000, 0x00102310, 0x82041580, | ||
| 2586 | 0x000000ff, 0x04020007, 0x59a80010, 0x82000500, | ||
| 2587 | 0x000000ff, 0x82001540, 0x0000ff00, 0x0401f011, | ||
| 2588 | 0x82040400, 0x0010210e, 0x50000000, 0x80000110, | ||
| 2589 | 0x82000580, 0x00000080, 0x02000000, 0x00102310, | ||
| 2590 | 0x59a80010, 0x82000500, 0x000000ff, 0x80041580, | ||
| 2591 | 0x02000000, 0x00102310, 0x840409c0, 0x80041540, | ||
| 2592 | 0x0201f800, 0x0002075a, 0x04020005, 0x4a034406, | ||
| 2593 | 0x00000003, 0x0201f000, 0x0010230c, 0x48ee6021, | ||
| 2594 | 0x480a621c, 0x4a02641c, 0x0000bc05, 0x4a026406, | ||
| 2595 | 0x00000001, 0x0201f800, 0x00103a00, 0x04020007, | ||
| 2596 | 0x0201f800, 0x0002077d, 0x4a034406, 0x00000002, | ||
| 2597 | 0x0201f000, 0x0010230c, 0x497a5a04, 0x497a5805, | ||
| 2598 | 0x4a025c04, 0x00008000, 0x4a01d809, 0x001027f9, | ||
| 2599 | 0x492e6008, 0x42027000, 0x00000032, 0x0201f000, | ||
| 2600 | 0x000207a1, 0x592c0005, 0x82000580, 0x01000000, | ||
| 2601 | 0x02020000, 0x001022c0, 0x4a034406, 0x00000004, | ||
| 2602 | 0x0201f000, 0x0010230c, 0x497b4406, 0x497b4207, | ||
| 2603 | 0x0201f800, 0x00103b25, 0x04000008, 0x59a80066, | ||
| 2604 | 0x59a8086a, 0x80040480, 0x59a80867, 0x48074406, | ||
| 2605 | 0x80041480, 0x480b4207, 0x49674407, 0x59a8000e, | ||
| 2606 | 0x48034209, 0x495f4409, 0x59a80020, 0x4803420b, | ||
| 2607 | 0x0201f000, 0x001022c0, 0x800409c0, 0x04000005, | ||
| 2608 | 0x4a034406, 0x00000001, 0x0201f000, 0x0010230c, | ||
| 2609 | 0x59a00406, 0x8c000500, 0x0402000f, 0x59a80069, | ||
| 2610 | 0x81640480, 0x04001008, 0x59a8000b, 0x81500580, | ||
| 2611 | 0x04000009, 0x59a8006a, 0x59a81066, 0x80080580, | ||
| 2612 | 0x04000005, 0x4a034406, 0x00000018, 0x0201f000, | ||
| 2613 | 0x0010230c, 0x82000540, 0x00000001, 0x0201f800, | ||
| 2614 | 0x001015fe, 0x0201f800, 0x00103c80, 0x0201f000, | ||
| 2615 | 0x001022c0, 0x4803c856, 0x800409c0, 0x02020000, | ||
| 2616 | 0x00102314, 0x59a00406, 0x8c00051e, 0x04000008, | ||
| 2617 | 0x4803c856, 0x59a0020b, 0x82000480, 0x00000800, | ||
| 2618 | 0x04001015, 0x0201f000, 0x00102310, 0x4803c856, | ||
| 2619 | 0x59a0020b, 0x599c0a01, 0x80040480, 0x04021003, | ||
| 2620 | 0x0201f000, 0x00102310, 0x59a8000e, 0x81640580, | ||
| 2621 | 0x04000009, 0x4a034406, 0x00000018, 0x0201f000, | ||
| 2622 | 0x0010230c, 0x4a034406, 0x00000005, 0x0201f000, | ||
| 2623 | 0x0010230c, 0x59a80026, 0x8c00050a, 0x040007fa, | ||
| 2624 | 0x59a00406, 0x8c00051e, 0x04000036, 0x0201f800, | ||
| 2625 | 0x0002075a, 0x040007f4, 0x0201f800, 0x00103a00, | ||
| 2626 | 0x040007f1, 0x497a5a04, 0x59a00406, 0x4802620a, | ||
| 2627 | 0x59a00209, 0x4802640a, 0x59a00409, 0x4802620b, | ||
| 2628 | 0x59a0020d, 0x4802620c, 0x59a0040d, 0x4802640c, | ||
| 2629 | 0x59a0020e, 0x4802620d, 0x59a0040e, 0x4802640d, | ||
| 2630 | 0x59a00210, 0x4802620e, 0x59a00410, 0x4802640e, | ||
| 2631 | 0x59a0020b, 0x82000500, 0x0000fffc, 0x80000104, | ||
| 2632 | 0x4802640b, 0x0401f9d9, 0x040007d7, 0x48ee6021, | ||
| 2633 | 0x58ee580d, 0x5930020e, 0x59301c0e, 0x900c19c0, | ||
| 2634 | 0x800c1d40, 0x5930020c, 0x5930140c, 0x900811c0, | ||
| 2635 | 0x80081540, 0x592c0a05, 0x832c0400, 0x00000006, | ||
| 2636 | 0x0201f800, 0x00103a25, 0x4a01d809, 0x001029e5, | ||
| 2637 | 0x4a034000, 0x00000001, 0x49334001, 0x1c01f000, | ||
| 2638 | 0x0201f800, 0x00106c55, 0x0201f800, 0x00100ae0, | ||
| 2639 | 0x0401f86d, 0x497b5057, 0x4201d000, 0x00002710, | ||
| 2640 | 0x0201f800, 0x001060c6, 0x59c40880, 0x4c040000, | ||
| 2641 | 0x59c408a3, 0x4c040000, 0x497b4002, 0x0401f876, | ||
| 2642 | 0x0401f893, 0x4a03a005, 0x10000000, 0x0401f8b4, | ||
| 2643 | 0x0401f901, 0x04000048, 0x59c80001, 0x800001c0, | ||
| 2644 | 0x040007fc, 0x59c80018, 0x82000500, 0xf0000000, | ||
| 2645 | 0x59c00808, 0x82040d00, 0x0fffffff, 0x80040540, | ||
| 2646 | 0x48038008, 0x0201f800, 0x00100ec1, 0x59c00006, | ||
| 2647 | 0x4a038006, 0x10000000, 0x59c00009, 0x82000d00, | ||
| 2648 | 0x00e00000, 0x04020024, 0x4a03900d, 0x00000000, | ||
| 2649 | 0x59c80020, 0x82000500, 0xff000000, 0x82000580, | ||
| 2650 | 0x32000000, 0x0402001c, 0x4a03900d, 0x00000001, | ||
| 2651 | 0x59c80020, 0x82000500, 0xff000000, 0x82000580, | ||
| 2652 | 0xe1000000, 0x04020014, 0x4a03900d, 0x00000000, | ||
| 2653 | 0x59c80020, 0x82000500, 0x00ffffff, 0x4a03900d, | ||
| 2654 | 0x00000000, 0x59c80821, 0x82040d00, 0x00ffffff, | ||
| 2655 | 0x80040580, 0x04020008, 0x59a80010, 0x80040580, | ||
| 2656 | 0x04020005, 0x59c40005, 0x82000500, 0x000000f0, | ||
| 2657 | 0x04000006, 0x4803c856, 0x0401f8d7, 0x4a035057, | ||
| 2658 | 0x00000001, 0x0401f002, 0x0401f8e1, 0x42000000, | ||
| 2659 | 0x00000064, 0x80000040, 0x02000800, 0x001005d8, | ||
| 2660 | 0x59c00807, 0x82040d00, 0x0000000c, 0x040007fa, | ||
| 2661 | 0x0401f003, 0x4a035057, 0x00000001, 0x0401f8da, | ||
| 2662 | 0x0201f800, 0x00106f36, 0x0401f818, 0x4201d000, | ||
| 2663 | 0x000186a0, 0x0201f800, 0x001060c6, 0x5c000800, | ||
| 2664 | 0x480788a3, 0x5c000800, 0x48078880, 0x59a80057, | ||
| 2665 | 0x800001c0, 0x02000000, 0x001022c0, 0x0201f000, | ||
| 2666 | 0x00102318, 0x599c0201, 0x48035059, 0x41780800, | ||
| 2667 | 0x42001000, 0x00003b10, 0x0201f800, 0x001066a0, | ||
| 2668 | 0x480b505a, 0x1c01f000, 0x0201f800, 0x00106c4b, | ||
| 2669 | 0x59b800ea, 0x82000500, 0x00000007, 0x82000580, | ||
| 2670 | 0x00000003, 0x04020003, 0x4a0370e8, 0x00000001, | ||
| 2671 | 0x1c01f000, 0x42038000, 0x00007700, 0x4a038006, | ||
| 2672 | 0x30000000, 0x59c00007, 0x8c00050a, 0x040207fe, | ||
| 2673 | 0x59c00006, 0x59a00209, 0x59a00c09, 0x900409c0, | ||
| 2674 | 0x80040d40, 0x48078001, 0x59a0020e, 0x59a00c0e, | ||
| 2675 | 0x900409c0, 0x80040d40, 0x48078000, 0x59a0020b, | ||
| 2676 | 0x82000500, 0x0000fffc, 0x48038002, 0x48038003, | ||
| 2677 | 0x48038005, 0x497b9009, 0x59e00003, 0x82000540, | ||
| 2678 | 0x00008060, 0x4803c003, 0x1c01f000, 0x41780800, | ||
| 2679 | 0x8007a0ca, 0x83d3a400, 0x00007600, 0x42000800, | ||
| 2680 | 0x00000040, 0x0201f800, 0x00101345, 0x4a03a00a, | ||
| 2681 | 0x00000001, 0x4a03a005, 0x20000000, 0x59d00006, | ||
| 2682 | 0x4a03a005, 0x30000000, 0x59d00006, 0x8c00050a, | ||
| 2683 | 0x040207fe, 0x59d00005, 0x59a00210, 0x59a00c10, | ||
| 2684 | 0x900409c0, 0x80040d40, 0x4807a001, 0x59a0020d, | ||
| 2685 | 0x59a00c0d, 0x900409c0, 0x80040d40, 0x4807a000, | ||
| 2686 | 0x59a0020b, 0x82000500, 0x0000fffc, 0x4803a003, | ||
| 2687 | 0x4803a002, 0x4803a008, 0x1c01f000, 0x59a00002, | ||
| 2688 | 0x4803c857, 0x800001c0, 0x0402004a, 0x59a8005a, | ||
| 2689 | 0x48038880, 0x59c400a3, 0x82000540, 0x00002008, | ||
| 2690 | 0x8400053a, 0x480388a3, 0x59c40008, 0x8400054e, | ||
| 2691 | 0x82000500, 0xffffffe1, 0x48038808, 0x59c80040, | ||
| 2692 | 0x84000534, 0x48039040, 0x0401f902, 0x04020013, | ||
| 2693 | 0x59a80010, 0x800000d0, 0x82000540, 0x00000011, | ||
| 2694 | 0x48039120, 0x59a80010, 0x82000500, 0x00ffffff, | ||
| 2695 | 0x82000540, 0x32000000, 0x48039121, 0x4a039123, | ||
| 2696 | 0xe1290008, 0x59a80010, 0x82000500, 0x00ffffff, | ||
| 2697 | 0x48039122, 0x0401f016, 0x59a80010, 0x82000500, | ||
| 2698 | 0x000000ff, 0x900009c0, 0x840001c0, 0x80040540, | ||
| 2699 | 0x82000540, 0x00000000, 0x48039120, 0x59a80010, | ||
| 2700 | 0x82000500, 0x000000ff, 0x82000540, 0x01000000, | ||
| 2701 | 0x48039121, 0x4a039123, 0x08210008, 0x59a80010, | ||
| 2702 | 0x82000500, 0x000000ff, 0x48039122, 0x497b9124, | ||
| 2703 | 0x59a80c5b, 0x80040800, 0x4807545b, 0x900409c0, | ||
| 2704 | 0x82040540, 0x0000aaaa, 0x48039125, 0x497b9126, | ||
| 2705 | 0x497b9127, 0x0401f8cf, 0x04020004, 0x4a039100, | ||
| 2706 | 0x0000e980, 0x0401f003, 0x4a039100, 0x0000e9a0, | ||
| 2707 | 0x1c01f000, 0x82000540, 0x00000001, 0x0402500d, | ||
| 2708 | 0x4203e000, 0x80000000, 0x40e81000, 0x41780800, | ||
| 2709 | 0x42000000, 0x00000064, 0x0201f800, 0x001066a0, | ||
| 2710 | 0x59940024, 0x80080400, 0x48032824, 0x80000580, | ||
| 2711 | 0x1c01f000, 0x4d900000, 0x4dd00000, 0x4da40000, | ||
| 2712 | 0x4d140000, 0x417a3000, 0x0201f800, 0x001070d8, | ||
| 2713 | 0x0201f800, 0x00106dc3, 0x5c022800, 0x5c034800, | ||
| 2714 | 0x5c03a000, 0x5c032000, 0x1c01f000, 0x59c80007, | ||
| 2715 | 0x8c000500, 0x04000003, 0x4a03900d, 0x00000030, | ||
| 2716 | 0x1c01f000, 0x4a038805, 0x00020000, 0x42000800, | ||
| 2717 | 0x0000003c, 0x0201f800, 0x00101345, 0x4a038891, | ||
| 2718 | 0x0000ffff, 0x59c80035, 0x48039035, 0x4a03900d, | ||
| 2719 | 0x00000040, 0x42038000, 0x00007700, 0x0201f800, | ||
| 2720 | 0x00100ec1, 0x42038000, 0x00007720, 0x0201f800, | ||
| 2721 | 0x00100ec1, 0x4a03a005, 0x20000000, 0x4a03a005, | ||
| 2722 | 0x30000000, 0x59d00806, 0x8c040d0a, 0x040207fe, | ||
| 2723 | 0x1c01f000, 0x4d300000, 0x4031d800, 0x58ef400b, | ||
| 2724 | 0x58ee580d, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 2725 | 0x5c026000, 0x02000000, 0x00102304, 0x4d300000, | ||
| 2726 | 0x59a26001, 0x59a00000, 0x4000b000, 0x80000000, | ||
| 2727 | 0x48034000, 0x592c0001, 0x80000540, 0x0400001e, | ||
| 2728 | 0x40025800, 0x8058b040, 0x040207fb, 0x58ec1007, | ||
| 2729 | 0x58ec1808, 0x592c0a05, 0x4d2c0000, 0x58ec000d, | ||
| 2730 | 0x40025800, 0x592c0204, 0x5c025800, 0x82000580, | ||
| 2731 | 0x00000103, 0x04000008, 0x832c0400, 0x00000006, | ||
| 2732 | 0x0201f800, 0x00103a25, 0x4a01d809, 0x001029e5, | ||
| 2733 | 0x0401f007, 0x832c0400, 0x00000006, 0x0201f800, | ||
| 2734 | 0x00103a28, 0x4a01d809, 0x001029e5, 0x5c026000, | ||
| 2735 | 0x1c01f000, 0x58ec000d, 0x40025800, 0x592c0204, | ||
| 2736 | 0x82000580, 0x00000103, 0x04020006, 0x0201f800, | ||
| 2737 | 0x0002077d, 0x5c026000, 0x0201f000, 0x001022c0, | ||
| 2738 | 0x58ec000d, 0x40025800, 0x592c0404, 0x8400055e, | ||
| 2739 | 0x48025c04, 0x42028800, 0x000007fd, 0x42003000, | ||
| 2740 | 0x00fffffd, 0x0201f800, 0x001045a6, 0x04000003, | ||
| 2741 | 0x80000580, 0x0401f004, 0x59a26001, 0x0201f800, | ||
| 2742 | 0x0010937d, 0x5c026000, 0x02000000, 0x0010230c, | ||
| 2743 | 0x4d300000, 0x4a01d809, 0x00102a38, 0x0401f7dc, | ||
| 2744 | 0x592c0005, 0x82000580, 0x01000000, 0x02000000, | ||
| 2745 | 0x00102318, 0x4d300000, 0x59a26001, 0x5930020b, | ||
| 2746 | 0x59301c0a, 0x900001c0, 0x800c1d40, 0x5930040d, | ||
| 2747 | 0x5930120d, 0x900001c0, 0x80081540, 0x592c0a05, | ||
| 2748 | 0x832c0400, 0x00000006, 0x0201f800, 0x00103a28, | ||
| 2749 | 0x4a01d809, 0x001029e5, 0x4a034000, 0x00000001, | ||
| 2750 | 0x5c026000, 0x1c01f000, 0x4933c857, 0x4c300000, | ||
| 2751 | 0x5930040b, 0x82000c80, 0x0000000e, 0x04001004, | ||
| 2752 | 0x4a025a05, 0x0000000e, 0x0401f003, 0x48025a05, | ||
| 2753 | 0x0401f00c, 0x800409c0, 0x0400000a, 0x4c040000, | ||
| 2754 | 0x0201f800, 0x00103a00, 0x5c000800, 0x04000003, | ||
| 2755 | 0x40040000, 0x0401f7f0, 0x80000580, 0x0401f003, | ||
| 2756 | 0x82000540, 0x00000001, 0x5c006000, 0x1c01f000, | ||
| 2757 | 0x59a00206, 0x82000580, 0x00000044, 0x1c01f000, | ||
| 2758 | 0x4807c857, 0x800409c0, 0x0400000c, 0x0201f800, | ||
| 2759 | 0x00101650, 0x04020009, 0x42000000, 0x00000002, | ||
| 2760 | 0x0201f800, 0x0010188c, 0x42000000, 0x00000002, | ||
| 2761 | 0x0201f800, 0x00101821, 0x59a00406, 0x82000500, | ||
| 2762 | 0x00000007, 0x0c01f001, 0x00102a8c, 0x00102aa1, | ||
| 2763 | 0x00102ab7, 0x00102a8a, 0x00102a8a, 0x00102a8a, | ||
| 2764 | 0x00102a8a, 0x00102a8a, 0x0201f000, 0x00102310, | ||
| 2765 | 0x42000800, 0x000000c0, 0x0201f800, 0x0010193f, | ||
| 2766 | 0x82040540, 0x00000002, 0x42000800, 0x000000c0, | ||
| 2767 | 0x0201f800, 0x00101944, 0x42000800, 0x00000000, | ||
| 2768 | 0x0201f800, 0x0010193f, 0x82040540, 0x00000008, | ||
| 2769 | 0x42000800, 0x00000000, 0x0201f800, 0x00101944, | ||
| 2770 | 0x0401f00b, 0x42000800, 0x000000c0, 0x0201f800, | ||
| 2771 | 0x0010193f, 0x82040540, 0x00000001, 0x42000800, | ||
| 2772 | 0x000000c0, 0x0201f800, 0x00101944, 0x59c80040, | ||
| 2773 | 0x4c000000, 0x59a80010, 0x4c000000, 0x59c400a3, | ||
| 2774 | 0x4c000000, 0x59c40008, 0x4c000000, 0x0401f911, | ||
| 2775 | 0x04000021, 0x0201f800, 0x001005d8, 0x59a80821, | ||
| 2776 | 0x800409c0, 0x02020000, 0x00102314, 0x0201f800, | ||
| 2777 | 0x0010513b, 0x04020005, 0x4a034406, 0x00000016, | ||
| 2778 | 0x0201f000, 0x0010230c, 0x836c0580, 0x00000003, | ||
| 2779 | 0x02020000, 0x00102314, 0x59c408a4, 0x82040d00, | ||
| 2780 | 0x0000000f, 0x82040580, 0x00000000, 0x02020000, | ||
| 2781 | 0x00102314, 0x59c80040, 0x4c000000, 0x59a80010, | ||
| 2782 | 0x4c000000, 0x59c400a3, 0x4c000000, 0x59c40008, | ||
| 2783 | 0x4c000000, 0x59c40080, 0x4c000000, 0x59a0020f, | ||
| 2784 | 0x59a0bc0f, 0x905cb9c0, 0x805cbd40, 0x41784800, | ||
| 2785 | 0x41785000, 0x41785800, 0x41789000, 0x41789800, | ||
| 2786 | 0x0401fe21, 0x0201f800, 0x00106c55, 0x0201f800, | ||
| 2787 | 0x00100ae0, 0x4178c000, 0x497b4002, 0x0401f95c, | ||
| 2788 | 0x0401f9aa, 0x59a0020c, 0x59a00c0c, 0x80040d40, | ||
| 2789 | 0x04000002, 0x0401f9fb, 0x0401f9fa, 0x0401fe68, | ||
| 2790 | 0x8060c1c0, 0x04020014, 0x0401fa98, 0x0401feb2, | ||
| 2791 | 0x0402000e, 0x0201f800, 0x001018d3, 0x04020008, | ||
| 2792 | 0x4a034406, 0x00000017, 0x0201f800, 0x0010230c, | ||
| 2793 | 0x4203e000, 0x50000000, 0x0401f000, 0x42005800, | ||
| 2794 | 0x0000aaaa, 0x0401f058, 0x59c80001, 0x800001c0, | ||
| 2795 | 0x040007ee, 0x59c80801, 0x800409c0, 0x04000006, | ||
| 2796 | 0x0401fa70, 0x40240000, 0x80280540, 0x802c0540, | ||
| 2797 | 0x0402004d, 0x59a00002, 0x82000580, 0xfeedbeef, | ||
| 2798 | 0x04000004, 0x42008800, 0x10000000, 0x0401f003, | ||
| 2799 | 0x42008800, 0x10000004, 0x0401fa19, 0x4a034002, | ||
| 2800 | 0xfeedbeef, 0x0401fa71, 0x0401fa97, 0x0401fea8, | ||
| 2801 | 0x59c40005, 0x8c000534, 0x04000004, 0x42005800, | ||
| 2802 | 0x0000bbbb, 0x0401f038, 0x0401fe83, 0x04020007, | ||
| 2803 | 0x42005800, 0x0000cccc, 0x485f420f, 0x905cb9c0, | ||
| 2804 | 0x485f440f, 0x0401f030, 0x59a0040c, 0x800001c0, | ||
| 2805 | 0x0400000e, 0x59a26000, 0x5930000d, 0x800001c0, | ||
| 2806 | 0x040207be, 0x59a26001, 0x5930080d, 0x800409c0, | ||
| 2807 | 0x040207ba, 0x804891c0, 0x040207b8, 0x804c99c0, | ||
| 2808 | 0x040207b6, 0x0401f87a, 0x805cb840, 0x04000005, | ||
| 2809 | 0x40240000, 0x80280540, 0x802c0540, 0x0402001a, | ||
| 2810 | 0x42000000, 0x00030d40, 0x80000040, 0x04020012, | ||
| 2811 | 0x59c00007, 0x82000500, 0x000501c0, 0x0402000b, | ||
| 2812 | 0x0201f800, 0x001018d3, 0x04020008, 0x4a034406, | ||
| 2813 | 0x00000017, 0x0201f800, 0x0010230c, 0x4203e000, | ||
| 2814 | 0x50000000, 0x0401f000, 0x42005800, 0x0000dddd, | ||
| 2815 | 0x0401f005, 0x59c00807, 0x82040d00, 0x0000000c, | ||
| 2816 | 0x040007ea, 0x0401fe5c, 0x59a0040c, 0x800001c0, | ||
| 2817 | 0x04000002, 0x0401f856, 0x0401fe6b, 0x40240000, | ||
| 2818 | 0x80280540, 0x802c0540, 0x04020003, 0x805cb9c0, | ||
| 2819 | 0x04020781, 0x0201f800, 0x00106f36, 0x0401fda3, | ||
| 2820 | 0x4201d000, 0x000186a0, 0x0201f800, 0x001060c6, | ||
| 2821 | 0x5c000800, 0x48078880, 0x5c000800, 0x48078808, | ||
| 2822 | 0x5c000800, 0x480788a3, 0x5c000800, 0x48075010, | ||
| 2823 | 0x5c000800, 0x48079040, 0x0201f800, 0x00100969, | ||
| 2824 | 0x59a00406, 0x82000500, 0x00000003, 0x82000580, | ||
| 2825 | 0x00000002, 0x0400002c, 0x42000800, 0x000000c0, | ||
| 2826 | 0x0201f800, 0x0010193f, 0x82040500, 0xfffffffc, | ||
| 2827 | 0x42000800, 0x000000c0, 0x0201f800, 0x00101944, | ||
| 2828 | 0x42000800, 0x00000000, 0x0201f800, 0x0010193f, | ||
| 2829 | 0x82040500, 0xfffffff7, 0x42000800, 0x00000000, | ||
| 2830 | 0x0201f800, 0x00101944, 0x42000800, 0x00000000, | ||
| 2831 | 0x0201f800, 0x0010193f, 0x82040500, 0xfffffffb, | ||
| 2832 | 0x42000800, 0x00000000, 0x0201f800, 0x00101944, | ||
| 2833 | 0x4a0388a7, 0x0000f7f7, 0x42006000, 0xbeffffff, | ||
| 2834 | 0x42006800, 0x80018000, 0x0201f800, 0x0010427d, | ||
| 2835 | 0x42006000, 0xfffeffff, 0x41786800, 0x0201f800, | ||
| 2836 | 0x0010427d, 0x402c0000, 0x80280540, 0x80240540, | ||
| 2837 | 0x02000000, 0x001022c0, 0x48274406, 0x482b4207, | ||
| 2838 | 0x482f4407, 0x0201f000, 0x0010231c, 0x59a26000, | ||
| 2839 | 0x813261c0, 0x0400000e, 0x59325808, 0x812e59c0, | ||
| 2840 | 0x0400000b, 0x0201f800, 0x0002077d, 0x0201f800, | ||
| 2841 | 0x001007fd, 0x59a26001, 0x59325808, 0x0201f800, | ||
| 2842 | 0x0002077d, 0x0201f800, 0x001007fd, 0x1c01f000, | ||
| 2843 | 0x42000800, 0x000000ef, 0x0201f800, 0x001015eb, | ||
| 2844 | 0x59c400a3, 0x8400055a, 0x8400053a, 0x480388a3, | ||
| 2845 | 0x0201f800, 0x0010163b, 0x0402000a, 0x42000000, | ||
| 2846 | 0x00000001, 0x0201f800, 0x0010188c, 0x42000000, | ||
| 2847 | 0x00000001, 0x0201f800, 0x00101821, 0x0401f013, | ||
| 2848 | 0x0201f800, 0x00101642, 0x04020008, 0x41780000, | ||
| 2849 | 0x0201f800, 0x0010188c, 0x41780000, 0x0201f800, | ||
| 2850 | 0x00101821, 0x0401f009, 0x42000000, 0x00000002, | ||
| 2851 | 0x0201f800, 0x0010188c, 0x42000000, 0x00000002, | ||
| 2852 | 0x0201f800, 0x00101821, 0x42000800, 0x00000000, | ||
| 2853 | 0x0201f800, 0x0010193f, 0x82040540, 0x00000004, | ||
| 2854 | 0x42000800, 0x00000000, 0x0201f800, 0x00101944, | ||
| 2855 | 0x4201d000, 0x00000014, 0x0201f800, 0x0010608e, | ||
| 2856 | 0x59c40008, 0x8400054e, 0x82000500, 0xffffffe1, | ||
| 2857 | 0x48038808, 0x4a0388a7, 0x0000f7f7, 0x42001000, | ||
| 2858 | 0x04000001, 0x0201f800, 0x0010193d, 0x42006000, | ||
| 2859 | 0xbe20bfff, 0x42006800, 0x80018000, 0x0201f800, | ||
| 2860 | 0x0010427d, 0x42006000, 0xfffeffff, 0x41786800, | ||
| 2861 | 0x0201f800, 0x0010427d, 0x4200b000, 0x00001388, | ||
| 2862 | 0x4201d000, 0x00000014, 0x4c580000, 0x0201f800, | ||
| 2863 | 0x0010608e, 0x0201f800, 0x001018d3, 0x5c00b000, | ||
| 2864 | 0x04000004, 0x8058b040, 0x040207f6, 0x0401f025, | ||
| 2865 | 0x59c40005, 0x8c000534, 0x04020007, 0x59c400a4, | ||
| 2866 | 0x82000500, 0x0000000f, 0x82000580, 0x00000008, | ||
| 2867 | 0x0402001c, 0x42006000, 0x00020000, 0x0201f800, | ||
| 2868 | 0x00104282, 0x4201d000, 0x00000064, 0x0201f800, | ||
| 2869 | 0x0010608e, 0x42006000, 0xfeffffff, 0x42006800, | ||
| 2870 | 0x02000000, 0x0201f800, 0x0010427d, 0x42006000, | ||
| 2871 | 0xfdffffff, 0x41786800, 0x0201f800, 0x0010427d, | ||
| 2872 | 0x4a038805, 0x04000001, 0x59c400a4, 0x82000500, | ||
| 2873 | 0x0000000f, 0x82000580, 0x00000000, 0x04000003, | ||
| 2874 | 0x82000540, 0x00000001, 0x1c01f000, 0x4803c856, | ||
| 2875 | 0x42038000, 0x00007700, 0x0201f800, 0x00100ec1, | ||
| 2876 | 0x59c00006, 0x59a0040c, 0x800001c0, 0x0400003f, | ||
| 2877 | 0x59a03c0c, 0x59a00209, 0x59a01c09, 0x900c19c0, | ||
| 2878 | 0x800c1d40, 0x59a0020e, 0x59a0240e, 0x901021c0, | ||
| 2879 | 0x80102540, 0x59a0020b, 0x82000500, 0x0000fffc, | ||
| 2880 | 0x59a0140b, 0x900811c0, 0x80081540, 0x480b8003, | ||
| 2881 | 0x0201f800, 0x0002075a, 0x02000800, 0x001005d8, | ||
| 2882 | 0x49334000, 0x0201f800, 0x001007e4, 0x4a025a04, | ||
| 2883 | 0x00000018, 0x4a025805, 0x00abcdef, 0x492e6008, | ||
| 2884 | 0x492e600b, 0x481e600d, 0x4a02600c, 0x00000004, | ||
| 2885 | 0x832c0400, 0x00000011, 0x4802600a, 0x42001000, | ||
| 2886 | 0x0000000c, 0x821c0d80, 0x00000001, 0x04000004, | ||
| 2887 | 0x801c3840, 0x0401f963, 0x0401f004, 0x41783800, | ||
| 2888 | 0x0401f960, 0x0401f011, 0x821c0c80, 0x00000005, | ||
| 2889 | 0x04001005, 0x40043800, 0x42001000, 0x0000003c, | ||
| 2890 | 0x0401f006, 0x80001580, 0x82081400, 0x0000000c, | ||
| 2891 | 0x801c3840, 0x040207fd, 0x832c0400, 0x00000005, | ||
| 2892 | 0x0401f950, 0x040207f1, 0x497b9009, 0x59e00003, | ||
| 2893 | 0x82000540, 0x00008060, 0x4803c003, 0x4a038009, | ||
| 2894 | 0x00e00000, 0x1c01f000, 0x4803c856, 0x41780800, | ||
| 2895 | 0x8007a0ca, 0x83d3a400, 0x00007600, 0x42000800, | ||
| 2896 | 0x00000040, 0x0201f800, 0x00101345, 0x4a03a00a, | ||
| 2897 | 0x00000001, 0x4a03a005, 0x20000000, 0x59d00006, | ||
| 2898 | 0x4a03a005, 0x30000000, 0x59d00006, 0x8c00050a, | ||
| 2899 | 0x040207fe, 0x59d00005, 0x59a0020c, 0x800001c0, | ||
| 2900 | 0x0400003f, 0x59a03a0c, 0x59a00210, 0x59a01c10, | ||
| 2901 | 0x900c19c0, 0x800c1d40, 0x59a0020d, 0x59a0240d, | ||
| 2902 | 0x901021c0, 0x80102540, 0x59a0120b, 0x82081500, | ||
| 2903 | 0x0000fffc, 0x59a0040b, 0x900001c0, 0x80081540, | ||
| 2904 | 0x480ba003, 0x0201f800, 0x0002075a, 0x02000800, | ||
| 2905 | 0x001005d8, 0x49334001, 0x0201f800, 0x001007e4, | ||
| 2906 | 0x4a025a04, 0x00000018, 0x4a025805, 0x00abcdef, | ||
| 2907 | 0x492e6008, 0x492e600b, 0x481e600d, 0x4a02600c, | ||
| 2908 | 0x00000004, 0x832c0400, 0x00000011, 0x4802600a, | ||
| 2909 | 0x42001000, 0x0000000c, 0x821c0d80, 0x00000001, | ||
| 2910 | 0x04000004, 0x801c3840, 0x0401f906, 0x0401f004, | ||
| 2911 | 0x41783800, 0x0401f903, 0x0401f011, 0x821c0c80, | ||
| 2912 | 0x00000005, 0x04001005, 0x40043800, 0x42001000, | ||
| 2913 | 0x0000003c, 0x0401f006, 0x80001580, 0x82081400, | ||
| 2914 | 0x0000000c, 0x801c3840, 0x040207fd, 0x832c0400, | ||
| 2915 | 0x00000005, 0x0401f8f3, 0x040207f1, 0x1c01f000, | ||
| 2916 | 0x4803c856, 0x59a0020c, 0x800001c0, 0x04000024, | ||
| 2917 | 0x824c0580, 0x00000002, 0x04000040, 0x59a26001, | ||
| 2918 | 0x5930380d, 0x801c39c0, 0x0400003c, 0x801c3840, | ||
| 2919 | 0x481e600d, 0x5932580b, 0x5930080a, 0x50042000, | ||
| 2920 | 0x58041801, 0x58041002, 0x82081500, 0xfffffffc, | ||
| 2921 | 0x5930000c, 0x80000000, 0x82000d80, 0x00000005, | ||
| 2922 | 0x04020009, 0x497a600c, 0x592e5801, 0x812e59c0, | ||
| 2923 | 0x0400001a, 0x492e600b, 0x832c0c00, 0x00000005, | ||
| 2924 | 0x0401f005, 0x4802600c, 0x5930080a, 0x82040c00, | ||
| 2925 | 0x00000003, 0x4806600a, 0x0401f010, 0x59a0120b, | ||
| 2926 | 0x82081500, 0x0000fffc, 0x59a0040b, 0x900001c0, | ||
| 2927 | 0x80081540, 0x480ba003, 0x59a0020d, 0x59a0240d, | ||
| 2928 | 0x901021c0, 0x80102540, 0x59a00210, 0x59a01c10, | ||
| 2929 | 0x900c19c0, 0x800c1d40, 0x4201d000, 0x00003a98, | ||
| 2930 | 0x0201f800, 0x001060c6, 0x480ba002, 0x59a80059, | ||
| 2931 | 0x4803a008, 0x4813a000, 0x480fa001, 0x4a03a005, | ||
| 2932 | 0x10000000, 0x02005800, 0x001005d8, 0x804c9800, | ||
| 2933 | 0x82000540, 0x00000001, 0x1c01f000, 0x4847c857, | ||
| 2934 | 0x59a0040c, 0x800001c0, 0x04000024, 0x82480580, | ||
| 2935 | 0x00000002, 0x04000042, 0x59a26000, 0x5930380d, | ||
| 2936 | 0x801c39c0, 0x0400003e, 0x801c3840, 0x481e600d, | ||
| 2937 | 0x5932580b, 0x5930080a, 0x50042000, 0x58041801, | ||
| 2938 | 0x58041002, 0x82081500, 0xfffffffc, 0x5930000c, | ||
| 2939 | 0x80000000, 0x82000d80, 0x00000005, 0x04020009, | ||
| 2940 | 0x497a600c, 0x592e5801, 0x812e59c0, 0x0400001d, | ||
| 2941 | 0x492e600b, 0x832c0c00, 0x00000005, 0x0401f005, | ||
| 2942 | 0x4802600c, 0x5930080a, 0x82040c00, 0x00000003, | ||
| 2943 | 0x4806600a, 0x0401f013, 0x82440580, 0x10000000, | ||
| 2944 | 0x0402001f, 0x59a0020e, 0x59a0240e, 0x901021c0, | ||
| 2945 | 0x80102540, 0x59a00209, 0x59a01c09, 0x900c19c0, | ||
| 2946 | 0x800c1d40, 0x59a0020b, 0x82000500, 0x0000fffc, | ||
| 2947 | 0x59a0140b, 0x900811c0, 0x80081540, 0x480b8003, | ||
| 2948 | 0x48138000, 0x480f8001, 0x480b8002, 0x59c80018, | ||
| 2949 | 0x82000500, 0xf0000000, 0x59c02008, 0x82102500, | ||
| 2950 | 0x0fffffff, 0x80100540, 0x48038008, 0x48478006, | ||
| 2951 | 0x80489000, 0x8260c540, 0x00000001, 0x1c01f000, | ||
| 2952 | 0x59c00009, 0x4803c857, 0x82000d00, 0x00e00000, | ||
| 2953 | 0x0400000d, 0x485f420f, 0x905cb9c0, 0x485f440f, | ||
| 2954 | 0x8c00052e, 0x04000002, 0x80285000, 0x8c00052c, | ||
| 2955 | 0x04000002, 0x80244800, 0x8c00052a, 0x04000002, | ||
| 2956 | 0x802c5800, 0x1c01f000, 0x59a0020c, 0x800001c0, | ||
| 2957 | 0x04000024, 0x59d00806, 0x4807c857, 0x8c040d3e, | ||
| 2958 | 0x04000020, 0x4a03a005, 0x20000000, 0x4a03a005, | ||
| 2959 | 0x30000000, 0x59d00806, 0x8c040d0a, 0x040207fe, | ||
| 2960 | 0x824c0480, 0x00000003, 0x02021800, 0x001005d8, | ||
| 2961 | 0x404c0000, 0x0c01f001, 0x00102da1, 0x00102da3, | ||
| 2962 | 0x00102da9, 0x0201f800, 0x001005d8, 0x80000040, | ||
| 2963 | 0x40009800, 0x0401ff43, 0x0400000a, 0x0401ff41, | ||
| 2964 | 0x0401f008, 0x80000040, 0x40009800, 0x59d00806, | ||
| 2965 | 0x4807c857, 0x8c040d3e, 0x040207e3, 0x0401ff39, | ||
| 2966 | 0x1c01f000, 0x59a0040c, 0x800001c0, 0x04000024, | ||
| 2967 | 0x59c00807, 0x4807c857, 0x8c040d3e, 0x04000020, | ||
| 2968 | 0x59c00807, 0x4a038006, 0x20000000, 0x82480480, | ||
| 2969 | 0x00000003, 0x02021800, 0x001005d8, 0x40480000, | ||
| 2970 | 0x0c01f001, 0x00102dc4, 0x00102dc6, 0x00102dce, | ||
| 2971 | 0x0201f800, 0x001005d8, 0x80000040, 0x40009000, | ||
| 2972 | 0x42008800, 0x10000004, 0x0401ff65, 0x0400000c, | ||
| 2973 | 0x0401ff63, 0x0401f00a, 0x80000040, 0x40009000, | ||
| 2974 | 0x59c00807, 0x4807c857, 0x8c040d3e, 0x040207e5, | ||
| 2975 | 0x42008800, 0x10000004, 0x0401ff59, 0x1c01f000, | ||
| 2976 | 0x492fc857, 0x4000a800, 0x4a03b805, 0x20000000, | ||
| 2977 | 0x59dc0006, 0x4a03b805, 0x30000000, 0x4813b800, | ||
| 2978 | 0x480fb801, 0x480bb802, 0x4857b803, 0x4a03b805, | ||
| 2979 | 0x30000002, 0x59dc0006, 0x4a03b805, 0x70000001, | ||
| 2980 | 0x59dc0006, 0x4a03b805, 0x10000000, 0x59dc0006, | ||
| 2981 | 0x8c00053e, 0x040007fe, 0x4a03b805, 0x20000000, | ||
| 2982 | 0x59dc0006, 0x59dc2000, 0x59dc1801, 0x801c39c0, | ||
| 2983 | 0x0400000a, 0x4d2c0000, 0x0201f800, 0x001007e4, | ||
| 2984 | 0x5c000800, 0x02000800, 0x001005d8, 0x4a025a04, | ||
| 2985 | 0x0000000a, 0x492c0801, 0x1c01f000, 0x42006000, | ||
| 2986 | 0x00102fb2, 0x0201f800, 0x00101345, 0x4a03902c, | ||
| 2987 | 0x00200000, 0x4200b000, 0x000001f4, 0x59c8002c, | ||
| 2988 | 0x8c00052c, 0x04000007, 0x8058b040, 0x040207fc, | ||
| 2989 | 0x42000000, 0x00004003, 0x41781000, 0x0401f196, | ||
| 2990 | 0x50301000, 0x41784800, 0x4a03902d, 0x00008000, | ||
| 2991 | 0x4200b000, 0x000001f4, 0x59c8002c, 0x8c000534, | ||
| 2992 | 0x04000007, 0x8058b040, 0x040207fc, 0x42000000, | ||
| 2993 | 0x00004003, 0x41781000, 0x0401f187, 0x0401f8f8, | ||
| 2994 | 0x80244800, 0x40240000, 0x82000580, 0x000003b1, | ||
| 2995 | 0x040207fb, 0x0401f988, 0x41784800, 0x0401f920, | ||
| 2996 | 0x80244800, 0x40240000, 0x82000580, 0x000003b1, | ||
| 2997 | 0x040207fb, 0x80306000, 0x82300580, 0x00102fb4, | ||
| 2998 | 0x040207e0, 0x59a80863, 0x800409c0, 0x04000007, | ||
| 2999 | 0x42000000, 0x00004004, 0x42001000, 0x00000002, | ||
| 3000 | 0x59a81862, 0x0401f16c, 0x42006000, 0x00102fb2, | ||
| 3001 | 0x4a035064, 0x00000004, 0x50301000, 0x41784800, | ||
| 3002 | 0x4a03902d, 0x00004000, 0x4200b000, 0x000001f4, | ||
| 3003 | 0x59c8002c, 0x8c000532, 0x04000007, 0x8058b040, | ||
| 3004 | 0x040207fc, 0x42000000, 0x00004003, 0x41781000, | ||
| 3005 | 0x0401f159, 0x0401f8ca, 0x80244800, 0x40240000, | ||
| 3006 | 0x82000580, 0x00000154, 0x040207fb, 0x0401f95a, | ||
| 3007 | 0x41784800, 0x0401f8f2, 0x80244800, 0x40240000, | ||
| 3008 | 0x82000580, 0x00000154, 0x040207fb, 0x80306000, | ||
| 3009 | 0x82300580, 0x00102fb4, 0x040207e0, 0x59a80863, | ||
| 3010 | 0x800409c0, 0x04000007, 0x42000000, 0x00004004, | ||
| 3011 | 0x42001000, 0x00000004, 0x59a81862, 0x0401f13e, | ||
| 3012 | 0x42006000, 0x00102fb2, 0x497b5064, 0x50301000, | ||
| 3013 | 0x41784800, 0x4a03902d, 0x00001000, 0x4200b000, | ||
| 3014 | 0x000001f4, 0x59c8002c, 0x8c00052e, 0x04000007, | ||
| 3015 | 0x8058b040, 0x040207fc, 0x42000000, 0x00004003, | ||
| 3016 | 0x41781000, 0x0401f12c, 0x0401f89d, 0x80244800, | ||
| 3017 | 0x40240000, 0x82000580, 0x00000088, 0x040207fb, | ||
| 3018 | 0x0401f92d, 0x41784800, 0x0401f8c5, 0x80244800, | ||
| 3019 | 0x40240000, 0x82000580, 0x00000088, 0x040207fb, | ||
| 3020 | 0x80306000, 0x82300580, 0x00102fb4, 0x040207e0, | ||
| 3021 | 0x59a80863, 0x800409c0, 0x04000007, 0x42000000, | ||
| 3022 | 0x00004004, 0x42001000, 0x00000001, 0x59a81862, | ||
| 3023 | 0x0401f111, 0x42006000, 0x00102fb2, 0x50301000, | ||
| 3024 | 0x41784800, 0x4a03902d, 0x00000800, 0x0401f87c, | ||
| 3025 | 0x80244800, 0x40240000, 0x82000580, 0x00000018, | ||
| 3026 | 0x040207fb, 0x0401f90c, 0x41784800, 0x0401f8a4, | ||
| 3027 | 0x80244800, 0x40240000, 0x82000580, 0x00000018, | ||
| 3028 | 0x040207fb, 0x80306000, 0x82300580, 0x00102fb4, | ||
| 3029 | 0x040207eb, 0x59a80863, 0x800409c0, 0x04000007, | ||
| 3030 | 0x42000000, 0x00004004, 0x42001000, 0x00000010, | ||
| 3031 | 0x59a81862, 0x0401f0f0, 0x42006000, 0x00102fb2, | ||
| 3032 | 0x50301000, 0x41784800, 0x4a03902d, 0x00000400, | ||
| 3033 | 0x0401f85b, 0x80244800, 0x40240000, 0x82000580, | ||
| 3034 | 0x00000088, 0x040207fb, 0x0401f8eb, 0x41784800, | ||
| 3035 | 0x0401f883, 0x80244800, 0x40240000, 0x82000580, | ||
| 3036 | 0x00000088, 0x040207fb, 0x80306000, 0x82300580, | ||
| 3037 | 0x00102fb4, 0x040207eb, 0x59a80863, 0x800409c0, | ||
| 3038 | 0x04000007, 0x42000000, 0x00004004, 0x42001000, | ||
| 3039 | 0x00000008, 0x59a81862, 0x0401f0cf, 0x42006000, | ||
| 3040 | 0x00102fb2, 0x50301000, 0x41784800, 0x4a03902d, | ||
| 3041 | 0x00002000, 0x4200b000, 0x000001f4, 0x59c8002c, | ||
| 3042 | 0x8c000530, 0x04000007, 0x8058b040, 0x040207fc, | ||
| 3043 | 0x42000000, 0x00004003, 0x41781000, 0x0401f0be, | ||
| 3044 | 0x59c8002c, 0x82000500, 0xffe0ffff, 0x82080d00, | ||
| 3045 | 0x001f0000, 0x80040540, 0x4803902c, 0x0401f828, | ||
| 3046 | 0x80244800, 0x40240000, 0x82000580, 0x00000110, | ||
| 3047 | 0x040207fb, 0x0401f8b8, 0x41784800, 0x0401f850, | ||
| 3048 | 0x59c80034, 0x82080d00, 0x001f0000, 0x82000500, | ||
| 3049 | 0x001f0000, 0x80040580, 0x04000006, 0x59a80063, | ||
| 3050 | 0x80000000, 0x48035063, 0x40240000, 0x48035062, | ||
| 3051 | 0x80244800, 0x40240000, 0x82000580, 0x00000110, | ||
| 3052 | 0x040207ef, 0x80306000, 0x82300580, 0x00102fb4, | ||
| 3053 | 0x040207cd, 0x59a80863, 0x800409c0, 0x04000006, | ||
| 3054 | 0x42000000, 0x00004004, 0x42001000, 0x00000020, | ||
| 3055 | 0x59a81862, 0x0201f000, 0x001022c0, 0x59c8002c, | ||
| 3056 | 0x82000500, 0xffff0000, 0x82080d00, 0x0000ffff, | ||
| 3057 | 0x80040540, 0x4803902c, 0x40080000, 0x48039028, | ||
| 3058 | 0x48039029, 0x59a80064, 0x82000580, 0x00000004, | ||
| 3059 | 0x04000004, 0x40080000, 0x4803902a, 0x4803902b, | ||
| 3060 | 0x59c8082d, 0x82040d00, 0xfffffc00, 0x40240000, | ||
| 3061 | 0x80040d40, 0x4807902d, 0x4200b000, 0x000001f4, | ||
| 3062 | 0x59c8002c, 0x82000500, 0x18000000, 0x04000007, | ||
| 3063 | 0x8058b040, 0x040207fb, 0x42000000, 0x00004003, | ||
| 3064 | 0x41781000, 0x0401f06c, 0x4a03902e, 0x00000001, | ||
| 3065 | 0x4200b000, 0x000001f4, 0x59c8002e, 0x8c000500, | ||
| 3066 | 0x04000006, 0x8058b040, 0x040207fc, 0x42000000, | ||
| 3067 | 0x00004003, 0x0401f060, 0x1c01f000, 0x41783800, | ||
| 3068 | 0x59c8082d, 0x82040d00, 0xfffffc00, 0x40240000, | ||
| 3069 | 0x80040d40, 0x4807902d, 0x4200b000, 0x000001f4, | ||
| 3070 | 0x59c8002c, 0x82000500, 0x18000000, 0x04000007, | ||
| 3071 | 0x8058b040, 0x040207fb, 0x42000000, 0x00004003, | ||
| 3072 | 0x41781000, 0x0401f04c, 0x59c80030, 0x59c80830, | ||
| 3073 | 0x80040580, 0x040207fd, 0x40041800, 0x59c80031, | ||
| 3074 | 0x59c80831, 0x80040580, 0x040207fd, 0x40042000, | ||
| 3075 | 0x59c80032, 0x59c80832, 0x80040580, 0x040207fd, | ||
| 3076 | 0x40042800, 0x59c80033, 0x59c80833, 0x80040580, | ||
| 3077 | 0x040207fd, 0x40043000, 0x400c0000, 0x80080580, | ||
| 3078 | 0x04000002, 0x801c3800, 0x40100000, 0x80080580, | ||
| 3079 | 0x04000002, 0x801c3800, 0x59a80064, 0x82000580, | ||
| 3080 | 0x00000004, 0x04000009, 0x40140000, 0x80080580, | ||
| 3081 | 0x04000002, 0x801c3800, 0x40180000, 0x80080580, | ||
| 3082 | 0x04000002, 0x801c3800, 0x59a80064, 0x82000580, | ||
| 3083 | 0x00000004, 0x0400000d, 0x59c80034, 0x59c80834, | ||
| 3084 | 0x80040580, 0x040207fd, 0x82040500, 0x0000ffff, | ||
| 3085 | 0x82080d00, 0x0000ffff, 0x80040580, 0x0400000e, | ||
| 3086 | 0x801c3800, 0x0401f00c, 0x59c80034, 0x59c80834, | ||
| 3087 | 0x80040580, 0x040207fd, 0x82040500, 0x000000ff, | ||
| 3088 | 0x82080d00, 0x000000ff, 0x80040580, 0x04000002, | ||
| 3089 | 0x801c3800, 0x801c39c0, 0x04000006, 0x59a80063, | ||
| 3090 | 0x801c0400, 0x48035063, 0x40240000, 0x48035062, | ||
| 3091 | 0x1c01f000, 0x48034206, 0x48074406, 0x480b4207, | ||
| 3092 | 0x480f4407, 0x48134208, 0x48174408, 0x0201f000, | ||
| 3093 | 0x001022c3, 0x42000000, 0x00600000, 0x80000040, | ||
| 3094 | 0x040207ff, 0x1c01f000, 0x5a5a5a5a, 0xa5a5a5a5, | ||
| 3095 | 0x59a00c0a, 0x800409c0, 0x02000000, 0x00102310, | ||
| 3096 | 0x82040480, 0x00000021, 0x02021000, 0x00102310, | ||
| 3097 | 0x82040480, 0x00000011, 0x04001003, 0x42000800, | ||
| 3098 | 0x00000010, 0x59a00208, 0x59a01407, 0x900811c0, | ||
| 3099 | 0x80081540, 0x59a00207, 0x59a01c06, 0x900c19c0, | ||
| 3100 | 0x800c1d40, 0x0201f800, 0x00103a00, 0x04000006, | ||
| 3101 | 0x0201f800, 0x00103a25, 0x4a01d809, 0x00102fd5, | ||
| 3102 | 0x1c01f000, 0x4a034406, 0x00000002, 0x0201f000, | ||
| 3103 | 0x0010230c, 0x4031d800, 0x58ef400b, 0x58ec0002, | ||
| 3104 | 0x82000580, 0x00000200, 0x02000000, 0x00102304, | ||
| 3105 | 0x59a00c0a, 0x82040480, 0x00000011, 0x04001003, | ||
| 3106 | 0x42000800, 0x00000010, 0x59a0040b, 0x59a0120b, | ||
| 3107 | 0x900811c0, 0x80081540, 0x59a00209, 0x59a01c08, | ||
| 3108 | 0x900c19c0, 0x800c1d40, 0x58ec0003, 0x0201f800, | ||
| 3109 | 0x00103a28, 0x4a01d809, 0x00102ff0, 0x1c01f000, | ||
| 3110 | 0x4031d800, 0x58ef400b, 0x58ec0002, 0x82000580, | ||
| 3111 | 0x00000200, 0x02000000, 0x00102304, 0x59a00c0a, | ||
| 3112 | 0x82040480, 0x00000011, 0x02001000, 0x001022c0, | ||
| 3113 | 0x82040c80, 0x00000010, 0x59a00208, 0x59a01407, | ||
| 3114 | 0x900811c0, 0x80081540, 0x59a00207, 0x59a01c06, | ||
| 3115 | 0x900c19c0, 0x800c1d40, 0x82081400, 0x00000040, | ||
| 3116 | 0x58ec0003, 0x0201f800, 0x00103a25, 0x4a01d809, | ||
| 3117 | 0x0010300e, 0x1c01f000, 0x4031d800, 0x58ef400b, | ||
| 3118 | 0x58ec0002, 0x82000580, 0x00000200, 0x02000000, | ||
| 3119 | 0x00102304, 0x59a0040a, 0x82000c80, 0x00000010, | ||
| 3120 | 0x59a0040b, 0x59a0120b, 0x900811c0, 0x80081540, | ||
| 3121 | 0x59a00209, 0x59a01c08, 0x900c19c0, 0x800c1d40, | ||
| 3122 | 0x82081400, 0x00000040, 0x58ec0003, 0x0201f800, | ||
| 3123 | 0x00103a28, 0x4a01d809, 0x001022b9, 0x1c01f000, | ||
| 3124 | 0x48efc857, 0x59a00207, 0x59a01407, 0x900001c0, | ||
| 3125 | 0x80081540, 0x59a00209, 0x59a01c09, 0x900001c0, | ||
| 3126 | 0x800c1d40, 0x59a00406, 0x48034000, 0x480b4001, | ||
| 3127 | 0x480f4002, 0x0201f800, 0x00103a00, 0x04020005, | ||
| 3128 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3129 | 0x42000800, 0x00000010, 0x0201f800, 0x00103a25, | ||
| 3130 | 0x4a01d809, 0x00103043, 0x1c01f000, 0x4031d800, | ||
| 3131 | 0x58ef400b, 0x58ee580d, 0x58ec0002, 0x82000580, | ||
| 3132 | 0x00000200, 0x02000000, 0x00102304, 0x48efc857, | ||
| 3133 | 0x49a3c857, 0x492fc857, 0x592c0a04, 0x80040910, | ||
| 3134 | 0x04020005, 0x4a034406, 0x00000019, 0x0201f000, | ||
| 3135 | 0x0010230c, 0x4805d80c, 0x0401f00a, 0x4031d800, | ||
| 3136 | 0x58ef400b, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 3137 | 0x02000000, 0x00102304, 0x48efc857, 0x49a3c857, | ||
| 3138 | 0x48efc857, 0x49a3c857, 0x58ec000c, 0x80000040, | ||
| 3139 | 0x04000012, 0x4801d80c, 0x0201f800, 0x00103a00, | ||
| 3140 | 0x04020005, 0x4a034406, 0x00000002, 0x0201f000, | ||
| 3141 | 0x0010230c, 0x42000800, 0x00000010, 0x58ec1007, | ||
| 3142 | 0x58ec1808, 0x0201f800, 0x00103a25, 0x4a01d809, | ||
| 3143 | 0x00103057, 0x1c01f000, 0x58ee580d, 0x48efc857, | ||
| 3144 | 0x49a3c857, 0x492fc857, 0x492f3006, 0x592c0404, | ||
| 3145 | 0x8400055e, 0x48025c04, 0x4a01d809, 0x00103081, | ||
| 3146 | 0x1c01f000, 0x58ee580d, 0x48efc857, 0x49a3c857, | ||
| 3147 | 0x492fc857, 0x592c0404, 0x8400051e, 0x48025c04, | ||
| 3148 | 0x59a00000, 0x59a01001, 0x59a01802, 0x80081400, | ||
| 3149 | 0x820c1c40, 0x00000000, 0x832c0400, 0x00000004, | ||
| 3150 | 0x42000800, 0x00000010, 0x0201f000, 0x00103a28, | ||
| 3151 | 0x800409c0, 0x04000005, 0x4a034406, 0x00000001, | ||
| 3152 | 0x0201f000, 0x0010230c, 0x836c0580, 0x00000003, | ||
| 3153 | 0x04000005, 0x4a034406, 0x00000007, 0x0201f000, | ||
| 3154 | 0x0010230c, 0x59a0320b, 0x82183500, 0x000000ff, | ||
| 3155 | 0x59a28c06, 0x0201f800, 0x00020245, 0x02020000, | ||
| 3156 | 0x00102310, 0x83440580, 0x000007fd, 0x04000008, | ||
| 3157 | 0x0201f800, 0x001049e7, 0x04000005, 0x4a034406, | ||
| 3158 | 0x00000009, 0x0201f000, 0x0010230c, 0x0201f800, | ||
| 3159 | 0x00103a00, 0x04020005, 0x4a034406, 0x00000002, | ||
| 3160 | 0x0201f000, 0x0010230c, 0x801831c0, 0x0400000a, | ||
| 3161 | 0x412c0800, 0x0201f800, 0x00103a00, 0x04020005, | ||
| 3162 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3163 | 0x40065800, 0x4a025c04, 0x00008000, 0x497a5a04, | ||
| 3164 | 0x0201f800, 0x00109100, 0x04020005, 0x4a034406, | ||
| 3165 | 0x00000003, 0x0201f000, 0x0010230c, 0x4a01d809, | ||
| 3166 | 0x001030d2, 0x1c01f000, 0x592c0005, 0x82000580, | ||
| 3167 | 0x01000000, 0x04020005, 0x4a034406, 0x00000004, | ||
| 3168 | 0x0201f000, 0x0010230c, 0x592c0406, 0x82002d00, | ||
| 3169 | 0x0000ff00, 0x82000500, 0x000000ff, 0x80000904, | ||
| 3170 | 0x80040800, 0x82040480, 0x00000006, 0x04001003, | ||
| 3171 | 0x42000800, 0x00000005, 0x832ca400, 0x00000006, | ||
| 3172 | 0x4050a800, 0x4004b000, 0x0201f800, 0x0010ab28, | ||
| 3173 | 0x59a00407, 0x59a01207, 0x900811c0, 0x80081540, | ||
| 3174 | 0x59a00409, 0x59a01a09, 0x900c19c0, 0x800c1d40, | ||
| 3175 | 0x832c0400, 0x00000006, 0x4c140000, 0x0201f800, | ||
| 3176 | 0x00103a28, 0x5c002800, 0x801429c0, 0x04000003, | ||
| 3177 | 0x4a01d809, 0x001030ff, 0x1c01f000, 0x4031d800, | ||
| 3178 | 0x58ef400b, 0x58ee580d, 0x58ec0002, 0x82000580, | ||
| 3179 | 0x00000200, 0x02000000, 0x00102304, 0x812e59c0, | ||
| 3180 | 0x02000800, 0x001005d8, 0x592c0006, 0x82000500, | ||
| 3181 | 0xff000000, 0x80000904, 0x800409c0, 0x02000000, | ||
| 3182 | 0x00102304, 0x82040480, 0x0000000e, 0x04001003, | ||
| 3183 | 0x42000800, 0x0000000d, 0x592e5801, 0x812e59c0, | ||
| 3184 | 0x02000800, 0x001005d8, 0x832ca400, 0x00000005, | ||
| 3185 | 0x4050a800, 0x4004b000, 0x0201f800, 0x0010ab28, | ||
| 3186 | 0x58ec1007, 0x58ec1808, 0x832c0400, 0x00000005, | ||
| 3187 | 0x0201f000, 0x00103a28, 0x0201f800, 0x00103a00, | ||
| 3188 | 0x04020005, 0x4a034406, 0x00000002, 0x0201f000, | ||
| 3189 | 0x0010230c, 0x59a00c06, 0x82040500, 0x0000ff00, | ||
| 3190 | 0x840001c0, 0x82001480, 0x00000007, 0x02021000, | ||
| 3191 | 0x00102310, 0x0c01f001, 0x0010313d, 0x00103144, | ||
| 3192 | 0x0010314b, 0x0010314b, 0x0010314b, 0x0010314d, | ||
| 3193 | 0x00103152, 0x42000800, 0x0000000d, 0x42003800, | ||
| 3194 | 0x00103166, 0x4a034000, 0x0010b4eb, 0x0401f013, | ||
| 3195 | 0x42000800, 0x0000000d, 0x42003800, 0x00103166, | ||
| 3196 | 0x4a034000, 0x0010b4f8, 0x0401f00c, 0x0201f000, | ||
| 3197 | 0x00102310, 0x42000800, 0x00000008, 0x42003800, | ||
| 3198 | 0x00103179, 0x0401f005, 0x42000800, 0x00000004, | ||
| 3199 | 0x42003800, 0x001031c3, 0x59a00207, 0x59a01407, | ||
| 3200 | 0x900001c0, 0x80081540, 0x59a00209, 0x59a01c09, | ||
| 3201 | 0x900001c0, 0x800c1d40, 0x832c0400, 0x00000005, | ||
| 3202 | 0x4c1c0000, 0x0201f800, 0x00103a25, 0x5c003800, | ||
| 3203 | 0x481dd809, 0x1c01f000, 0x4031d800, 0x58ef400b, | ||
| 3204 | 0x58ee580d, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 3205 | 0x02000000, 0x00102304, 0x4a03501f, 0x00000001, | ||
| 3206 | 0x4200b000, 0x0000000d, 0x59a0a800, 0x832ca400, | ||
| 3207 | 0x00000005, 0x0201f800, 0x0010ab17, 0x0201f000, | ||
| 3208 | 0x001022c0, 0x4031d800, 0x58ef400b, 0x58ee580d, | ||
| 3209 | 0x58ec0002, 0x82000580, 0x00000200, 0x02000000, | ||
| 3210 | 0x00102304, 0x832ca400, 0x00000005, 0x50500000, | ||
| 3211 | 0x82001500, 0x000c0016, 0x02020000, 0x00102310, | ||
| 3212 | 0x82500c00, 0x00000003, 0x50040000, 0x82001500, | ||
| 3213 | 0x00000001, 0x02020000, 0x00102310, 0x50500000, | ||
| 3214 | 0x82001500, 0x00000028, 0x0400001d, 0x82081580, | ||
| 3215 | 0x00000028, 0x02020000, 0x00102310, 0x80500800, | ||
| 3216 | 0x50040000, 0x82001500, 0x00000013, 0x82081580, | ||
| 3217 | 0x00000013, 0x02020000, 0x00102310, 0x80040800, | ||
| 3218 | 0x50040000, 0x82001500, 0x00010000, 0x82081580, | ||
| 3219 | 0x00010000, 0x02020000, 0x00102310, 0x836c0580, | ||
| 3220 | 0x00000000, 0x04000012, 0x599c0019, 0x8c00050e, | ||
| 3221 | 0x0402000f, 0x0201f000, 0x00102310, 0x80500800, | ||
| 3222 | 0x50040000, 0x82001500, 0x00000013, 0x02020000, | ||
| 3223 | 0x00102310, 0x80040800, 0x50040000, 0x82001500, | ||
| 3224 | 0x00010000, 0x02020000, 0x00102310, 0x4200b000, | ||
| 3225 | 0x00000008, 0x4200a800, 0x0010b4e3, 0x0201f800, | ||
| 3226 | 0x0010ab17, 0x0201f000, 0x001022c0, 0x4031d800, | ||
| 3227 | 0x58ef400b, 0x58ee580d, 0x58ec0002, 0x82000580, | ||
| 3228 | 0x00000200, 0x02000000, 0x00102304, 0x4200b000, | ||
| 3229 | 0x00000004, 0x4200a800, 0x0010b8fa, 0x832ca400, | ||
| 3230 | 0x00000005, 0x0201f800, 0x0010ab17, 0x59a80005, | ||
| 3231 | 0x84000550, 0x48035005, 0x0201f000, 0x001022c0, | ||
| 3232 | 0x0201f800, 0x00103a00, 0x04020005, 0x4a034406, | ||
| 3233 | 0x00000002, 0x0201f000, 0x0010230c, 0x59a00c06, | ||
| 3234 | 0x82040500, 0x0000ff00, 0x840001c0, 0x82001480, | ||
| 3235 | 0x00000006, 0x02021000, 0x00102310, 0x0c01f001, | ||
| 3236 | 0x001031ee, 0x001031f3, 0x001031f8, 0x001031f8, | ||
| 3237 | 0x001031f8, 0x001031fa, 0x42000800, 0x0000000d, | ||
| 3238 | 0x4200a000, 0x0010b4eb, 0x0401f00c, 0x42000800, | ||
| 3239 | 0x0000000d, 0x4200a000, 0x0010b4f8, 0x0401f007, | ||
| 3240 | 0x0201f000, 0x00102310, 0x42000800, 0x00000008, | ||
| 3241 | 0x4200a000, 0x0010b4e3, 0x4004b000, 0x832cac00, | ||
| 3242 | 0x00000005, 0x0201f800, 0x0010ab17, 0x59a00207, | ||
| 3243 | 0x59a01407, 0x900001c0, 0x80081540, 0x59a00209, | ||
| 3244 | 0x59a01c09, 0x900001c0, 0x800c1d40, 0x832c0400, | ||
| 3245 | 0x00000005, 0x0201f000, 0x00103a28, 0x836c0580, | ||
| 3246 | 0x00000000, 0x04020005, 0x4a034406, 0x00000007, | ||
| 3247 | 0x0201f000, 0x0010230c, 0x59a00406, 0x800001c0, | ||
| 3248 | 0x0400001a, 0x59a80005, 0x8c000514, 0x04000005, | ||
| 3249 | 0x42000000, 0x00000001, 0x40000800, 0x0401f003, | ||
| 3250 | 0x59a00207, 0x59a80853, 0x48035053, 0x0201f800, | ||
| 3251 | 0x0010163b, 0x04000022, 0x0201f800, 0x00101642, | ||
| 3252 | 0x0400001f, 0x0201f800, 0x00101649, 0x0400001c, | ||
| 3253 | 0x0201f800, 0x00101650, 0x04000019, 0x48075053, | ||
| 3254 | 0x0201f000, 0x00102310, 0x59c40801, 0x82040d00, | ||
| 3255 | 0x00018000, 0x82040580, 0x00000000, 0x04020004, | ||
| 3256 | 0x4a034406, 0x00000000, 0x0401f00d, 0x82040580, | ||
| 3257 | 0x00008000, 0x04020004, 0x4a034406, 0x00000001, | ||
| 3258 | 0x0401f007, 0x82040580, 0x00010000, 0x02020800, | ||
| 3259 | 0x001005d8, 0x4a034406, 0x00000003, 0x59a00406, | ||
| 3260 | 0x82000580, 0x00000002, 0x0402001f, 0x59c40006, | ||
| 3261 | 0x84000500, 0x48038806, 0x0201f800, 0x00106ede, | ||
| 3262 | 0x497b8880, 0x0201f800, 0x0010a9c0, 0x0201f800, | ||
| 3263 | 0x0010a9ce, 0x42000000, 0x0010b8ca, 0x0201f800, | ||
| 3264 | 0x0010aa47, 0x82000540, 0x00000001, 0x0201f800, | ||
| 3265 | 0x0010518c, 0x4a038808, 0x00000000, 0x4202d800, | ||
| 3266 | 0x00000004, 0x42001000, 0x00000001, 0x0201f800, | ||
| 3267 | 0x0010193d, 0x4a035049, 0x00000001, 0x0201f800, | ||
| 3268 | 0x001006d4, 0x0201f000, 0x001022c0, 0x800409c0, | ||
| 3269 | 0x04000005, 0x4a034406, 0x00000001, 0x0201f000, | ||
| 3270 | 0x0010230c, 0x836c0580, 0x00000003, 0x04000005, | ||
| 3271 | 0x4a034406, 0x00000007, 0x0201f000, 0x0010230c, | ||
| 3272 | 0x59a28c06, 0x59a0320b, 0x82183500, 0x000000ff, | ||
| 3273 | 0x0201f800, 0x00020245, 0x02020000, 0x00102310, | ||
| 3274 | 0x83440580, 0x000007fd, 0x04000008, 0x0201f800, | ||
| 3275 | 0x001049e7, 0x04000005, 0x42000800, 0x00000009, | ||
| 3276 | 0x0201f000, 0x0010230c, 0x0201f800, 0x00103a00, | ||
| 3277 | 0x04020005, 0x4a034406, 0x00000002, 0x0201f000, | ||
| 3278 | 0x0010230c, 0x497a5a04, 0x4a025c04, 0x00008000, | ||
| 3279 | 0x0201f800, 0x00109115, 0x04020005, 0x4a034406, | ||
| 3280 | 0x00000003, 0x0201f000, 0x0010230c, 0x4a01d809, | ||
| 3281 | 0x0010329e, 0x1c01f000, 0x592c0005, 0x82000d00, | ||
| 3282 | 0x0000ffff, 0x82000500, 0xffff0000, 0x82000580, | ||
| 3283 | 0x01000000, 0x04020005, 0x4a034406, 0x00000004, | ||
| 3284 | 0x0201f000, 0x0010230c, 0x80040904, 0x832ca400, | ||
| 3285 | 0x00000005, 0x4050a800, 0x4004b000, 0x0201f800, | ||
| 3286 | 0x0010ab28, 0x59a00207, 0x59a01407, 0x900001c0, | ||
| 3287 | 0x80081540, 0x59a00209, 0x59a01c09, 0x900001c0, | ||
| 3288 | 0x800c1d40, 0x832c0400, 0x00000005, 0x0201f000, | ||
| 3289 | 0x00103a28, 0x496fc857, 0x836c0580, 0x00000000, | ||
| 3290 | 0x04000005, 0x4a034406, 0x0000001a, 0x0201f000, | ||
| 3291 | 0x0010230c, 0x0201f800, 0x0010513b, 0x02020800, | ||
| 3292 | 0x00104142, 0x42000800, 0x00000020, 0x59a00407, | ||
| 3293 | 0x59a01207, 0x900811c0, 0x80081540, 0x59a00409, | ||
| 3294 | 0x59a01a09, 0x900c19c0, 0x800c1d40, 0x419c0000, | ||
| 3295 | 0x49a3c857, 0x0201f800, 0x00103a25, 0x4a01d809, | ||
| 3296 | 0x001032da, 0x1c01f000, 0x4833c857, 0x4031d800, | ||
| 3297 | 0x58ef400b, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 3298 | 0x02000000, 0x00102304, 0x599c0200, 0x800001c0, | ||
| 3299 | 0x02000000, 0x00102310, 0x59a80005, 0x8c000512, | ||
| 3300 | 0x04000004, 0x599c0019, 0x8400050c, 0x48033819, | ||
| 3301 | 0x0201f800, 0x001097d7, 0x59a80005, 0x8c000514, | ||
| 3302 | 0x04000004, 0x599c0017, 0x84000508, 0x48033817, | ||
| 3303 | 0x0201f800, 0x00103b25, 0x04020004, 0x8c00050a, | ||
| 3304 | 0x02020000, 0x00102310, 0x4803c857, 0x8c000504, | ||
| 3305 | 0x04020004, 0x59c408a3, 0x84040d7a, 0x480788a3, | ||
| 3306 | 0x8c000502, 0x04020004, 0x59c408a3, 0x84040d08, | ||
| 3307 | 0x480788a3, 0x599c0c02, 0x8c000500, 0x04020004, | ||
| 3308 | 0x8c000516, 0x04000012, 0x0401f001, 0x82041480, | ||
| 3309 | 0x0000007f, 0x02021000, 0x00102310, 0x82041400, | ||
| 3310 | 0x0010210e, 0x50081000, 0x82081500, 0x000000ff, | ||
| 3311 | 0x8c000500, 0x04020006, 0x480b5010, 0x42000800, | ||
| 3312 | 0x00000003, 0x0201f800, 0x00106c78, 0x599c0019, | ||
| 3313 | 0x8c00050e, 0x0402000b, 0x59a80806, 0x8c040d14, | ||
| 3314 | 0x04000008, 0x42000800, 0x0010b4e3, 0x50040800, | ||
| 3315 | 0x82040d00, 0x00000028, 0x02020000, 0x00102310, | ||
| 3316 | 0x82000500, 0x00000030, 0x04000003, 0x80000108, | ||
| 3317 | 0x0401f003, 0x42000000, 0x00000002, 0x48039040, | ||
| 3318 | 0x42000800, 0x00000002, 0x82000400, 0x00103415, | ||
| 3319 | 0x50001000, 0x0201f800, 0x00106c78, 0x599c0201, | ||
| 3320 | 0x82000c80, 0x00000100, 0x02001000, 0x00102310, | ||
| 3321 | 0x82000c80, 0x00000841, 0x02021000, 0x00102310, | ||
| 3322 | 0x82000500, 0x00000007, 0x02020000, 0x00102310, | ||
| 3323 | 0x599c0401, 0x80000540, 0x02000000, 0x00102310, | ||
| 3324 | 0x599c0409, 0x599c0c07, 0x80040c80, 0x02021000, | ||
| 3325 | 0x00102310, 0x80000040, 0x02000000, 0x00102310, | ||
| 3326 | 0x599c0209, 0x599c0a07, 0x80040c80, 0x02021000, | ||
| 3327 | 0x00102310, 0x80000040, 0x02000000, 0x00102310, | ||
| 3328 | 0x0201f800, 0x001053cd, 0x0201f800, 0x00104cb6, | ||
| 3329 | 0x599c0201, 0x48035004, 0x0201f800, 0x001012ee, | ||
| 3330 | 0x599c020a, 0x800001c0, 0x04000003, 0x4803504d, | ||
| 3331 | 0x0401f003, 0x4a03504d, 0x000000c8, 0x0201f800, | ||
| 3332 | 0x00103b25, 0x04000004, 0x0201f800, 0x001060df, | ||
| 3333 | 0x417a5000, 0x836c0580, 0x00000000, 0x04020098, | ||
| 3334 | 0x599c0003, 0x599c0804, 0x9c0001c0, 0x9c0409c0, | ||
| 3335 | 0x48035002, 0x48075003, 0x599c1017, 0x8c08151c, | ||
| 3336 | 0x04000006, 0x599c0005, 0x599c0806, 0x9c0001c0, | ||
| 3337 | 0x9c0409c0, 0x0401f003, 0x82000500, 0xf0ffffff, | ||
| 3338 | 0x48035000, 0x48075001, 0x42001000, 0x0010b4eb, | ||
| 3339 | 0x48001000, 0x48041001, 0x42001000, 0x0010b4f8, | ||
| 3340 | 0x48001000, 0x48041001, 0x59a80005, 0x8c000514, | ||
| 3341 | 0x04020015, 0x599c1019, 0x82081500, 0x0000e000, | ||
| 3342 | 0x82080580, 0x00000000, 0x0402000c, 0x4a035053, | ||
| 3343 | 0x00000000, 0x42000000, 0x00000001, 0x0201f800, | ||
| 3344 | 0x0010188c, 0x42000000, 0x00000001, 0x0201f800, | ||
| 3345 | 0x00101821, 0x0401f02b, 0x82080580, 0x00002000, | ||
| 3346 | 0x0402000a, 0x4a035053, 0x00000001, 0x41780000, | ||
| 3347 | 0x0201f800, 0x0010188c, 0x41780000, 0x0201f800, | ||
| 3348 | 0x00101821, 0x0401f01f, 0x82080580, 0x00004000, | ||
| 3349 | 0x04020006, 0x4a035053, 0x00000002, 0x4a035049, | ||
| 3350 | 0x00000001, 0x0401f017, 0x82080580, 0x00006000, | ||
| 3351 | 0x02020000, 0x00102310, 0x59a80858, 0x82040d80, | ||
| 3352 | 0x01391077, 0x04020005, 0x59e00813, 0x8c040d00, | ||
| 3353 | 0x02020000, 0x00102310, 0x4a035053, 0x00000003, | ||
| 3354 | 0x42000000, 0x00000002, 0x0201f800, 0x0010188c, | ||
| 3355 | 0x42000000, 0x00000002, 0x0201f800, 0x00101821, | ||
| 3356 | 0x599c0019, 0x8c000520, 0x0400000d, 0x42000000, | ||
| 3357 | 0x00000004, 0x42000800, 0x00000040, 0x0201f800, | ||
| 3358 | 0x00101944, 0x42000000, 0x00000010, 0x42000800, | ||
| 3359 | 0x000000c0, 0x0201f800, 0x00101944, 0x4a035032, | ||
| 3360 | 0x0000aaaa, 0x599c1018, 0x82081500, 0x00000030, | ||
| 3361 | 0x59a8006c, 0x80000540, 0x0400000c, 0x82080580, | ||
| 3362 | 0x00000000, 0x02000000, 0x00102310, 0x599c1018, | ||
| 3363 | 0x82081500, 0xffffffcf, 0x82081540, 0x00000010, | ||
| 3364 | 0x480b3818, 0x0401f010, 0x82080d80, 0x00000000, | ||
| 3365 | 0x04000007, 0x82080d80, 0x00000010, 0x0400000a, | ||
| 3366 | 0x82080d80, 0x00000020, 0x04020002, 0x48075032, | ||
| 3367 | 0x0201f800, 0x00103aba, 0x04000008, 0x0201f800, | ||
| 3368 | 0x001015fe, 0x0201f800, 0x0010162a, 0x59a8002a, | ||
| 3369 | 0x80040540, 0x4803502a, 0x49f3c857, 0x42001000, | ||
| 3370 | 0x00105065, 0x0201f800, 0x00105f90, 0x42001000, | ||
| 3371 | 0x00105058, 0x0201f800, 0x00106084, 0x4a038805, | ||
| 3372 | 0xffffffff, 0x4a03c014, 0x00400040, 0x4a03c013, | ||
| 3373 | 0x00400000, 0x0201f800, 0x001048c7, 0x59a0001d, | ||
| 3374 | 0x84000540, 0x4803401d, 0x49f3c857, 0x0201f000, | ||
| 3375 | 0x001022c0, 0x00000018, 0x0000000c, 0x00000018, | ||
| 3376 | 0x00000020, 0x836c0580, 0x00000000, 0x04020005, | ||
| 3377 | 0x42000800, 0x00000007, 0x0201f000, 0x0010230c, | ||
| 3378 | 0x42000800, 0x00000020, 0x59a00407, 0x59a01207, | ||
| 3379 | 0x900811c0, 0x80081540, 0x59a00409, 0x59a01a09, | ||
| 3380 | 0x900c19c0, 0x800c1d40, 0x419c0000, 0x0201f000, | ||
| 3381 | 0x00103a28, 0x800409c0, 0x04000005, 0x4a034406, | ||
| 3382 | 0x00000001, 0x0201f000, 0x0010230c, 0x0201f800, | ||
| 3383 | 0x0010513b, 0x04020005, 0x4a034406, 0x00000016, | ||
| 3384 | 0x0201f000, 0x0010230c, 0x59a80013, 0x8c000500, | ||
| 3385 | 0x04000011, 0x4a034406, 0x00000000, 0x42000800, | ||
| 3386 | 0x00000020, 0x59a00407, 0x59a01207, 0x900811c0, | ||
| 3387 | 0x80081540, 0x59a00409, 0x59a01a09, 0x900c19c0, | ||
| 3388 | 0x800c1d40, 0x42000000, 0x0010be21, 0x0201f000, | ||
| 3389 | 0x00103a28, 0x4a034406, 0x00000001, 0x4200b000, | ||
| 3390 | 0x00000020, 0x4200a800, 0x0010be21, 0x4200a000, | ||
| 3391 | 0xffffffff, 0x4450a800, 0x8054a800, 0x8058b040, | ||
| 3392 | 0x040207fd, 0x4d440000, 0x4d340000, 0x42028800, | ||
| 3393 | 0xffffffff, 0x42002000, 0xffffffff, 0x42003000, | ||
| 3394 | 0x00000001, 0x42003800, 0x00000001, 0x42001800, | ||
| 3395 | 0x0010be21, 0x59a81010, 0x82081500, 0x000000ff, | ||
| 3396 | 0x40180000, 0x0c01f001, 0x0010346e, 0x00103471, | ||
| 3397 | 0x00103475, 0x00103479, 0x82102500, 0xffffff00, | ||
| 3398 | 0x0401f014, 0x82102500, 0xffff00ff, 0x840811c0, | ||
| 3399 | 0x0401f010, 0x82102500, 0xff00ffff, 0x900811c0, | ||
| 3400 | 0x0401f00c, 0x82102500, 0x00ffffff, 0x9c0801c0, | ||
| 3401 | 0x80102540, 0x44101800, 0x42003000, 0xffffffff, | ||
| 3402 | 0x42002000, 0xffffffff, 0x800c1800, 0x0401f003, | ||
| 3403 | 0x40080000, 0x80102540, 0x81468800, 0x83442c80, | ||
| 3404 | 0x0000007f, 0x04021014, 0x4c080000, 0x4c0c0000, | ||
| 3405 | 0x4c180000, 0x4c1c0000, 0x0201f800, 0x00020245, | ||
| 3406 | 0x5c003800, 0x5c003000, 0x5c001800, 0x5c001000, | ||
| 3407 | 0x040207f2, 0x0201f800, 0x001049f3, 0x040207ef, | ||
| 3408 | 0x80183000, 0x801c3800, 0x59341202, 0x40180000, | ||
| 3409 | 0x0c01f7ce, 0x82100580, 0xffffffff, 0x04000002, | ||
| 3410 | 0x44101800, 0x42001800, 0x0010be21, 0x500c0000, | ||
| 3411 | 0x82000500, 0xffffff00, 0x801c0540, 0x44001800, | ||
| 3412 | 0x5c026800, 0x5c028800, 0x42000800, 0x00000020, | ||
| 3413 | 0x59a00407, 0x59a01207, 0x900811c0, 0x80081540, | ||
| 3414 | 0x59a00409, 0x59a01a09, 0x900c19c0, 0x800c1d40, | ||
| 3415 | 0x42000000, 0x0010be21, 0x0201f000, 0x00103a28, | ||
| 3416 | 0x59a28c06, 0x59a0020b, 0x8c000500, 0x0400000e, | ||
| 3417 | 0x59a01208, 0x59a00408, 0x82000500, 0x000000ff, | ||
| 3418 | 0x900001c0, 0x80081540, 0x41784000, 0x0201f800, | ||
| 3419 | 0x00104919, 0x04000008, 0x48034406, 0x0201f000, | ||
| 3420 | 0x00102310, 0x0201f800, 0x00020245, 0x02020000, | ||
| 3421 | 0x00102310, 0x0201f800, 0x00103a00, 0x04020005, | ||
| 3422 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3423 | 0x59a0020b, 0x8c000500, 0x04000005, 0x0201f800, | ||
| 3424 | 0x001049f3, 0x02020000, 0x00103ac4, 0x59a0020b, | ||
| 3425 | 0x8c000502, 0x04000019, 0x83440480, 0x000007f0, | ||
| 3426 | 0x04021016, 0x0201f800, 0x001049fc, 0x04020013, | ||
| 3427 | 0x497a5a04, 0x4a025c04, 0x00008000, 0x0201f800, | ||
| 3428 | 0x001090e6, 0x04020005, 0x4a034406, 0x00000003, | ||
| 3429 | 0x0201f000, 0x0010230c, 0x4a01d809, 0x001034f1, | ||
| 3430 | 0x1c01f000, 0x59a28c06, 0x0201f800, 0x00020245, | ||
| 3431 | 0x02020000, 0x00102310, 0x4200b000, 0x0000000a, | ||
| 3432 | 0x4134a000, 0x832e5c00, 0x00000002, 0x412ca800, | ||
| 3433 | 0x0201f800, 0x0010ab17, 0x832cac00, 0x00000006, | ||
| 3434 | 0x4054a000, 0x4200b000, 0x00000004, 0x0201f800, | ||
| 3435 | 0x0010ab28, 0x592c0802, 0x82040500, 0x00ff00ff, | ||
| 3436 | 0x900001c0, 0x82041500, 0xff00ff00, 0x80080540, | ||
| 3437 | 0x48025802, 0x592c0801, 0x82040500, 0x00ff00ff, | ||
| 3438 | 0x900001c0, 0x82041500, 0xff00ff00, 0x80080540, | ||
| 3439 | 0x48025801, 0x42000800, 0x0000000a, 0x59a00407, | ||
| 3440 | 0x59a01207, 0x900811c0, 0x80081540, 0x59a00409, | ||
| 3441 | 0x59a01a09, 0x900c19c0, 0x800c1d40, 0x412c0000, | ||
| 3442 | 0x0201f000, 0x00103a28, 0x496fc857, 0x496f4406, | ||
| 3443 | 0x0201f000, 0x001022c0, 0x59a28c06, 0x0201f800, | ||
| 3444 | 0x00020245, 0x02020000, 0x00102310, 0x836c0580, | ||
| 3445 | 0x00000003, 0x04000005, 0x4a034406, 0x00000007, | ||
| 3446 | 0x0201f000, 0x0010230c, 0x83340c00, 0x00000006, | ||
| 3447 | 0x59a0020b, 0x8c000500, 0x04000003, 0x83340c00, | ||
| 3448 | 0x00000008, 0x58040001, 0x48034409, 0x900001c0, | ||
| 3449 | 0x48034209, 0x50040000, 0x48034407, 0x900001c0, | ||
| 3450 | 0x48034207, 0x59340200, 0x48034406, 0x0201f000, | ||
| 3451 | 0x001022c0, 0x800409c0, 0x04000005, 0x4a034406, | ||
| 3452 | 0x00000001, 0x0201f000, 0x0010230c, 0x59a0220b, | ||
| 3453 | 0x8c102500, 0x0402002e, 0x8c102506, 0x04020006, | ||
| 3454 | 0x59a03208, 0x82180480, 0x00000003, 0x02021000, | ||
| 3455 | 0x00102310, 0x59a28c06, 0x0201f800, 0x00020245, | ||
| 3456 | 0x02020000, 0x00102310, 0x0201f800, 0x001049e7, | ||
| 3457 | 0x04000005, 0x4a034406, 0x00000009, 0x0201f000, | ||
| 3458 | 0x0010230c, 0x0201f800, 0x00103a00, 0x04020005, | ||
| 3459 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3460 | 0x59a0220b, 0x8c102506, 0x04000004, 0x59343002, | ||
| 3461 | 0x82183500, 0x00ffffff, 0x497a5a04, 0x4a025c04, | ||
| 3462 | 0x00008000, 0x0201f800, 0x001090a8, 0x04020005, | ||
| 3463 | 0x4a034406, 0x00000003, 0x0201f000, 0x0010230c, | ||
| 3464 | 0x4a01d809, 0x001035d1, 0x1c01f000, 0x59a28c06, | ||
| 3465 | 0x0201f800, 0x00020245, 0x02020000, 0x00102310, | ||
| 3466 | 0x0201f800, 0x001049e7, 0x04000005, 0x4a034406, | ||
| 3467 | 0x00000009, 0x0201f000, 0x0010230c, 0x0201f800, | ||
| 3468 | 0x00103a00, 0x04020005, 0x4a034406, 0x00000002, | ||
| 3469 | 0x0201f000, 0x0010230c, 0x497a5a04, 0x4a025c04, | ||
| 3470 | 0x00008000, 0x0201f800, 0x00103a00, 0x04020005, | ||
| 3471 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3472 | 0x592e5800, 0x0201f800, 0x001090bd, 0x04020005, | ||
| 3473 | 0x4a034406, 0x00000003, 0x0201f000, 0x0010230c, | ||
| 3474 | 0x4a01d809, 0x001035a3, 0x1c01f000, 0x592c2805, | ||
| 3475 | 0x82140d80, 0x01000000, 0x04020005, 0x4a034406, | ||
| 3476 | 0x00000004, 0x0201f000, 0x0010230c, 0x42000800, | ||
| 3477 | 0x00000008, 0x59a00207, 0x59a01407, 0x900001c0, | ||
| 3478 | 0x80081540, 0x59a00209, 0x59a01c09, 0x900001c0, | ||
| 3479 | 0x800c1d40, 0x832c0400, 0x00000005, 0x0201f800, | ||
| 3480 | 0x00103a28, 0x8c142d00, 0x04000003, 0x4a01d809, | ||
| 3481 | 0x001035be, 0x1c01f000, 0x4031d800, 0x58ef400b, | ||
| 3482 | 0x58ee580e, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 3483 | 0x02000000, 0x00102304, 0x812e59c0, 0x02000800, | ||
| 3484 | 0x001005d8, 0x42000800, 0x00000008, 0x832c0400, | ||
| 3485 | 0x00000005, 0x58ec1007, 0x58ec1808, 0x0201f000, | ||
| 3486 | 0x00103a28, 0x592c0005, 0x82000580, 0x01000000, | ||
| 3487 | 0x04020005, 0x4a034406, 0x00000004, 0x0201f000, | ||
| 3488 | 0x0010230c, 0x59a00207, 0x59a01407, 0x900001c0, | ||
| 3489 | 0x80081540, 0x59a00209, 0x59a01c09, 0x900001c0, | ||
| 3490 | 0x800c1d40, 0x42000800, 0x00000006, 0x832c0400, | ||
| 3491 | 0x00000006, 0x0201f000, 0x00103a28, 0x59a00a0a, | ||
| 3492 | 0x800409c0, 0x02000000, 0x00102310, 0x82040480, | ||
| 3493 | 0x000000e7, 0x04001003, 0x42000800, 0x000000e6, | ||
| 3494 | 0x59a00207, 0x59a01407, 0x900001c0, 0x80081540, | ||
| 3495 | 0x59a00209, 0x59a01c09, 0x900001c0, 0x800c1d40, | ||
| 3496 | 0x83880400, 0x00000000, 0x0201f800, 0x00103a28, | ||
| 3497 | 0x4a01d809, 0x001035ff, 0x1c01f000, 0x4031d800, | ||
| 3498 | 0x58ef400b, 0x58ec0002, 0x82000580, 0x00000200, | ||
| 3499 | 0x02000000, 0x00102304, 0x58ef400b, 0x59a0020b, | ||
| 3500 | 0x8c000500, 0x04000008, 0x83880400, 0x00000000, | ||
| 3501 | 0x4803c840, 0x4a03c842, 0x00000006, 0x04011000, | ||
| 3502 | 0x497b8885, 0x4a034207, 0x000000e6, 0x0201f000, | ||
| 3503 | 0x001022c0, 0x800409c0, 0x04000005, 0x4a034406, | ||
| 3504 | 0x00000001, 0x0201f000, 0x0010230c, 0x0401fbe5, | ||
| 3505 | 0x04020005, 0x4a034406, 0x00000002, 0x0201f000, | ||
| 3506 | 0x0010230c, 0x497a5a04, 0x4a025c04, 0x00008000, | ||
| 3507 | 0x59a00406, 0x800001c0, 0x02000000, 0x00102310, | ||
| 3508 | 0x82001580, 0x000000ff, 0x04000005, 0x82001480, | ||
| 3509 | 0x00000004, 0x02021000, 0x00102310, 0x40001000, | ||
| 3510 | 0x0201f800, 0x00101fbf, 0x04020005, 0x4a034406, | ||
| 3511 | 0x00000003, 0x0201f000, 0x0010230c, 0x4a01d809, | ||
| 3512 | 0x0010363a, 0x1c01f000, 0x592c0005, 0x82000580, | ||
| 3513 | 0x01000000, 0x02020000, 0x001022c0, 0x4a034406, | ||
| 3514 | 0x00000004, 0x0201f000, 0x0010230c, 0x59a01406, | ||
| 3515 | 0x8c081508, 0x04020007, 0x800409c0, 0x04000005, | ||
| 3516 | 0x4a034406, 0x00000001, 0x0201f000, 0x0010230c, | ||
| 3517 | 0x59a01c07, 0x820c0480, 0x00001000, 0x02021000, | ||
| 3518 | 0x00102310, 0x497b2804, 0x497b2805, 0x497b281c, | ||
| 3519 | 0x497b281d, 0x497b281f, 0x497b2820, 0x497b2822, | ||
| 3520 | 0x497b2823, 0x80000580, 0x0201f800, 0x001015fe, | ||
| 3521 | 0x59a80805, 0x8c081500, 0x04000004, 0x82040d40, | ||
| 3522 | 0x00000011, 0x0401f004, 0x8c081506, 0x04000002, | ||
| 3523 | 0x84040d42, 0x84040d0a, 0x48075005, 0x4202d800, | ||
| 3524 | 0x00000001, 0x82081500, 0x000000e0, 0x8008010a, | ||
| 3525 | 0x0c020036, 0x0201f800, 0x0010513b, 0x04020009, | ||
| 3526 | 0x4a035033, 0x00000001, 0x0201f800, 0x001050a2, | ||
| 3527 | 0x0401f01f, 0x4a035033, 0x00000000, 0x0401f7fb, | ||
| 3528 | 0x497b5032, 0x0201f800, 0x00104142, 0x0201f800, | ||
| 3529 | 0x00106c55, 0x0201f800, 0x00106ede, 0x0201f800, | ||
| 3530 | 0x00106c4b, 0x59a00a07, 0x480788a7, 0x59c400a3, | ||
| 3531 | 0x82000500, 0xfeffffff, 0x82000540, 0x80018000, | ||
| 3532 | 0x40000800, 0x84040d20, 0x480388a3, 0x480788a3, | ||
| 3533 | 0x497b504e, 0x42000800, 0x0000002d, 0x42001000, | ||
| 3534 | 0x001041bc, 0x0201f800, 0x00105f69, 0x59a00407, | ||
| 3535 | 0x800000c2, 0x800008c4, 0x8005d400, 0x42000000, | ||
| 3536 | 0x0000ffff, 0x0201f800, 0x0010513b, 0x04000003, | ||
| 3537 | 0x59a00207, 0x80000110, 0x0201f800, 0x00103afc, | ||
| 3538 | 0x0201f000, 0x001022c0, 0x0010366d, 0x00103670, | ||
| 3539 | 0x00103678, 0x00102310, 0x00103675, 0x00102310, | ||
| 3540 | 0x00102310, 0x00102310, 0x836c0580, 0x00000003, | ||
| 3541 | 0x04000005, 0x4a034406, 0x00000007, 0x0201f000, | ||
| 3542 | 0x0010230c, 0x59a03c06, 0x59a00407, 0x59a04a07, | ||
| 3543 | 0x902449c0, 0x80244d40, 0x59a00409, 0x59a05209, | ||
| 3544 | 0x902851c0, 0x80285540, 0x0401fb46, 0x04020005, | ||
| 3545 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3546 | 0x417a8800, 0x41783000, 0x497b4001, 0x497b4004, | ||
| 3547 | 0x832c4400, 0x00000005, 0x48234002, 0x8c1c3d04, | ||
| 3548 | 0x04020078, 0x0201f800, 0x00020245, 0x0402002a, | ||
| 3549 | 0x0201f800, 0x001049e7, 0x04000004, 0x0201f800, | ||
| 3550 | 0x001048e3, 0x04020024, 0x8c1c3d00, 0x04000008, | ||
| 3551 | 0x59340009, 0x44004000, 0x59340008, 0x80204000, | ||
| 3552 | 0x44004000, 0x80204000, 0x0401f007, 0x59340007, | ||
| 3553 | 0x44004000, 0x59340006, 0x80204000, 0x44004000, | ||
| 3554 | 0x80204000, 0x83440580, 0x000007fe, 0x0400000d, | ||
| 3555 | 0x83440580, 0x000007fc, 0x0400000a, 0x0201f800, | ||
| 3556 | 0x001049f3, 0x04000003, 0x85468d5e, 0x0401f005, | ||
| 3557 | 0x0201f800, 0x00104838, 0x04020002, 0x85468d5e, | ||
| 3558 | 0x45444000, 0x85468d1e, 0x80204000, 0x82183400, | ||
| 3559 | 0x00000003, 0x81468800, 0x83440480, 0x000007f0, | ||
| 3560 | 0x0400100e, 0x8c1c3d06, 0x04000010, 0x83440580, | ||
| 3561 | 0x000007f0, 0x04020004, 0x42028800, 0x000007fe, | ||
| 3562 | 0x0401f006, 0x83440580, 0x000007ff, 0x04020007, | ||
| 3563 | 0x42028800, 0x000007fc, 0x82180580, 0x0000000f, | ||
| 3564 | 0x0400000b, 0x0401f7c0, 0x801831c0, 0x04020006, | ||
| 3565 | 0x59a00801, 0x800408c4, 0x48074406, 0x0201f000, | ||
| 3566 | 0x001022c0, 0x4a034004, 0x00000001, 0x49474000, | ||
| 3567 | 0x59a00001, 0x80180400, 0x48034001, 0x481f4003, | ||
| 3568 | 0x4a01d801, 0x00000000, 0x4819d804, 0x59a00002, | ||
| 3569 | 0x4801d803, 0x4825d807, 0x4829d808, 0x4000a800, | ||
| 3570 | 0x4000a000, 0x4018b000, 0x0201f800, 0x0010ab17, | ||
| 3571 | 0x40ec1000, 0x0201f800, 0x00100858, 0x4a01d809, | ||
| 3572 | 0x0010372a, 0x1c01f000, 0x4031d800, 0x58ef400b, | ||
| 3573 | 0x58ec0002, 0x82000580, 0x00000200, 0x02000000, | ||
| 3574 | 0x00102304, 0x59a00004, 0x80000540, 0x04020008, | ||
| 3575 | 0x59a28800, 0x59a04002, 0x59a03803, 0x41783000, | ||
| 3576 | 0x58ec4807, 0x58ec5008, 0x0401f78f, 0x59a00801, | ||
| 3577 | 0x800408c4, 0x48074406, 0x0201f000, 0x001022c0, | ||
| 3578 | 0x0201f800, 0x00020245, 0x0402002f, 0x0201f800, | ||
| 3579 | 0x001049e7, 0x04000004, 0x0201f800, 0x001048e3, | ||
| 3580 | 0x04020029, 0x83440580, 0x000007fe, 0x04000011, | ||
| 3581 | 0x83440580, 0x000007fc, 0x0400000e, 0x0201f800, | ||
| 3582 | 0x001049f3, 0x04000005, 0x59340403, 0x8400055e, | ||
| 3583 | 0x48026c03, 0x0401f007, 0x0201f800, 0x00104838, | ||
| 3584 | 0x04020004, 0x59340403, 0x8400055e, 0x48026c03, | ||
| 3585 | 0x4134a000, 0x4020a800, 0x4200b000, 0x00000006, | ||
| 3586 | 0x0201f800, 0x0010ab17, 0x59340007, 0x4400a800, | ||
| 3587 | 0x59340006, 0x4800a801, 0x59340009, 0x4800a802, | ||
| 3588 | 0x59340008, 0x4800a803, 0x59340403, 0x8400051e, | ||
| 3589 | 0x48026c03, 0x82204400, 0x0000000a, 0x82183400, | ||
| 3590 | 0x0000000a, 0x81468800, 0x83440480, 0x000007f0, | ||
| 3591 | 0x0400100e, 0x8c1c3d06, 0x04000010, 0x83440580, | ||
| 3592 | 0x000007f0, 0x04020004, 0x42028800, 0x000007fe, | ||
| 3593 | 0x0401f006, 0x83440580, 0x000007ff, 0x04020007, | ||
| 3594 | 0x42028800, 0x000007fc, 0x82180580, 0x0000000a, | ||
| 3595 | 0x0400000b, 0x0401f7bb, 0x801831c0, 0x04020006, | ||
| 3596 | 0x59a00801, 0x800408c4, 0x48074406, 0x0201f000, | ||
| 3597 | 0x001022c0, 0x4a034004, 0x00000001, 0x49474000, | ||
| 3598 | 0x59a00001, 0x80180400, 0x48034001, 0x481f4003, | ||
| 3599 | 0x4a01d801, 0x00000000, 0x4819d804, 0x59a00002, | ||
| 3600 | 0x4801d803, 0x4825d807, 0x4829d808, 0x40ec1000, | ||
| 3601 | 0x0201f800, 0x00100858, 0x4a01d809, 0x001037a1, | ||
| 3602 | 0x1c01f000, 0x4031d800, 0x58ef400b, 0x58ec0002, | ||
| 3603 | 0x82000580, 0x00000200, 0x02000000, 0x00102304, | ||
| 3604 | 0x59a00004, 0x80000540, 0x04020008, 0x59a28800, | ||
| 3605 | 0x59a04002, 0x59a03803, 0x41783000, 0x58ec4807, | ||
| 3606 | 0x58ec5008, 0x0401f78f, 0x59a00801, 0x800408c4, | ||
| 3607 | 0x48074406, 0x0201f000, 0x001022c0, 0x42002800, | ||
| 3608 | 0x0000007e, 0x59a00c06, 0x59a01207, 0x59a01c07, | ||
| 3609 | 0x59a02209, 0x82040500, 0x0000ff00, 0x840001c0, | ||
| 3610 | 0x82003480, 0x00000020, 0x02001000, 0x00102310, | ||
| 3611 | 0x80140480, 0x02001000, 0x00102310, 0x82040500, | ||
| 3612 | 0x000000ff, 0x82003480, 0x00000020, 0x02001000, | ||
| 3613 | 0x00102310, 0x80140480, 0x02001000, 0x00102310, | ||
| 3614 | 0x82080500, 0x0000ff00, 0x840001c0, 0x82003480, | ||
| 3615 | 0x00000020, 0x02001000, 0x00102310, 0x80140480, | ||
| 3616 | 0x02001000, 0x00102310, 0x82080500, 0x000000ff, | ||
| 3617 | 0x82003480, 0x00000020, 0x02001000, 0x00102310, | ||
| 3618 | 0x80140480, 0x02001000, 0x00102310, 0x820c0500, | ||
| 3619 | 0x0000ff00, 0x840001c0, 0x82003480, 0x00000020, | ||
| 3620 | 0x02001000, 0x00102310, 0x80140480, 0x02001000, | ||
| 3621 | 0x00102310, 0x820c0500, 0x000000ff, 0x82003480, | ||
| 3622 | 0x00000020, 0x02001000, 0x00102310, 0x80140480, | ||
| 3623 | 0x02001000, 0x00102310, 0x82100500, 0x0000ff00, | ||
| 3624 | 0x840001c0, 0x82003480, 0x00000020, 0x02001000, | ||
| 3625 | 0x00102310, 0x80140480, 0x02001000, 0x00102310, | ||
| 3626 | 0x82100500, 0x000000ff, 0x82003480, 0x00000020, | ||
| 3627 | 0x02001000, 0x00102310, 0x80140480, 0x02001000, | ||
| 3628 | 0x00102310, 0x900401c0, 0x80080d40, 0x900c01c0, | ||
| 3629 | 0x80101d40, 0x83a83400, 0x0000003a, 0x44043000, | ||
| 3630 | 0x80183000, 0x440c3000, 0x0201f000, 0x001022c0, | ||
| 3631 | 0x0401f9ec, 0x04020005, 0x4a034406, 0x00000002, | ||
| 3632 | 0x0201f000, 0x0010230c, 0x42000800, 0x0000000c, | ||
| 3633 | 0x0401f853, 0x4a01d809, 0x00103820, 0x1c01f000, | ||
| 3634 | 0x4031d800, 0x58ee580d, 0x58ef400b, 0x58ec0002, | ||
| 3635 | 0x82000580, 0x00000200, 0x02000000, 0x00102304, | ||
| 3636 | 0x832ca400, 0x00000004, 0x4200b000, 0x0000000c, | ||
| 3637 | 0x40c8a800, 0x0201f800, 0x0010ab17, 0x58c80200, | ||
| 3638 | 0x80000540, 0x04000034, 0x58c80400, 0x82000500, | ||
| 3639 | 0xfffffffb, 0x04020030, 0x58c80401, 0x80000540, | ||
| 3640 | 0x0400002d, 0x82000480, 0x0000ff01, 0x0402102a, | ||
| 3641 | 0x58c80202, 0x82000480, 0x0000005c, 0x04001026, | ||
| 3642 | 0x0201f800, 0x001063a3, 0x58c80c08, 0x58c80204, | ||
| 3643 | 0x80040480, 0x04001020, 0x58c80204, 0x82000480, | ||
| 3644 | 0x00000005, 0x0402101c, 0x58c80205, 0x58c80c08, | ||
| 3645 | 0x80040902, 0x80040480, 0x04001017, 0x58c80c08, | ||
| 3646 | 0x0201f800, 0x001062f1, 0x0400001b, 0x0201f800, | ||
| 3647 | 0x001061b9, 0x04020012, 0x4979940b, 0x59c408a3, | ||
| 3648 | 0x82040d40, 0x00000002, 0x480788a3, 0x4a038830, | ||
| 3649 | 0x00000001, 0x4a038832, 0x01ffffff, 0x58c80202, | ||
| 3650 | 0x48030804, 0x0201f800, 0x0010619b, 0x0201f000, | ||
| 3651 | 0x001022c0, 0x0201f000, 0x00102310, 0x0201f800, | ||
| 3652 | 0x001063f5, 0x0201f800, 0x00106402, 0x0201f800, | ||
| 3653 | 0x001062e4, 0x0201f000, 0x0010230c, 0x4c000000, | ||
| 3654 | 0x59a01207, 0x59a00407, 0x900811c0, 0x80081540, | ||
| 3655 | 0x59a01a09, 0x59a00409, 0x900c19c0, 0x800c1d40, | ||
| 3656 | 0x5c000000, 0x0401f1ac, 0x59840000, 0x82000580, | ||
| 3657 | 0x00000000, 0x04000054, 0x59840002, 0x8c000504, | ||
| 3658 | 0x04000051, 0x84000546, 0x48030802, 0x0201f800, | ||
| 3659 | 0x001062e4, 0x59c408a3, 0x82040d00, 0xfffffffd, | ||
| 3660 | 0x480788a3, 0x4c5c0000, 0x4200b800, 0x0010ac00, | ||
| 3661 | 0x505e6800, 0x813669c0, 0x04000008, 0x5936600e, | ||
| 3662 | 0x813261c0, 0x04000005, 0x0201f800, 0x001062d5, | ||
| 3663 | 0x02000800, 0x001064ad, 0x805cb800, 0x825c0580, | ||
| 3664 | 0x0010b3f0, 0x040207f3, 0x59866003, 0x813261c0, | ||
| 3665 | 0x0400000b, 0x59300406, 0x82000580, 0x00000009, | ||
| 3666 | 0x02020800, 0x001005d8, 0x5930b800, 0x0201f800, | ||
| 3667 | 0x001062c1, 0x405e6000, 0x0401f7f5, 0x497b0803, | ||
| 3668 | 0x4200b800, 0x0010b51b, 0x505e6000, 0x813261c0, | ||
| 3669 | 0x04000011, 0x59300406, 0x82000580, 0x00000009, | ||
| 3670 | 0x0402000d, 0x59300203, 0x82000580, 0x00000004, | ||
| 3671 | 0x04020009, 0x59326809, 0x813669c0, 0x02020800, | ||
| 3672 | 0x001005d8, 0x0201f800, 0x00100e99, 0x0201f800, | ||
| 3673 | 0x001062c1, 0x4578b800, 0x805cb800, 0x825c0580, | ||
| 3674 | 0x0010b523, 0x040207e9, 0x42000800, 0x0010b519, | ||
| 3675 | 0x49780801, 0x49780800, 0x59a80069, 0x82000400, | ||
| 3676 | 0x00000007, 0x48035069, 0x0201f800, 0x001063f5, | ||
| 3677 | 0x0201f800, 0x00106402, 0x5c00b800, 0x0201f800, | ||
| 3678 | 0x001061b4, 0x0201f000, 0x001022c0, 0x836c0580, | ||
| 3679 | 0x00000003, 0x04000005, 0x4a034406, 0x00000007, | ||
| 3680 | 0x0201f000, 0x0010230c, 0x59a00407, 0x59a02207, | ||
| 3681 | 0x901021c0, 0x80102540, 0x59a00409, 0x59a02a09, | ||
| 3682 | 0x901429c0, 0x80142d40, 0x0401f91e, 0x04020005, | ||
| 3683 | 0x4a034406, 0x00000002, 0x0201f000, 0x0010230c, | ||
| 3684 | 0x417a8800, 0x41781800, 0x497b4001, 0x497b4003, | ||
| 3685 | 0x832c3400, 0x00000004, 0x481b4002, 0x41440000, | ||
| 3686 | 0x81ac0400, 0x50026800, 0x813669c0, 0x0400000b, | ||
| 3687 | 0x0201f800, 0x001049e7, 0x04020008, 0x59340002, | ||
| 3688 | 0x48003000, 0x49443001, 0x82183400, 0x00000002, | ||
| 3689 | 0x820c1c00, 0x00000002, 0x81468800, 0x83440480, | ||
| 3690 | 0x00000800, 0x04000005, 0x820c0480, 0x00000010, | ||
| 3691 | 0x0402100b, 0x0401f7ea, 0x800c19c0, 0x04020006, | ||
| 3692 | 0x59a00801, 0x80040902, 0x48074406, 0x0201f000, | ||
| 3693 | 0x001022c0, 0x4a034003, 0x00000001, 0x49474000, | ||
| 3694 | 0x59a00001, 0x800c0400, 0x48034001, 0x40ec1000, | ||
| 3695 | 0x4a001001, 0x00000000, 0x480c1004, 0x59a00002, | ||
| 3696 | 0x48001003, 0x48101007, 0x48141008, 0x0201f800, | ||
| 3697 | 0x00100858, 0x4a01d809, 0x00103920, 0x1c01f000, | ||
| 3698 | 0x4031d800, 0x58ef400b, 0x58ec0002, 0x82000580, | ||
| 3699 | 0x00000200, 0x02000000, 0x00102304, 0x59a00003, | ||
| 3700 | 0x80000540, 0x04020008, 0x59a28800, 0x59a03002, | ||
| 3701 | 0x41781800, 0x40ec1000, 0x58082007, 0x58082808, | ||
| 3702 | 0x0401f7bf, 0x59a00801, 0x80040902, 0x48074406, | ||
| 3703 | 0x0201f000, 0x001022c0, 0x800409c0, 0x04000005, | ||
| 3704 | 0x4a034406, 0x00000001, 0x0201f000, 0x0010230c, | ||
| 3705 | 0x59a80026, 0x8c00050a, 0x04020007, 0x8c000506, | ||
| 3706 | 0x04020005, 0x4a034406, 0x00000016, 0x0201f000, | ||
| 3707 | 0x0010230c, 0x0401f8bb, 0x04020005, 0x4a034406, | ||
| 3708 | 0x00000002, 0x0201f000, 0x0010230c, 0x59a00c06, | ||
| 3709 | 0x80040902, 0x59a00407, 0x59a01207, 0x900811c0, | ||
| 3710 | 0x80081540, 0x59a00409, 0x59a01a09, 0x900c19c0, | ||
| 3711 | 0x800c1d40, 0x832c0400, 0x00000005, 0x0401f8ce, | ||
| 3712 | 0x4a01d809, 0x0010395b, 0x1c01f000, 0x4031d800, | ||
| 3713 | 0x58ef400b, 0x58ee580d, 0x58ec0002, 0x82000580, | ||
| 3714 | 0x00000200, 0x02000000, 0x00102304, 0x592c0009, | ||
| 3715 | 0x0201f800, 0x00105c9a, 0x02000800, 0x001045a6, | ||
| 3716 | 0x02020000, 0x00102310, 0x49474001, 0x481a6802, | ||
| 3717 | 0x592c000a, 0x82001d80, 0x70000000, 0x04020007, | ||
| 3718 | 0x0401f890, 0x04020011, 0x4a034406, 0x00000002, | ||
| 3719 | 0x0201f000, 0x0010230c, 0x82001d80, 0x72000000, | ||
| 3720 | 0x02020000, 0x00102310, 0x0401f886, 0x04020885, | ||
| 3721 | 0x04020884, 0x04020005, 0x4a034406, 0x00000002, | ||
| 3722 | 0x0201f000, 0x0010230c, 0x58ee580d, 0x4a025c04, | ||
| 3723 | 0x00008000, 0x497a5a04, 0x592c3208, 0x80183102, | ||
| 3724 | 0x592c1801, 0x4a001805, 0x01000000, 0x0201f800, | ||
| 3725 | 0x001090d1, 0x04020005, 0x4a034406, 0x00000003, | ||
| 3726 | 0x0201f000, 0x0010230c, 0x4a01d809, 0x00103995, | ||
| 3727 | 0x1c01f000, 0x592c4000, 0x592c0005, 0x82000580, | ||
| 3728 | 0x01000000, 0x04020005, 0x4a034406, 0x00000004, | ||
| 3729 | 0x0201f000, 0x0010230c, 0x832c3c00, 0x00000005, | ||
| 3730 | 0x401ca000, 0x401ca800, 0x5820280a, 0x4200b000, | ||
| 3731 | 0x00000002, 0x82143580, 0x70000000, 0x04000003, | ||
| 3732 | 0x4200b000, 0x0000000f, 0x0201f800, 0x0010ab28, | ||
| 3733 | 0x401c0000, 0x58201006, 0x58201807, 0x58202205, | ||
| 3734 | 0x80102102, 0x82143580, 0x70000000, 0x04020008, | ||
| 3735 | 0x82103480, 0x00000002, 0x02001000, 0x00102310, | ||
| 3736 | 0x42000800, 0x00000002, 0x0401f06e, 0x82143580, | ||
| 3737 | 0x72000000, 0x02020000, 0x00102310, 0x82103480, | ||
| 3738 | 0x0000002a, 0x02001000, 0x00102310, 0x42000800, | ||
| 3739 | 0x0000000f, 0x0401f863, 0x4a01d809, 0x001039c9, | ||
| 3740 | 0x1c01f000, 0x4031d800, 0x58ef400b, 0x58ee580e, | ||
| 3741 | 0x58ec0002, 0x82000580, 0x00000200, 0x02000000, | ||
| 3742 | 0x00102304, 0x592e5800, 0x832c0c00, 0x00000005, | ||
| 3743 | 0x4004a000, 0x4004a800, 0x4200b000, 0x0000000f, | ||
| 3744 | 0x0201f800, 0x0010ab28, 0x40ec1000, 0x4a001001, | ||
| 3745 | 0x00000000, 0x4a001004, 0x0000000f, 0x48041003, | ||
| 3746 | 0x0201f800, 0x00100858, 0x4a01d809, 0x001039e5, | ||
| 3747 | 0x1c01f000, 0x4031d800, 0x58ef400b, 0x58ee580e, | ||
| 3748 | 0x58ec0002, 0x82000580, 0x00000200, 0x02000000, | ||
| 3749 | 0x00102304, 0x832c0c00, 0x00000005, 0x4004a000, | ||
| 3750 | 0x4004a800, 0x4200b000, 0x0000000c, 0x0201f800, | ||
| 3751 | 0x0010ab28, 0x40ec1000, 0x4a001001, 0x00000000, | ||
| 3752 | 0x4a001004, 0x0000000c, 0x48041003, 0x0201f800, | ||
| 3753 | 0x00100858, 0x4a01d809, 0x001022b9, 0x1c01f000, | ||
| 3754 | 0x0201f800, 0x001007e4, 0x04000010, 0x497a5800, | ||
| 3755 | 0x58ec000d, 0x80000540, 0x04020004, 0x492dd80d, | ||
| 3756 | 0x492dd80e, 0x0401f007, 0x58ec000e, 0x48025800, | ||
| 3757 | 0x82000400, 0x00000001, 0x452c0000, 0x492dd80e, | ||
| 3758 | 0x832c0400, 0x00000004, 0x492fc857, 0x4803c857, | ||
| 3759 | 0x1c01f000, 0x4d2c0000, 0x48efc857, 0x58ec400d, | ||
| 3760 | 0x4823c857, 0x802041c0, 0x04000007, 0x40225800, | ||
| 3761 | 0x592c4001, 0x497a5801, 0x0201f800, 0x001007f4, | ||
| 3762 | 0x0401f7f8, 0x4979d80d, 0x4979d80e, 0x5c025800, | ||
| 3763 | 0x1c01f000, 0x42003000, 0x00000001, 0x0401f003, | ||
| 3764 | 0x42003000, 0x00000000, 0x4803c857, 0x4807c857, | ||
| 3765 | 0x480bc857, 0x480fc857, 0x481bc857, 0x48efc857, | ||
| 3766 | 0x4819d801, 0x800409c0, 0x02000800, 0x001005d8, | ||
| 3767 | 0x4805d804, 0x4801d803, 0x4809d807, 0x480dd808, | ||
| 3768 | 0x40ec1000, 0x0201f800, 0x00100858, 0x4a01d809, | ||
| 3769 | 0x001022b9, 0x1c01f000, 0x80002d80, 0x480bc857, | ||
| 3770 | 0x480fc857, 0x4813c857, 0x4817c857, 0x4d2c0000, | ||
| 3771 | 0x4da00000, 0x42034000, 0x0010b4a4, 0x59a00017, | ||
| 3772 | 0x800001c0, 0x04020013, 0x04006012, 0x480bc020, | ||
| 3773 | 0x480fc021, 0x4813c022, 0x4817c023, 0x900811c0, | ||
| 3774 | 0x82081540, 0x00000012, 0x480bc011, 0x59e00017, | ||
| 3775 | 0x8c000508, 0x04020004, 0x4203e000, 0x30000001, | ||
| 3776 | 0x0401f053, 0x4a03c017, 0x00000002, 0x0401f7fb, | ||
| 3777 | 0x4c040000, 0x4c1c0000, 0x80000800, 0x48074017, | ||
| 3778 | 0x59a0381a, 0x481fc857, 0x801c39c0, 0x04020027, | ||
| 3779 | 0x82000480, 0x0000000a, 0x04021010, 0x59a00018, | ||
| 3780 | 0x80000000, 0x48034018, 0x59a00219, 0x82000400, | ||
| 3781 | 0x00000002, 0x82000c80, 0x00000013, 0x48034219, | ||
| 3782 | 0x04001003, 0x497b4219, 0x41780000, 0x59a03816, | ||
| 3783 | 0x801c3c00, 0x0401f030, 0x4803c856, 0x0201f800, | ||
| 3784 | 0x001007e4, 0x04000007, 0x492f401a, 0x492f401b, | ||
| 3785 | 0x412c3800, 0x497b421c, 0x497a5813, 0x0401f026, | ||
| 3786 | 0x59880051, 0x80000000, 0x48031051, 0x59a00017, | ||
| 3787 | 0x80000040, 0x48034017, 0x59a00219, 0x59a03816, | ||
| 3788 | 0x801c3c00, 0x0401f01c, 0x59a0021c, 0x82000400, | ||
| 3789 | 0x00000002, 0x82000c80, 0x00000012, 0x04021004, | ||
| 3790 | 0x4803421c, 0x801c3c00, 0x0401f013, 0x0201f800, | ||
| 3791 | 0x001007e4, 0x0402000b, 0x59880051, 0x80000000, | ||
| 3792 | 0x48031051, 0x59a00017, 0x80000040, 0x48034017, | ||
| 3793 | 0x4803c856, 0x59a0021c, 0x801c3c00, 0x0401f006, | ||
| 3794 | 0x492f401a, 0x492c3813, 0x412c3800, 0x497b421c, | ||
| 3795 | 0x497a5813, 0x48083c00, 0x480c3a00, 0x48103c01, | ||
| 3796 | 0x48143a01, 0x5c003800, 0x5c000800, 0x5c034000, | ||
| 3797 | 0x5c025800, 0x1c01f000, 0x480fc857, 0x4813c857, | ||
| 3798 | 0x481bc857, 0x42000000, 0x0010b813, 0x0201f800, | ||
| 3799 | 0x0010aa47, 0x801800d0, 0x40002800, 0x42001000, | ||
| 3800 | 0x00008014, 0x0401f786, 0x4c000000, 0x599c0017, | ||
| 3801 | 0x8c000512, 0x5c000000, 0x1c01f000, 0x4c000000, | ||
| 3802 | 0x599c0018, 0x8c00050e, 0x5c000000, 0x1c01f000, | ||
| 3803 | 0x59a80821, 0x800409c0, 0x04000005, 0x4a034406, | ||
| 3804 | 0x00000001, 0x0201f000, 0x0010230c, 0x836c0580, | ||
| 3805 | 0x00000003, 0x04000005, 0x4a034406, 0x00000007, | ||
| 3806 | 0x0201f000, 0x0010230c, 0x599c0017, 0x8c00050a, | ||
| 3807 | 0x04000005, 0x4a034406, 0x00000008, 0x0201f000, | ||
| 3808 | 0x0010230c, 0x59340405, 0x8c000508, 0x04020004, | ||
| 3809 | 0x8c00050a, 0x02020000, 0x001034db, 0x497a5a04, | ||
| 3810 | 0x497a5805, 0x4a025c04, 0x00008000, 0x0201f800, | ||
| 3811 | 0x00109176, 0x04020005, 0x4a034406, 0x00000003, | ||
| 3812 | 0x0201f000, 0x0010230c, 0x4a01d809, 0x00103aed, | ||
| 3813 | 0x1c01f000, 0x592c0005, 0x82000580, 0x01000000, | ||
| 3814 | 0x04020005, 0x4a034406, 0x00000004, 0x0201f000, | ||
| 3815 | 0x0010230c, 0x59a28c06, 0x0201f800, 0x00020245, | ||
| 3816 | 0x02020000, 0x00102310, 0x0201f000, 0x001034db, | ||
| 3817 | 0x82001580, 0x0000ffff, 0x04000009, 0x0201f800, | ||
| 3818 | 0x00105c9a, 0x02000800, 0x00020245, 0x0402000c, | ||
| 3819 | 0x0201f800, 0x00105fae, 0x0401f009, 0x42028800, | ||
| 3820 | 0x000007ef, 0x0201f800, 0x00020245, 0x02000800, | ||
| 3821 | 0x00105fae, 0x81468840, 0x040217fb, 0x1c01f000, | ||
| 3822 | 0x4803c856, 0x4c0c0000, 0x4d340000, 0x4d440000, | ||
| 3823 | 0x42028800, 0x000007fe, 0x0201f800, 0x00020245, | ||
| 3824 | 0x04020009, 0x5934180a, 0x820c1d00, 0x00000001, | ||
| 3825 | 0x820c1d80, 0x00000001, 0x42001000, 0x0000801b, | ||
| 3826 | 0x0401ff1e, 0x5c028800, 0x5c026800, 0x5c001800, | ||
| 3827 | 0x1c01f000, 0x599c0017, 0x8c000508, 0x1c01f000, | ||
| 3828 | 0x48efc857, 0x04011000, 0x48efc840, 0x4a03c842, | ||
| 3829 | 0x00000011, 0x40000000, 0x040117ff, 0x4a01d80f, | ||
| 3830 | 0xbeefbeef, 0x1c01f000, 0x497b4000, 0x497b4001, | ||
| 3831 | 0x497b4002, 0x497b4003, 0x497b4004, 0x1c01f000, | ||
| 3832 | 0x59c400a4, 0x4c580000, 0x4c500000, 0x4c540000, | ||
| 3833 | 0x82000500, 0x0000000f, 0x82000480, 0x00000007, | ||
| 3834 | 0x0400100a, 0x82006c80, 0x00000006, 0x02021800, | ||
| 3835 | 0x001005d8, 0x0c01f807, 0x5c00a800, 0x5c00a000, | ||
| 3836 | 0x5c00b000, 0x1c01f000, 0x0401f906, 0x0401f7fb, | ||
| 3837 | 0x00103b51, 0x00103b57, 0x00103b7c, 0x00103b9e, | ||
| 3838 | 0x00103c59, 0x59c40806, 0x8c040d00, 0x04020003, | ||
| 3839 | 0x84040d40, 0x48078806, 0x1c01f000, 0x59c40005, | ||
| 3840 | 0x8c000534, 0x02020000, 0x0010429e, 0x4a038805, | ||
| 3841 | 0xffffffff, 0x42006000, 0x00020000, 0x0201f800, | ||
| 3842 | 0x00104282, 0x59a80015, 0x82000500, 0xfffffffa, | ||
| 3843 | 0x84000542, 0x48035015, 0x497b5026, 0x42000800, | ||
| 3844 | 0x0010be21, 0x45780800, 0x497b5013, 0x42006000, | ||
| 3845 | 0xffefffff, 0x42006800, 0x40000000, 0x0201f800, | ||
| 3846 | 0x0010427d, 0x59c40006, 0x82000500, 0xffffff0f, | ||
| 3847 | 0x48038806, 0x42000800, 0x00000010, 0x42001000, | ||
| 3848 | 0x001041f3, 0x0201f800, 0x00105f83, 0x0401f001, | ||
| 3849 | 0x42006000, 0xffffffff, 0x42006800, 0x00800000, | ||
| 3850 | 0x0201f800, 0x0010427d, 0x4200b000, 0x000000c8, | ||
| 3851 | 0x59c400a4, 0x82000500, 0x0000000f, 0x82000580, | ||
| 3852 | 0x0000000a, 0x0400000f, 0x8058b040, 0x040207f9, | ||
| 3853 | 0x497b5014, 0x42006000, 0xbf7fffff, 0x42006800, | ||
| 3854 | 0x00018000, 0x0201f800, 0x0010427d, 0x42006000, | ||
| 3855 | 0xfffeffff, 0x41786800, 0x0201f000, 0x0010427d, | ||
| 3856 | 0x497b5014, 0x4a035012, 0x00000000, 0x80000580, | ||
| 3857 | 0x0201f000, 0x00104289, 0x4a038805, 0xffffffff, | ||
| 3858 | 0x59a80012, 0x82000c80, 0x00000004, 0x02021800, | ||
| 3859 | 0x001005d8, 0x0c01f001, 0x00103ba9, 0x00103bd6, | ||
| 3860 | 0x00103c4f, 0x4803c856, 0x59c400a3, 0x8400051e, | ||
| 3861 | 0x480388a3, 0x4a035012, 0x00000001, 0x59c40008, | ||
| 3862 | 0x8400054e, 0x48038808, 0x0201f800, 0x00104263, | ||
| 3863 | 0x42007800, 0x0010b54c, 0x4a007806, 0x11010000, | ||
| 3864 | 0x4200a000, 0x0010b402, 0x4200a800, 0x0010b553, | ||
| 3865 | 0x4200b000, 0x00000002, 0x0201f800, 0x0010ab17, | ||
| 3866 | 0x497b8802, 0x42000800, 0x00000003, 0x497b504a, | ||
| 3867 | 0x0201f800, 0x0010416e, 0x4a03504a, 0x00000001, | ||
| 3868 | 0x497b5016, 0x0201f800, 0x00104290, 0x42006000, | ||
| 3869 | 0xffffffff, 0x42006800, 0x00080000, 0x0201f800, | ||
| 3870 | 0x0010427d, 0x42006000, 0xfff7ffff, 0x41786800, | ||
| 3871 | 0x0201f000, 0x0010427d, 0x59a80016, 0x497b5016, | ||
| 3872 | 0x80002540, 0x04000066, 0x59c40004, 0x82000500, | ||
| 3873 | 0x00000003, 0x04020071, 0x59a80815, 0x8c040d02, | ||
| 3874 | 0x0400004b, 0x82100580, 0x0000000c, 0x0402004f, | ||
| 3875 | 0x82100400, 0x00000018, 0x8000b104, 0x41cc1000, | ||
| 3876 | 0x42001800, 0x0010b54c, 0x50080800, 0x500c0000, | ||
| 3877 | 0x80040580, 0x0402001a, 0x80081000, 0x800c1800, | ||
| 3878 | 0x8058b040, 0x040207f9, 0x0201f800, 0x00104290, | ||
| 3879 | 0x42006000, 0xffffffff, 0x42006800, 0x00500000, | ||
| 3880 | 0x0201f800, 0x0010427d, 0x4a035012, 0x00000002, | ||
| 3881 | 0x4a035014, 0x00000002, 0x42000800, 0x000007d0, | ||
| 3882 | 0x42001000, 0x00104148, 0x0201f800, 0x0010606e, | ||
| 3883 | 0x0201f800, 0x00104263, 0x0401f048, 0x59cc0806, | ||
| 3884 | 0x82040d80, 0x11010000, 0x04020028, 0x59cc0800, | ||
| 3885 | 0x82040500, 0x00ffffff, 0x0400001a, 0x82000580, | ||
| 3886 | 0x000000ef, 0x04020017, 0x59cc0801, 0x82040500, | ||
| 3887 | 0x00ffffff, 0x82000580, 0x000000ef, 0x04020011, | ||
| 3888 | 0x83cca400, 0x00000007, 0x4200a800, 0x0010b402, | ||
| 3889 | 0x4200b000, 0x00000002, 0x50500800, 0x50540000, | ||
| 3890 | 0x80040480, 0x04001007, 0x04020010, 0x8050a000, | ||
| 3891 | 0x8054a800, 0x8058b040, 0x040207f8, 0x0401f00b, | ||
| 3892 | 0x59a80015, 0x84000502, 0x48035015, 0x41cca000, | ||
| 3893 | 0x4200a800, 0x0010b54c, 0x4200b000, 0x00000009, | ||
| 3894 | 0x0201f800, 0x0010ab17, 0x0201f800, 0x00104290, | ||
| 3895 | 0x42006000, 0xffffffff, 0x42006800, 0x00080000, | ||
| 3896 | 0x0201f800, 0x0010427d, 0x42006000, 0xfff7ffff, | ||
| 3897 | 0x41786800, 0x0201f800, 0x0010427d, 0x42006000, | ||
| 3898 | 0xffffffff, 0x42006800, 0x00004000, 0x0201f800, | ||
| 3899 | 0x0010427d, 0x59c40004, 0x82000500, 0x00000003, | ||
| 3900 | 0x04020006, 0x497b5016, 0x42000800, 0x00000003, | ||
| 3901 | 0x0201f000, 0x0010416e, 0x1c01f000, 0x1c01f000, | ||
| 3902 | 0x59a80014, 0x82006d80, 0x0000000f, 0x04000005, | ||
| 3903 | 0x82000580, 0x0000001b, 0x02020800, 0x00104139, | ||
| 3904 | 0x1c01f000, 0x59a80015, 0x84000506, 0x48035015, | ||
| 3905 | 0x497b504a, 0x59a80014, 0x82000c80, 0x0000001e, | ||
| 3906 | 0x02021800, 0x001005d8, 0x0c01f001, 0x00103c97, | ||
| 3907 | 0x00103cac, 0x00103cd5, 0x00103cf0, 0x00103d14, | ||
| 3908 | 0x00103d45, 0x00103d68, 0x00103d9b, 0x00103dbe, | ||
| 3909 | 0x00103de4, 0x00103e21, 0x00103e48, 0x00103e5f, | ||
| 3910 | 0x00103e71, 0x00103e8a, 0x00103ea0, 0x00103ea5, | ||
| 3911 | 0x00103ecd, 0x00103ef0, 0x00103f16, 0x00103f39, | ||
| 3912 | 0x00103f6c, 0x00103fae, 0x00103fd8, 0x00103ff0, | ||
| 3913 | 0x00104030, 0x00104049, 0x0010405c, 0x0010405d, | ||
| 3914 | 0x4803c856, 0x4202d800, 0x00000007, 0x0201f800, | ||
| 3915 | 0x0010513b, 0x04000007, 0x42006000, 0xffffffd7, | ||
| 3916 | 0x41786800, 0x0201f800, 0x0010427d, 0x0401f00b, | ||
| 3917 | 0x59c40006, 0x82000500, 0xffffff0f, 0x48038806, | ||
| 3918 | 0x42001000, 0x000000f0, 0x0201f800, 0x0010193d, | ||
| 3919 | 0x0201f800, 0x00105098, 0x1c01f000, 0x4803c856, | ||
| 3920 | 0x42006000, 0xbf7fffff, 0x42006800, 0x00400000, | ||
| 3921 | 0x0201f800, 0x0010427d, 0x4a035014, 0x00000001, | ||
| 3922 | 0x42001000, 0x001041f3, 0x0201f800, 0x00105fa4, | ||
| 3923 | 0x0201f800, 0x001041f8, 0x42000800, 0x000007d0, | ||
| 3924 | 0x42001000, 0x00104148, 0x0201f000, 0x0010606e, | ||
| 3925 | 0x59a80016, 0x82000580, 0x00000014, 0x04020025, | ||
| 3926 | 0x4803c857, 0x42006000, 0xffbfffff, 0x41786800, | ||
| 3927 | 0x0201f800, 0x0010427d, 0x59c40004, 0x82000500, | ||
| 3928 | 0x00000003, 0x0402001b, 0x59cc1006, 0x82081580, | ||
| 3929 | 0x11020000, 0x04020016, 0x59cc1007, 0x8c08153e, | ||
| 3930 | 0x0400000b, 0x59a80015, 0x8c000504, 0x04020008, | ||
| 3931 | 0x42000000, 0x0010b83f, 0x0201f800, 0x0010aa47, | ||
| 3932 | 0x59a80015, 0x84000544, 0x48035015, 0x42001000, | ||
| 3933 | 0x00104148, 0x0201f800, 0x00105f90, 0x4a035014, | ||
| 3934 | 0x00000010, 0x0401f9d4, 0x0401f002, 0x497b5016, | ||
| 3935 | 0x1c01f000, 0x4803c856, 0x4a035014, 0x00000003, | ||
| 3936 | 0x42006000, 0xbf3fffff, 0x42006800, 0x00100000, | ||
| 3937 | 0x0201f800, 0x0010427d, 0x42001000, 0x001041f3, | ||
| 3938 | 0x0201f800, 0x00105fa4, 0x0201f800, 0x001041f8, | ||
| 3939 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 3940 | 0x42007800, 0x0010b552, 0x46007800, 0x11020000, | ||
| 3941 | 0x42000800, 0x00000005, 0x0201f000, 0x0010416e, | ||
| 3942 | 0x59a80016, 0x80000540, 0x04000021, 0x4803c857, | ||
| 3943 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 3944 | 0x59a80016, 0x82000580, 0x00000014, 0x04020016, | ||
| 3945 | 0x59cc1006, 0x82081580, 0x11020000, 0x04020012, | ||
| 3946 | 0x59cc1007, 0x8c08153e, 0x0400000b, 0x59a80015, | ||
| 3947 | 0x8c000504, 0x04020008, 0x42000000, 0x0010b83f, | ||
| 3948 | 0x0201f800, 0x0010aa47, 0x59a80015, 0x84000544, | ||
| 3949 | 0x48035015, 0x4a035014, 0x00000004, 0x0401f805, | ||
| 3950 | 0x0401f003, 0x0201f800, 0x00104139, 0x1c01f000, | ||
| 3951 | 0x4803c856, 0x4a035014, 0x00000005, 0x83cca400, | ||
| 3952 | 0x00000006, 0x4200a800, 0x0010b552, 0x4200b000, | ||
| 3953 | 0x00000005, 0x0201f800, 0x0010ab17, 0x42007800, | ||
| 3954 | 0x0010b552, 0x46007800, 0x11030000, 0x0201f800, | ||
| 3955 | 0x0010413e, 0x04020014, 0x59a80015, 0x8c000500, | ||
| 3956 | 0x04020011, 0x59a80810, 0x82040580, 0x00ffffff, | ||
| 3957 | 0x0400000d, 0x82040d00, 0x000000ff, 0x82040400, | ||
| 3958 | 0x0010210e, 0x50000800, 0x80040910, 0x42001000, | ||
| 3959 | 0x00000004, 0x0401fb9b, 0x0400000b, 0x0201f800, | ||
| 3960 | 0x0010420d, 0x4200b000, 0x00000004, 0x83cca400, | ||
| 3961 | 0x00000007, 0x4200a800, 0x0010b553, 0x0201f800, | ||
| 3962 | 0x0010ab17, 0x42000800, 0x00000005, 0x0201f000, | ||
| 3963 | 0x0010416e, 0x59a80016, 0x80000540, 0x04000020, | ||
| 3964 | 0x4803c857, 0x42001000, 0x00104148, 0x0201f800, | ||
| 3965 | 0x00105f90, 0x59a80016, 0x82000580, 0x00000014, | ||
| 3966 | 0x04020016, 0x59cc1006, 0x82081580, 0x11030000, | ||
| 3967 | 0x04020012, 0x59cc1007, 0x8c08153e, 0x0400000b, | ||
| 3968 | 0x59a80015, 0x8c000504, 0x04020008, 0x42000000, | ||
| 3969 | 0x0010b83f, 0x0201f800, 0x0010aa47, 0x59a80015, | ||
| 3970 | 0x84000544, 0x48035015, 0x4a035014, 0x00000006, | ||
| 3971 | 0x0401f804, 0x0401f002, 0x0401fbd3, 0x1c01f000, | ||
| 3972 | 0x4803c856, 0x4a035014, 0x00000007, 0x83cca400, | ||
| 3973 | 0x00000006, 0x4200a800, 0x0010b552, 0x4200b000, | ||
| 3974 | 0x00000005, 0x0201f800, 0x0010ab17, 0x42007800, | ||
| 3975 | 0x0010b552, 0x46007800, 0x11040000, 0x0401fbc7, | ||
| 3976 | 0x04020020, 0x59a80015, 0x8c000500, 0x0402001d, | ||
| 3977 | 0x599c0017, 0x8c000500, 0x0400001a, 0x599c1402, | ||
| 3978 | 0x82080480, 0x0000007f, 0x02021800, 0x001005d8, | ||
| 3979 | 0x4c080000, 0x82081400, 0x0010210e, 0x50081000, | ||
| 3980 | 0x82081500, 0x000000ff, 0x480b5010, 0x42000800, | ||
| 3981 | 0x00000003, 0x0201f800, 0x00106c78, 0x5c000800, | ||
| 3982 | 0x42001000, 0x00000004, 0x0401fb3e, 0x04000005, | ||
| 3983 | 0x0401fd2b, 0x04000003, 0x0201f800, 0x001015fe, | ||
| 3984 | 0x42000800, 0x00000005, 0x0401f3d4, 0x59a80016, | ||
| 3985 | 0x80000540, 0x04000020, 0x4803c857, 0x42001000, | ||
| 3986 | 0x00104148, 0x0201f800, 0x00105f90, 0x59a80016, | ||
| 3987 | 0x82000580, 0x00000014, 0x04020016, 0x59cc1006, | ||
| 3988 | 0x82081580, 0x11040000, 0x04020012, 0x59cc1007, | ||
| 3989 | 0x8c08153e, 0x0400000b, 0x59a80015, 0x8c000504, | ||
| 3990 | 0x04020008, 0x42000000, 0x0010b83f, 0x0201f800, | ||
| 3991 | 0x0010aa47, 0x59a80015, 0x84000544, 0x48035015, | ||
| 3992 | 0x4a035014, 0x00000008, 0x0401f804, 0x0401f002, | ||
| 3993 | 0x0401fb7d, 0x1c01f000, 0x4803c856, 0x4a035014, | ||
| 3994 | 0x00000009, 0x83cca400, 0x00000006, 0x4200a800, | ||
| 3995 | 0x0010b552, 0x4200b000, 0x00000005, 0x0201f800, | ||
| 3996 | 0x0010ab17, 0x42007800, 0x0010b552, 0x46007800, | ||
| 3997 | 0x11050100, 0x0401fb71, 0x0402000a, 0x59a80015, | ||
| 3998 | 0x8c000500, 0x04020007, 0x0401fa8c, 0x04020005, | ||
| 3999 | 0x82000540, 0x00000001, 0x0201f800, 0x001015fe, | ||
| 4000 | 0x42000800, 0x00000005, 0x0401fb94, 0x0401fb63, | ||
| 4001 | 0x04020ea4, 0x4d3c0000, 0x42027800, 0x00000001, | ||
| 4002 | 0x0201f800, 0x00109874, 0x5c027800, 0x1c01f000, | ||
| 4003 | 0x59a80016, 0x80000540, 0x0400003a, 0x4803c857, | ||
| 4004 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 4005 | 0x59a80016, 0x82000580, 0x00000014, 0x04020030, | ||
| 4006 | 0x59cc1006, 0x82080500, 0x11050000, 0x82000580, | ||
| 4007 | 0x11050000, 0x0402002a, 0x8c081510, 0x04000014, | ||
| 4008 | 0x59cc1007, 0x8c08153e, 0x0400000b, 0x59a80015, | ||
| 4009 | 0x8c000504, 0x04020008, 0x42000000, 0x0010b83f, | ||
| 4010 | 0x0201f800, 0x0010aa47, 0x59a80015, 0x84000544, | ||
| 4011 | 0x48035015, 0x4a035013, 0x00000001, 0x4a035014, | ||
| 4012 | 0x0000000a, 0x0401f818, 0x0401f016, 0x80000540, | ||
| 4013 | 0x04020013, 0x59cc1007, 0x8c08153e, 0x0400000b, | ||
| 4014 | 0x59a80015, 0x8c000504, 0x04020008, 0x42000000, | ||
| 4015 | 0x0010b83f, 0x0201f800, 0x0010aa47, 0x59a80015, | ||
| 4016 | 0x84000544, 0x48035015, 0x497b5013, 0x4a035014, | ||
| 4017 | 0x0000000e, 0x0401f86d, 0x0401f002, 0x0401fb1a, | ||
| 4018 | 0x1c01f000, 0x4803c856, 0x4a035014, 0x0000000b, | ||
| 4019 | 0x42001000, 0x0010b553, 0x4008a800, 0x4200b000, | ||
| 4020 | 0x00000020, 0x4600a800, 0xffffffff, 0x8054a800, | ||
| 4021 | 0x8058b040, 0x040207fc, 0x42007800, 0x0010b552, | ||
| 4022 | 0x46007800, 0x11060000, 0x42001000, 0x0010b553, | ||
| 4023 | 0x0401fb0a, 0x04000005, 0x50080000, 0x46001000, | ||
| 4024 | 0x00ffffff, 0x0401f00c, 0x50080800, 0x82040d00, | ||
| 4025 | 0x0000ffff, 0x59a80010, 0x82000500, 0x000000ff, | ||
| 4026 | 0x82000540, 0x00000100, 0x800000e0, 0x80040d40, | ||
| 4027 | 0x44041000, 0x42000800, 0x00000021, 0x0401f327, | ||
| 4028 | 0x59a80016, 0x80000540, 0x04000014, 0x4803c857, | ||
| 4029 | 0x59a80016, 0x42001000, 0x00104148, 0x0201f800, | ||
| 4030 | 0x00105f90, 0x59a80016, 0x82000580, 0x00000084, | ||
| 4031 | 0x04020009, 0x59cc1006, 0x82081580, 0x11060000, | ||
| 4032 | 0x04020005, 0x4a035014, 0x0000000c, 0x0401f804, | ||
| 4033 | 0x0401f002, 0x0401fadc, 0x1c01f000, 0x4803c856, | ||
| 4034 | 0x4a035014, 0x0000000d, 0x83cca400, 0x00000006, | ||
| 4035 | 0x4200a800, 0x0010b552, 0x4200b000, 0x00000021, | ||
| 4036 | 0x0201f800, 0x0010ab17, 0x42007800, 0x0010b552, | ||
| 4037 | 0x46007800, 0x11070000, 0x42000800, 0x00000021, | ||
| 4038 | 0x0401f2fe, 0x59a80016, 0x80000540, 0x04000016, | ||
| 4039 | 0x4803c857, 0x59a80016, 0x42001000, 0x00104148, | ||
| 4040 | 0x0201f800, 0x00105f90, 0x82000580, 0x00000084, | ||
| 4041 | 0x0402000c, 0x59cc1006, 0x82081580, 0x11070000, | ||
| 4042 | 0x04020008, 0x4a035013, 0x00000001, 0x0401fa91, | ||
| 4043 | 0x4a035014, 0x0000000e, 0x0401f804, 0x0401f002, | ||
| 4044 | 0x0401fab1, 0x1c01f000, 0x4803c856, 0x82040d40, | ||
| 4045 | 0x00000001, 0x0401fbfc, 0x4a035014, 0x0000000f, | ||
| 4046 | 0x497b5016, 0x42006000, 0xffffffff, 0x42006800, | ||
| 4047 | 0x00300000, 0x0401fbe8, 0x42006000, 0xffdfffff, | ||
| 4048 | 0x41786800, 0x0401fbe4, 0x42000800, 0x000007d0, | ||
| 4049 | 0x42001000, 0x00104148, 0x0201f000, 0x00105f69, | ||
| 4050 | 0x4803c856, 0x59a80016, 0x80000540, 0x04020296, | ||
| 4051 | 0x1c01f000, 0x4803c856, 0x4a035014, 0x00000011, | ||
| 4052 | 0x83cca400, 0x00000006, 0x4200a800, 0x0010b552, | ||
| 4053 | 0x4200b000, 0x00000005, 0x0201f800, 0x0010ab17, | ||
| 4054 | 0x4200a800, 0x0010b552, 0x4600a800, 0x11020000, | ||
| 4055 | 0x0401fa8a, 0x04020015, 0x59a80010, 0x82000d00, | ||
| 4056 | 0xffff0000, 0x04000011, 0x82000500, 0x000000ff, | ||
| 4057 | 0x0400000e, 0x82000c00, 0x0010210e, 0x50040800, | ||
| 4058 | 0x80040910, 0x82040580, 0x0000007e, 0x04000007, | ||
| 4059 | 0x82040580, 0x00000080, 0x04000004, 0x42001000, | ||
| 4060 | 0x00000004, 0x0401fa07, 0x42000800, 0x00000005, | ||
| 4061 | 0x0401f2a2, 0x59a80016, 0x80000540, 0x04000020, | ||
| 4062 | 0x4803c857, 0x42001000, 0x00104148, 0x0201f800, | ||
| 4063 | 0x00105f90, 0x59a80016, 0x82000580, 0x00000014, | ||
| 4064 | 0x04020016, 0x59cc1006, 0x82081580, 0x11030000, | ||
| 4065 | 0x04020012, 0x59cc1007, 0x8c08153e, 0x0400000b, | ||
| 4066 | 0x59a80015, 0x8c000504, 0x04020008, 0x42000000, | ||
| 4067 | 0x0010b83f, 0x0201f800, 0x0010aa47, 0x59a80015, | ||
| 4068 | 0x84000544, 0x48035015, 0x4a035014, 0x00000012, | ||
| 4069 | 0x0401f804, 0x0401f002, 0x0401fa4b, 0x1c01f000, | ||
| 4070 | 0x4803c856, 0x4a035014, 0x00000013, 0x83cca400, | ||
| 4071 | 0x00000006, 0x4200a800, 0x0010b552, 0x4200b000, | ||
| 4072 | 0x00000005, 0x0201f800, 0x0010ab17, 0x4200a800, | ||
| 4073 | 0x0010b552, 0x4600a800, 0x11030000, 0x0401fa3f, | ||
| 4074 | 0x04020013, 0x59a80015, 0x8c000500, 0x04020010, | ||
| 4075 | 0x59a80810, 0x82040580, 0x00ffffff, 0x0400000c, | ||
| 4076 | 0x82040d00, 0x000000ff, 0x82040400, 0x0010210e, | ||
| 4077 | 0x50000800, 0x80040910, 0x42001000, 0x00000004, | ||
| 4078 | 0x0401f9c0, 0x04000002, 0x0401fafb, 0x42000800, | ||
| 4079 | 0x00000005, 0x0401f259, 0x59a80016, 0x80000540, | ||
| 4080 | 0x04000020, 0x4803c857, 0x42001000, 0x00104148, | ||
| 4081 | 0x0201f800, 0x00105f90, 0x59a80016, 0x82000580, | ||
| 4082 | 0x00000014, 0x04020016, 0x59cc1006, 0x82081580, | ||
| 4083 | 0x11040000, 0x04020012, 0x59cc1007, 0x8c08153e, | ||
| 4084 | 0x0400000b, 0x59a80015, 0x8c000504, 0x04020008, | ||
| 4085 | 0x42000000, 0x0010b83f, 0x0201f800, 0x0010aa47, | ||
| 4086 | 0x59a80015, 0x84000544, 0x48035015, 0x4a035014, | ||
| 4087 | 0x00000014, 0x0401f804, 0x0401f002, 0x0401fa02, | ||
| 4088 | 0x1c01f000, 0x4803c856, 0x4a035014, 0x00000015, | ||
| 4089 | 0x83cca400, 0x00000006, 0x4200a800, 0x0010b552, | ||
| 4090 | 0x4200b000, 0x00000005, 0x0201f800, 0x0010ab17, | ||
| 4091 | 0x4200a800, 0x0010b552, 0x4600a800, 0x11040000, | ||
| 4092 | 0x0401f9f6, 0x04020020, 0x59a80015, 0x8c000500, | ||
| 4093 | 0x0402001d, 0x599c0017, 0x8c000500, 0x0400001a, | ||
| 4094 | 0x599c1402, 0x82080480, 0x0000007f, 0x02021800, | ||
| 4095 | 0x001005d8, 0x4c080000, 0x82081400, 0x0010210e, | ||
| 4096 | 0x50081000, 0x82081500, 0x000000ff, 0x480b5010, | ||
| 4097 | 0x42000800, 0x00000003, 0x0201f800, 0x00106c78, | ||
| 4098 | 0x5c000800, 0x42001000, 0x00000004, 0x0401f96d, | ||
| 4099 | 0x04000005, 0x0201f800, 0x00103abf, 0x02020800, | ||
| 4100 | 0x001015fe, 0x42000800, 0x00000005, 0x0401f203, | ||
| 4101 | 0x59a80016, 0x80000540, 0x0400003f, 0x4803c857, | ||
| 4102 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 4103 | 0x59a80016, 0x82000580, 0x00000014, 0x04020035, | ||
| 4104 | 0x59cc1006, 0x82080500, 0x11050000, 0x82000580, | ||
| 4105 | 0x11050000, 0x0402002f, 0x8c081510, 0x04000010, | ||
| 4106 | 0x0401fb09, 0x59cc1007, 0x8c08153e, 0x0400000b, | ||
| 4107 | 0x59a80015, 0x8c000504, 0x04020008, 0x42000000, | ||
| 4108 | 0x0010b83f, 0x0201f800, 0x0010aa47, 0x59a80015, | ||
| 4109 | 0x84000544, 0x48035015, 0x0401f013, 0x59cc1007, | ||
| 4110 | 0x8c08153e, 0x0400000b, 0x59a80015, 0x8c000504, | ||
| 4111 | 0x04020008, 0x42000000, 0x0010b83f, 0x0201f800, | ||
| 4112 | 0x0010aa47, 0x59a80015, 0x84000544, 0x48035015, | ||
| 4113 | 0x82000540, 0x00000001, 0x0401faeb, 0x497b5013, | ||
| 4114 | 0x0401f003, 0x4a035013, 0x00000001, 0x59cc1007, | ||
| 4115 | 0x8c08153c, 0x04000003, 0x4a035026, 0x00000008, | ||
| 4116 | 0x4a035014, 0x00000016, 0x0401f804, 0x0401f002, | ||
| 4117 | 0x0401f98d, 0x1c01f000, 0x4803c856, 0x83cca400, | ||
| 4118 | 0x00000006, 0x4200a800, 0x0010b552, 0x4200b000, | ||
| 4119 | 0x00000005, 0x0201f800, 0x0010ab17, 0x4a035014, | ||
| 4120 | 0x00000017, 0x59a80013, 0x8c000500, 0x04000006, | ||
| 4121 | 0x42001000, 0x0010b552, 0x46001000, 0x11050100, | ||
| 4122 | 0x0401f003, 0x4a035014, 0x0000001b, 0x0401f97b, | ||
| 4123 | 0x0402000a, 0x59a80015, 0x8c000500, 0x04020007, | ||
| 4124 | 0x0401f896, 0x04020005, 0x82000540, 0x00000001, | ||
| 4125 | 0x0201f800, 0x001015fe, 0x42000800, 0x00000005, | ||
| 4126 | 0x0401f99e, 0x4d3c0000, 0x42027800, 0x00000001, | ||
| 4127 | 0x0201f800, 0x00109874, 0x5c027800, 0x1c01f000, | ||
| 4128 | 0x59a80016, 0x80000540, 0x04000015, 0x4803c857, | ||
| 4129 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 4130 | 0x59a80016, 0x82000580, 0x00000084, 0x0402000b, | ||
| 4131 | 0x59cc1006, 0x82081580, 0x11060000, 0x04020007, | ||
| 4132 | 0x80000580, 0x0401faa0, 0x4a035014, 0x00000018, | ||
| 4133 | 0x0401f804, 0x0401f002, 0x0401f94b, 0x1c01f000, | ||
| 4134 | 0x4803c856, 0x4a035014, 0x00000019, 0x83cca400, | ||
| 4135 | 0x00000006, 0x4200a800, 0x0010b552, 0x4200b000, | ||
| 4136 | 0x00000021, 0x0201f800, 0x0010ab17, 0x42003800, | ||
| 4137 | 0x0010b553, 0x0401f941, 0x04020018, 0x401c2800, | ||
| 4138 | 0x50141000, 0x80080130, 0x80000000, 0x40001800, | ||
| 4139 | 0x82081500, 0x00ffffff, 0x800000f0, 0x80080540, | ||
| 4140 | 0x44002800, 0x59a80810, 0x82040d00, 0x000000ff, | ||
| 4141 | 0x400c1000, 0x80081104, 0x82082400, 0x0010b553, | ||
| 4142 | 0x50101000, 0x820c0500, 0x00000003, 0x0c01f806, | ||
| 4143 | 0x80081540, 0x44082000, 0x42000800, 0x00000021, | ||
| 4144 | 0x0401f156, 0x0010401d, 0x00104022, 0x00104027, | ||
| 4145 | 0x0010402c, 0x800408f0, 0x40040000, 0x82081500, | ||
| 4146 | 0x00ffffff, 0x1c01f000, 0x800408e0, 0x40040000, | ||
| 4147 | 0x82081500, 0xff00ffff, 0x1c01f000, 0x800408d0, | ||
| 4148 | 0x40040000, 0x82081500, 0xffff00ff, 0x1c01f000, | ||
| 4149 | 0x40040000, 0x82081500, 0xffffff00, 0x1c01f000, | ||
| 4150 | 0x59a80016, 0x80000540, 0x04000016, 0x4803c857, | ||
| 4151 | 0x42001000, 0x00104148, 0x0201f800, 0x00105f90, | ||
| 4152 | 0x59a80016, 0x82000580, 0x00000084, 0x0402000c, | ||
| 4153 | 0x59cc1006, 0x82081580, 0x11070000, 0x04020008, | ||
| 4154 | 0x4a035013, 0x00000001, 0x0401f8d2, 0x4a035014, | ||
| 4155 | 0x0000001a, 0x0401f804, 0x0401f002, 0x0401f8f2, | ||
| 4156 | 0x1c01f000, 0x82000540, 0x00000001, 0x0401fa3e, | ||
| 4157 | 0x4a035014, 0x0000001b, 0x83cca400, 0x00000006, | ||
| 4158 | 0x4200a800, 0x0010b552, 0x59a82016, 0x40100000, | ||
| 4159 | 0x8000b104, 0x40580800, 0x5450a800, 0x8050a000, | ||
| 4160 | 0x8054a800, 0x8058b040, 0x040207fc, 0x0401f113, | ||
| 4161 | 0x1c01f000, 0x1c01f000, 0x4803c856, 0x42003000, | ||
| 4162 | 0x00000004, 0x42004000, 0x0010b553, 0x599c2817, | ||
| 4163 | 0x8c142d14, 0x0402001f, 0x42001000, 0x00000003, | ||
| 4164 | 0x40200000, 0x80080400, 0x50000800, 0x82042580, | ||
| 4165 | 0xffffffff, 0x04020005, 0x80081040, 0x80183040, | ||
| 4166 | 0x040207f8, 0x0401f05e, 0x800811c0, 0x04020006, | ||
| 4167 | 0x82042580, 0x3fffffff, 0x04000058, 0x82040d40, | ||
| 4168 | 0xc0000000, 0x4200b000, 0x00000020, 0x42001800, | ||
| 4169 | 0x00000001, 0x40042000, 0x80102102, 0x04021021, | ||
| 4170 | 0x800c18c2, 0x8058b040, 0x040207fc, 0x0401f04b, | ||
| 4171 | 0x41781000, 0x40200000, 0x80080400, 0x50000800, | ||
| 4172 | 0x82042580, 0xffffffff, 0x04020005, 0x80081000, | ||
| 4173 | 0x80183040, 0x040207f8, 0x0401f040, 0x800811c0, | ||
| 4174 | 0x04020003, 0x82040d40, 0xc0000000, 0x4200b000, | ||
| 4175 | 0x00000001, 0x42001800, 0x80000000, 0x40042000, | ||
| 4176 | 0x801020c2, 0x04021007, 0x800c1902, 0x8058b000, | ||
| 4177 | 0x82580480, 0x00000021, 0x040017fa, 0x0401f02f, | ||
| 4178 | 0x40200000, 0x80082400, 0x50100000, 0x800c0540, | ||
| 4179 | 0x44002000, 0x59a80015, 0x84000540, 0x48035015, | ||
| 4180 | 0x40580000, 0x42002800, 0x00000020, 0x80142c80, | ||
| 4181 | 0x40080000, 0x42003800, 0x00000003, 0x801c0480, | ||
| 4182 | 0x800000ca, 0x80142d40, 0x82144c00, 0x0010210e, | ||
| 4183 | 0x50242800, 0x82142d00, 0x000000ff, 0x48175010, | ||
| 4184 | 0x4c040000, 0x40140800, 0x0201f800, 0x001015eb, | ||
| 4185 | 0x5c000800, 0x40001800, 0x500c0000, 0x80100540, | ||
| 4186 | 0x44001800, 0x59a80015, 0x84000540, 0x48035015, | ||
| 4187 | 0x4200a800, 0x0010b553, 0x4020a000, 0x4200b000, | ||
| 4188 | 0x00000004, 0x0201f800, 0x0010ab17, 0x82000540, | ||
| 4189 | 0x00000001, 0x0401f002, 0x80000580, 0x1c01f000, | ||
| 4190 | 0x4807c857, 0x480bc857, 0x4008b000, 0x83cca400, | ||
| 4191 | 0x00000007, 0x4200a800, 0x0010b553, 0x40541000, | ||
| 4192 | 0x0201f800, 0x0010ab17, 0x40041800, 0x41782000, | ||
| 4193 | 0x42000000, 0x00000003, 0x820c1c80, 0x00000020, | ||
| 4194 | 0x04001004, 0x80102000, 0x80000040, 0x0401f7fb, | ||
| 4195 | 0x40041800, 0x801021c0, 0x04000005, 0x820c1c80, | ||
| 4196 | 0x00000020, 0x80102040, 0x040207fd, 0x42002000, | ||
| 4197 | 0x00000001, 0x800c19c0, 0x04000004, 0x801020c2, | ||
| 4198 | 0x800c1840, 0x040207fe, 0x80083c00, 0x83cc2c00, | ||
| 4199 | 0x00000007, 0x80142c00, 0x50140000, 0x80102d00, | ||
| 4200 | 0x04020012, 0x80100540, 0x44003800, 0x82042400, | ||
| 4201 | 0x0010210e, 0x50102800, 0x82142d00, 0x000000ff, | ||
| 4202 | 0x48175010, 0x4c040000, 0x40140800, 0x0201f800, | ||
| 4203 | 0x001015eb, 0x5c000800, 0x59a80015, 0x84000540, | ||
| 4204 | 0x48035015, 0x80000580, 0x1c01f000, 0x4807c856, | ||
| 4205 | 0x42001000, 0x00008017, 0x59a8184e, 0x0201f800, | ||
| 4206 | 0x0010aa4f, 0x0201f800, 0x00103a3e, 0x1c01f000, | ||
| 4207 | 0x4807c856, 0x4200b000, 0x00000020, 0x83cca400, | ||
| 4208 | 0x00000007, 0x4200a800, 0x0010be21, 0x0201f000, | ||
| 4209 | 0x0010ab28, 0x4807c856, 0x0201f800, 0x00106ede, | ||
| 4210 | 0x42000800, 0x000000f7, 0x0401f8de, 0x497b2804, | ||
| 4211 | 0x497b2805, 0x497b281c, 0x497b281d, 0x4202d800, | ||
| 4212 | 0x00000001, 0x42006000, 0xbf7fffff, 0x42006800, | ||
| 4213 | 0x00018000, 0x0401f950, 0x42006000, 0xfffeffff, | ||
| 4214 | 0x41786800, 0x0401f94c, 0x497b504e, 0x42000800, | ||
| 4215 | 0x0000002d, 0x42001000, 0x001041bc, 0x0201f000, | ||
| 4216 | 0x00105f69, 0x4807c856, 0x0401ffe3, 0x497b5014, | ||
| 4217 | 0x497b5016, 0x1c01f000, 0x4807c856, 0x59a80005, | ||
| 4218 | 0x8c000506, 0x1c01f000, 0x4807c856, 0x42006000, | ||
| 4219 | 0xffffffff, 0x42006800, 0x00000028, 0x0401f136, | ||
| 4220 | 0x4807c856, 0x0401ffc2, 0x0201f800, 0x00106c55, | ||
| 4221 | 0x4df00000, 0x0201f800, 0x00106e21, 0x5c03e000, | ||
| 4222 | 0x02000800, 0x00106c4b, 0x59c400a4, 0x82000500, | ||
| 4223 | 0x0000000f, 0x82000580, 0x00000002, 0x0402000a, | ||
| 4224 | 0x42006000, 0xffffffff, 0x42006800, 0x00200000, | ||
| 4225 | 0x0401f921, 0x42006000, 0xffdfffff, 0x41786800, | ||
| 4226 | 0x0401f91d, 0x497b5014, 0x42000800, 0x000000f7, | ||
| 4227 | 0x0401f89c, 0x59c400a3, 0x82000500, 0xbf20bfff, | ||
| 4228 | 0x82000540, 0x0001c000, 0x480388a3, 0x84000520, | ||
| 4229 | 0x480388a3, 0x1c01f000, 0x497b5016, 0x59b400f5, | ||
| 4230 | 0x8c000500, 0x04020004, 0x82000540, 0x00000001, | ||
| 4231 | 0x480368f5, 0x800400c4, 0x82000400, 0x00002000, | ||
| 4232 | 0x4803910a, 0x59b400f6, 0x82000500, 0x00000018, | ||
| 4233 | 0x040207fd, 0x4a0368f0, 0x0010b54b, 0x42000000, | ||
| 4234 | 0x0010b552, 0x480368f1, 0x82040400, 0x0000dc00, | ||
| 4235 | 0x480368f3, 0x59c400a4, 0x82000500, 0x0000000f, | ||
| 4236 | 0x82000580, 0x00000008, 0x04020017, 0x4c5c0000, | ||
| 4237 | 0x4c600000, 0x59c4b805, 0x8c5cbd3a, 0x04020005, | ||
| 4238 | 0x42000000, 0x0010b818, 0x0201f800, 0x0010aa47, | ||
| 4239 | 0x4a038805, 0x02000000, 0x0201f800, 0x001019fe, | ||
| 4240 | 0x4000c000, 0x0201f800, 0x00101963, 0x4202d800, | ||
| 4241 | 0x00000001, 0x497b5014, 0x5c00c000, 0x5c00b800, | ||
| 4242 | 0x1c01f000, 0x59c8010b, 0x8c000502, 0x040007e2, | ||
| 4243 | 0x59c408a4, 0x82040d00, 0x0000000f, 0x82040d80, | ||
| 4244 | 0x0000000b, 0x04020005, 0x59a80814, 0x82040d40, | ||
| 4245 | 0x00002000, 0x0401f004, 0x59a80812, 0x82040d40, | ||
| 4246 | 0x00001000, 0x4807504e, 0x59a8084a, 0x800409c0, | ||
| 4247 | 0x04020007, 0x42000800, 0x000007d0, 0x42001000, | ||
| 4248 | 0x00104148, 0x0201f800, 0x0010606e, 0x1c01f000, | ||
| 4249 | 0x4807c856, 0x0401ff4e, 0x0201f800, 0x00106c55, | ||
| 4250 | 0x4df00000, 0x0201f800, 0x00106e21, 0x5c03e000, | ||
| 4251 | 0x02000800, 0x00106c4b, 0x59c400a4, 0x82000500, | ||
| 4252 | 0x0000000f, 0x82000580, 0x00000002, 0x0402000a, | ||
| 4253 | 0x42006000, 0xffffffff, 0x42006800, 0x00200000, | ||
| 4254 | 0x0401f8ad, 0x42006000, 0xffdfffff, 0x41786800, | ||
| 4255 | 0x0401f8a9, 0x0201f800, 0x00105141, 0x04000014, | ||
| 4256 | 0x0201f800, 0x00105151, 0x04020011, 0x4a035032, | ||
| 4257 | 0x0000aaaa, 0x4c040000, 0x0201f800, 0x0010162a, | ||
| 4258 | 0x59a8002a, 0x82000500, 0xffff0000, 0x80040540, | ||
| 4259 | 0x4803502a, 0x5c000800, 0x4a035033, 0x00000000, | ||
| 4260 | 0x0201f800, 0x001050a2, 0x0401f008, 0x4a03504c, | ||
| 4261 | 0x00000005, 0x42000000, 0x00000001, 0x0201f800, | ||
| 4262 | 0x00101590, 0x0401ff2c, 0x1c01f000, 0x0401f805, | ||
| 4263 | 0x42006000, 0xbf7f7fff, 0x41786800, 0x0401f086, | ||
| 4264 | 0x0201f800, 0x00105151, 0x04020005, 0x59c40006, | ||
| 4265 | 0x82000540, 0x000000f0, 0x48038806, 0x1c01f000, | ||
| 4266 | 0x800408d0, 0x59a80015, 0x8c000506, 0x04000006, | ||
| 4267 | 0x59a80010, 0x82000500, 0x000000ff, 0x80040540, | ||
| 4268 | 0x0401f003, 0x82040540, 0x000000f7, 0x480388a7, | ||
| 4269 | 0x1c01f000, 0x4807c856, 0x42000000, 0x0010b83b, | ||
| 4270 | 0x0201f800, 0x0010aa47, 0x42003000, 0x00000005, | ||
| 4271 | 0x4d3c0000, 0x4c180000, 0x42003000, 0x0000000d, | ||
| 4272 | 0x42027800, 0x00000002, 0x0401f038, 0x4807c856, | ||
| 4273 | 0x42000000, 0x0010b86b, 0x0201f800, 0x0010aa47, | ||
| 4274 | 0x42003000, 0x00000000, 0x4d3c0000, 0x4c180000, | ||
| 4275 | 0x42003000, 0x0000000f, 0x42027800, 0x00000002, | ||
| 4276 | 0x0401f02a, 0x4807c856, 0x42000000, 0x0010b86a, | ||
| 4277 | 0x0201f800, 0x0010aa47, 0x42003000, 0x00000003, | ||
| 4278 | 0x4d3c0000, 0x4c180000, 0x42003000, 0x0000000e, | ||
| 4279 | 0x42027800, 0x00000202, 0x0401f01c, 0x4807c856, | ||
| 4280 | 0x42000000, 0x0010b869, 0x0201f800, 0x0010aa47, | ||
| 4281 | 0x42003000, 0x00000004, 0x4d3c0000, 0x4c180000, | ||
| 4282 | 0x42003000, 0x00000010, 0x42027800, 0x00000202, | ||
| 4283 | 0x0401f00e, 0x4807c856, 0x42000000, 0x0010b83e, | ||
| 4284 | 0x0201f800, 0x0010aa47, 0x42003000, 0x00000001, | ||
| 4285 | 0x4d3c0000, 0x4c180000, 0x42003000, 0x0000000c, | ||
| 4286 | 0x42027800, 0x00000202, 0x42001800, 0x0000ffff, | ||
| 4287 | 0x42002000, 0x00000007, 0x0201f800, 0x00103aae, | ||
| 4288 | 0x5c003000, 0x4d400000, 0x0201f800, 0x0010a95d, | ||
| 4289 | 0x42028000, 0x0000002a, 0x0201f800, 0x00101fe5, | ||
| 4290 | 0x5c028000, 0x5c027800, 0x1c01f000, 0x4807c856, | ||
| 4291 | 0x04011000, 0x4a03c840, 0x0010b54b, 0x4a03c842, | ||
| 4292 | 0x00000040, 0x40000000, 0x040117ff, 0x42007800, | ||
| 4293 | 0x0010b54b, 0x46007800, 0x00000011, 0x803c7800, | ||
| 4294 | 0x4a007800, 0x220000ef, 0x4a007801, 0x000000ef, | ||
| 4295 | 0x4a007802, 0x01380000, 0x4a007803, 0x00000000, | ||
| 4296 | 0x4a007804, 0xffffffff, 0x4a007805, 0x00000000, | ||
| 4297 | 0x1c01f000, 0x59c400a3, 0x80300500, 0x80340540, | ||
| 4298 | 0x480388a3, 0x1c01f000, 0x4833c857, 0x59c400a3, | ||
| 4299 | 0x80300540, 0x480388a3, 0x80300580, 0x480388a3, | ||
| 4300 | 0x1c01f000, 0x4803c856, 0x04000004, 0x4a03504b, | ||
| 4301 | 0x00000001, 0x0401f002, 0x497b504b, 0x1c01f000, | ||
| 4302 | 0x4803c856, 0x59c80002, 0x80000540, 0x0400000a, | ||
| 4303 | 0x80000040, 0x04000008, 0x4a039005, 0x00000140, | ||
| 4304 | 0x42000000, 0x00000006, 0x80000040, 0x040207ff, | ||
| 4305 | 0x0401f7f4, 0x1c01f000, 0x4c5c0000, 0x4c600000, | ||
| 4306 | 0x59c4b805, 0x485fc856, 0x8c5cbd3a, 0x04020005, | ||
| 4307 | 0x42000000, 0x0010b818, 0x0201f800, 0x0010aa47, | ||
| 4308 | 0x4a038805, 0x02000000, 0x0201f800, 0x001019fe, | ||
| 4309 | 0x4000c000, 0x0201f800, 0x00101963, 0x4a038805, | ||
| 4310 | 0x04000000, 0x5c00c000, 0x5c00b800, 0x1c01f000, | ||
| 4311 | 0x497a6a00, 0x4937c857, 0x4a026c00, 0x00000707, | ||
| 4312 | 0x497a6801, 0x497a6808, 0x497a6809, 0x497a6806, | ||
| 4313 | 0x497a6807, 0x497a6c0b, 0x497a680c, 0x0201f800, | ||
| 4314 | 0x00103b25, 0x04020006, 0x5934080f, 0x59340010, | ||
| 4315 | 0x80040540, 0x02020800, 0x001005d8, 0x4a026a04, | ||
| 4316 | 0x00000100, 0x497a6a03, 0x59340402, 0x82000500, | ||
| 4317 | 0x000000ff, 0x48026c02, 0x497a6c04, 0x497a6a05, | ||
| 4318 | 0x497a6c05, 0x497a6811, 0x4d2c0000, 0x5934000d, | ||
| 4319 | 0x49466c03, 0x80025d40, 0x04000004, 0x0201f800, | ||
| 4320 | 0x001007fd, 0x497a680d, 0x5c025800, 0x599c0401, | ||
| 4321 | 0x48026a0b, 0x599c0208, 0x48026c12, 0x497a680a, | ||
| 4322 | 0x0201f000, 0x00104c62, 0x42000000, 0x00000005, | ||
| 4323 | 0x80000d80, 0x0401f02d, 0x0201f800, 0x00104a09, | ||
| 4324 | 0x04020017, 0x59a80026, 0x8c00050a, 0x04020010, | ||
| 4325 | 0x59340212, 0x82000500, 0x0000ff00, 0x4803c857, | ||
| 4326 | 0x0400000b, 0x59340a00, 0x8c040d1e, 0x02000000, | ||
| 4327 | 0x000201c4, 0x42000000, 0x00000029, 0x42000800, | ||
| 4328 | 0x00001000, 0x492fc857, 0x0401f018, 0x492fc857, | ||
| 4329 | 0x42000000, 0x00000028, 0x0401f012, 0x59a80805, | ||
| 4330 | 0x8c040d02, 0x04020003, 0x8c040d00, 0x04000004, | ||
| 4331 | 0x42000000, 0x00000004, 0x0401f00a, 0x42000000, | ||
| 4332 | 0x00000029, 0x59340a00, 0x8c040d1e, 0x04000005, | ||
| 4333 | 0x492fc857, 0x42000800, 0x00001000, 0x0401f003, | ||
| 4334 | 0x492fc857, 0x80000d80, 0x4803c857, 0x80028540, | ||
| 4335 | 0x1c01f000, 0x4803c857, 0x59a80005, 0x8c000500, | ||
| 4336 | 0x040207ec, 0x0201f800, 0x001049e7, 0x040207e4, | ||
| 4337 | 0x59340200, 0x8c00050e, 0x040007e1, 0x0201f000, | ||
| 4338 | 0x000201c4, 0x0201f800, 0x001047eb, 0x040007bf, | ||
| 4339 | 0x0201f000, 0x000201c8, 0x592c0206, 0x492fc857, | ||
| 4340 | 0x82000d80, 0x000007ff, 0x04020006, 0x4a025c0a, | ||
| 4341 | 0x00000030, 0x42026800, 0x0010b524, 0x0401f021, | ||
| 4342 | 0x82000c80, 0x000007f0, 0x04021046, 0x81ac0400, | ||
| 4343 | 0x50000000, 0x80026d40, 0x04000038, 0x0201f800, | ||
| 4344 | 0x001048e3, 0x04020038, 0x592c040a, 0x8c00050a, | ||
| 4345 | 0x04020014, 0x592e6009, 0x83300480, 0x0010d1c0, | ||
| 4346 | 0x0400103b, 0x41580000, 0x81300480, 0x04021038, | ||
| 4347 | 0x59300c06, 0x82040580, 0x00000009, 0x04020037, | ||
| 4348 | 0x4a025a06, 0x00000000, 0x497a5800, 0x59300008, | ||
| 4349 | 0x80000540, 0x04020018, 0x492e6008, 0x0401f010, | ||
| 4350 | 0x0201f800, 0x0002075a, 0x04000019, 0x592c0206, | ||
| 4351 | 0x49366009, 0x492e6008, 0x4a026406, 0x00000009, | ||
| 4352 | 0x497a6015, 0x49325809, 0x82000d80, 0x000007ff, | ||
| 4353 | 0x04020003, 0x4a026015, 0x00008000, 0x42027000, | ||
| 4354 | 0x00000043, 0x0201f800, 0x000207a1, 0x80000580, | ||
| 4355 | 0x0401f020, 0x40000800, 0x58040000, 0x80000d40, | ||
| 4356 | 0x040207fd, 0x492c0800, 0x0401f01a, 0x42000000, | ||
| 4357 | 0x0000002c, 0x0401f016, 0x42000000, 0x00000028, | ||
| 4358 | 0x0401f013, 0x59a80805, 0x82040500, 0x00000003, | ||
| 4359 | 0x04000004, 0x42000000, 0x00000004, 0x0401f00c, | ||
| 4360 | 0x42000000, 0x00000029, 0x0401f009, 0x42000000, | ||
| 4361 | 0x00000008, 0x0401f006, 0x82040580, 0x00000007, | ||
| 4362 | 0x040207fb, 0x42000000, 0x00000005, 0x80000540, | ||
| 4363 | 0x1c01f000, 0x492fc857, 0x592e8c06, 0x83440d80, | ||
| 4364 | 0x000007fc, 0x04000004, 0x83440480, 0x000007f0, | ||
| 4365 | 0x04021014, 0x0201f800, 0x00020245, 0x04020011, | ||
| 4366 | 0x0201f800, 0x001049f3, 0x04020011, 0x0201f800, | ||
| 4367 | 0x0002075a, 0x0400001c, 0x49366009, 0x492e6008, | ||
| 4368 | 0x4a026406, 0x0000000a, 0x42027000, 0x00000040, | ||
| 4369 | 0x0201f800, 0x000207a1, 0x80000580, 0x0401f011, | ||
| 4370 | 0x42000000, 0x00000028, 0x0401f00d, 0x0201f800, | ||
| 4371 | 0x00104a09, 0x040007fb, 0x59a80805, 0x82040d00, | ||
| 4372 | 0x00000003, 0x04000004, 0x42000000, 0x00000004, | ||
| 4373 | 0x0401f003, 0x42000000, 0x00000029, 0x80000540, | ||
| 4374 | 0x1c01f000, 0x42000000, 0x0000002c, 0x0401f7fc, | ||
| 4375 | 0x492fc857, 0x592e8c06, 0x4947c857, 0x83440c80, | ||
| 4376 | 0x00000800, 0x42000000, 0x0000000a, 0x04021176, | ||
| 4377 | 0x592c4207, 0x4823c857, 0x82200500, 0x0000000f, | ||
| 4378 | 0x0c01f001, 0x001043d5, 0x0010445d, 0x001044a9, | ||
| 4379 | 0x001044b4, 0x001044bf, 0x001043d1, 0x001043d1, | ||
| 4380 | 0x001043d1, 0x001044cf, 0x00104513, 0x00104530, | ||
| 4381 | 0x001043d1, 0x001043d1, 0x001043d1, 0x001043d1, | ||
| 4382 | 0x001043d1, 0x4803c857, 0x42000000, 0x0000000c, | ||
| 4383 | 0x0401f15d, 0x592c1008, 0x82081500, 0x00ffffff, | ||
| 4384 | 0x59a80010, 0x80084d80, 0x42000000, 0x00000010, | ||
| 4385 | 0x04000155, 0x0201f800, 0x00104919, 0x04000036, | ||
| 4386 | 0x4803c857, 0x82004d80, 0x0000001d, 0x0402001a, | ||
| 4387 | 0x0201f800, 0x00105755, 0x59340405, 0x4c000000, | ||
| 4388 | 0x0201f800, 0x001049e7, 0x5c000000, 0x04000004, | ||
| 4389 | 0x8c20450a, 0x04000028, 0x80000580, 0x44002800, | ||
| 4390 | 0x59340008, 0x48002802, 0x59340009, 0x48002801, | ||
| 4391 | 0x59340006, 0x48002804, 0x59340007, 0x48002803, | ||
| 4392 | 0x4200b000, 0x00000005, 0x0201f800, 0x0010955f, | ||
| 4393 | 0x0401f166, 0x4803c857, 0x82004d80, 0x0000001a, | ||
| 4394 | 0x04020003, 0x40101000, 0x0401f136, 0x4803c857, | ||
| 4395 | 0x82004d80, 0x0000001b, 0x04020003, 0x40181000, | ||
| 4396 | 0x0401f130, 0x4803c857, 0x82004d80, 0x0000001c, | ||
| 4397 | 0x04000131, 0x82004d80, 0x00000019, 0x42000000, | ||
| 4398 | 0x0000000a, 0x04000120, 0x42000000, 0x0000000a, | ||
| 4399 | 0x04020137, 0x59a80005, 0x8c000514, 0x0400001b, | ||
| 4400 | 0x0201f800, 0x001049e7, 0x04000018, 0x59340212, | ||
| 4401 | 0x82000500, 0x0000ff00, 0x42001000, 0x00000010, | ||
| 4402 | 0x0402000c, 0x42001000, 0x00000008, 0x59a80026, | ||
| 4403 | 0x8c000506, 0x04020009, 0x59340002, 0x82000500, | ||
| 4404 | 0x00ff0000, 0x82000580, 0x00ff0000, 0x04000007, | ||
| 4405 | 0x0201f800, 0x00104c6d, 0x42000000, 0x0000001c, | ||
| 4406 | 0x40181000, 0x04020107, 0x0201f800, 0x0002075a, | ||
| 4407 | 0x04000111, 0x49366009, 0x492e6008, 0x4a026406, | ||
| 4408 | 0x00000001, 0x8c20450a, 0x04000004, 0x592c0404, | ||
| 4409 | 0x8400055c, 0x48025c04, 0x4c200000, 0x4d3c0000, | ||
| 4410 | 0x42027800, 0x00001000, 0x0201f800, 0x0010203c, | ||
| 4411 | 0x5c027800, 0x5c004000, 0x8c204512, 0x0400000b, | ||
| 4412 | 0x599c0018, 0x8c000518, 0x04000008, 0x592c0009, | ||
| 4413 | 0x82000500, 0x00000380, 0x5934080a, 0x80040d40, | ||
| 4414 | 0x84040d54, 0x4806680a, 0x417a7800, 0x0401f914, | ||
| 4415 | 0x42000800, 0x00000003, 0x0401f91b, 0x42027000, | ||
| 4416 | 0x00000002, 0x0201f800, 0x000207a1, 0x80000580, | ||
| 4417 | 0x0401f10a, 0x0201f800, 0x00020245, 0x040200ec, | ||
| 4418 | 0x0201f800, 0x001049ed, 0x04000008, 0x0201f800, | ||
| 4419 | 0x001049e7, 0x040200ec, 0x417a7800, 0x417a6000, | ||
| 4420 | 0x0201f800, 0x001020a1, 0x59a80005, 0x8c000514, | ||
| 4421 | 0x0400001b, 0x0201f800, 0x001049e7, 0x04000018, | ||
| 4422 | 0x59340212, 0x82000500, 0x0000ff00, 0x42001000, | ||
| 4423 | 0x00000010, 0x0402000c, 0x42001000, 0x00000008, | ||
| 4424 | 0x59a80026, 0x8c000506, 0x04020009, 0x59340002, | ||
| 4425 | 0x82000500, 0x00ff0000, 0x82000580, 0x00ff0000, | ||
| 4426 | 0x04000007, 0x0201f800, 0x00104c6d, 0x42000000, | ||
| 4427 | 0x0000001c, 0x40181000, 0x040200b2, 0x0201f800, | ||
| 4428 | 0x0002075a, 0x040000bc, 0x5934080a, 0x8c204512, | ||
| 4429 | 0x0400000c, 0x599c0018, 0x8c000518, 0x04000009, | ||
| 4430 | 0x592c0009, 0x82000500, 0x00000380, 0x82041500, | ||
| 4431 | 0xfffffc7f, 0x80080d40, 0x84040d54, 0x0401f002, | ||
| 4432 | 0x84040d14, 0x4806680a, 0x49366009, 0x492e6008, | ||
| 4433 | 0x4a026406, 0x00000001, 0x417a7800, 0x0401f8c8, | ||
| 4434 | 0x42000800, 0x00000005, 0x0401f8cf, 0x42027000, | ||
| 4435 | 0x00000003, 0x0201f800, 0x000207a1, 0x80000580, | ||
| 4436 | 0x0401f0be, 0x0201f800, 0x00020245, 0x040200a0, | ||
| 4437 | 0x0201f800, 0x001049fc, 0x040200a3, 0x0201f800, | ||
| 4438 | 0x00109517, 0x04000094, 0x80000580, 0x0401f0b3, | ||
| 4439 | 0x0201f800, 0x00020245, 0x04020095, 0x0201f800, | ||
| 4440 | 0x001049fc, 0x04020098, 0x0201f800, 0x001090e6, | ||
| 4441 | 0x04000089, 0x80000580, 0x0401f0a8, 0x0201f800, | ||
| 4442 | 0x00020245, 0x0402008a, 0x83444d80, 0x000007fe, | ||
| 4443 | 0x42000000, 0x0000000a, 0x0402006b, 0x0201f800, | ||
| 4444 | 0x001049e7, 0x04020088, 0x0201f800, 0x0010952f, | ||
| 4445 | 0x04000079, 0x80000580, 0x0401f098, 0x82200500, | ||
| 4446 | 0x00000070, 0x04020005, 0x8c20450e, 0x42000000, | ||
| 4447 | 0x0000000c, 0x0402005c, 0x8c20450a, 0x0400000d, | ||
| 4448 | 0x4d3c0000, 0x42027800, 0x00001000, 0x8c20450e, | ||
| 4449 | 0x04020002, 0x853e7d56, 0x82200500, 0x000000a0, | ||
| 4450 | 0x0201f800, 0x001049d3, 0x5c027800, 0x0401f07f, | ||
| 4451 | 0x0201f800, 0x00020245, 0x04020065, 0x8c204508, | ||
| 4452 | 0x04000010, 0x4d3c0000, 0x42027800, 0x00001000, | ||
| 4453 | 0x8c20450e, 0x04020002, 0x853e7d56, 0x82200500, | ||
| 4454 | 0x00000090, 0x0201f800, 0x001049bb, 0x5c027800, | ||
| 4455 | 0x42000000, 0x0000000a, 0x0402003b, 0x0401f06b, | ||
| 4456 | 0x836c0580, 0x00000003, 0x42000800, 0x00000007, | ||
| 4457 | 0x0402000f, 0x0201f800, 0x001049f3, 0x04000007, | ||
| 4458 | 0x4c000000, 0x0201f800, 0x00104a1f, 0x5c000000, | ||
| 4459 | 0x0400004d, 0x0401f05d, 0x0201f800, 0x001094c5, | ||
| 4460 | 0x04000007, 0x80000580, 0x0401f05c, 0x0201f800, | ||
| 4461 | 0x00104a1f, 0x04000051, 0x0401f054, 0x0201f800, | ||
| 4462 | 0x00104a1f, 0x04000034, 0x0401f050, 0x0201f800, | ||
| 4463 | 0x00020245, 0x04020036, 0x836c0580, 0x00000003, | ||
| 4464 | 0x04020040, 0x8c204508, 0x04000006, 0x417a7800, | ||
| 4465 | 0x417a6000, 0x0201f800, 0x001020a1, 0x0401f043, | ||
| 4466 | 0x0201f800, 0x001049ed, 0x04000008, 0x0201f800, | ||
| 4467 | 0x001049e7, 0x0402002c, 0x417a7800, 0x417a6000, | ||
| 4468 | 0x0201f800, 0x001020a1, 0x480bc856, 0x0201f800, | ||
| 4469 | 0x00109332, 0x04000018, 0x80000580, 0x0401f037, | ||
| 4470 | 0x0401f7e3, 0x480bc857, 0x42000800, 0x00000019, | ||
| 4471 | 0x40001000, 0x4200b000, 0x00000002, 0x0401f00a, | ||
| 4472 | 0x480bc857, 0x40000800, 0x4200b000, 0x00000002, | ||
| 4473 | 0x0401f005, 0x480bc857, 0x40000800, 0x4200b000, | ||
| 4474 | 0x00000001, 0x480bc857, 0x42028000, 0x00000031, | ||
| 4475 | 0x0401f020, 0x480bc857, 0x42000800, 0x00000003, | ||
| 4476 | 0x4200b000, 0x00000001, 0x0401f7f7, 0x480bc857, | ||
| 4477 | 0x42000800, 0x0000000a, 0x4200b000, 0x00000001, | ||
| 4478 | 0x0401f7f1, 0x480bc857, 0x42000800, 0x00000009, | ||
| 4479 | 0x40001000, 0x4200b000, 0x00000002, 0x0401f7ea, | ||
| 4480 | 0x480bc857, 0x42000800, 0x00000007, 0x4200b000, | ||
| 4481 | 0x00000001, 0x0401f7e4, 0x480bc857, 0x4200b000, | ||
| 4482 | 0x00000001, 0x0401f7e0, 0x80028580, 0x4178b000, | ||
| 4483 | 0x82000540, 0x00000001, 0x1c01f000, 0x4937c857, | ||
| 4484 | 0x59326809, 0x59341200, 0x813e79c0, 0x04000003, | ||
| 4485 | 0x84081540, 0x0401f002, 0x84081500, 0x480a6a00, | ||
| 4486 | 0x1c01f000, 0x59326809, 0x5c000000, 0x4c000000, | ||
| 4487 | 0x4803c857, 0x4937c857, 0x82040580, 0x00000006, | ||
| 4488 | 0x04020004, 0x42000000, 0x00000606, 0x0401f021, | ||
| 4489 | 0x82040580, 0x00000004, 0x04020004, 0x42000000, | ||
| 4490 | 0x00000404, 0x0401f01b, 0x82040580, 0x00000007, | ||
| 4491 | 0x42000000, 0x00000707, 0x04000016, 0x82040580, | ||
| 4492 | 0x00000003, 0x42000000, 0x00000703, 0x04000011, | ||
| 4493 | 0x82040580, 0x00000005, 0x42000000, 0x00000405, | ||
| 4494 | 0x0400000c, 0x82040580, 0x00000009, 0x42000000, | ||
| 4495 | 0x00000409, 0x04000007, 0x82040580, 0x0000000b, | ||
| 4496 | 0x42000000, 0x0000070b, 0x02020800, 0x001005d8, | ||
| 4497 | 0x4803c857, 0x48026c00, 0x82040d80, 0x00000006, | ||
| 4498 | 0x04020005, 0x59341404, 0x800811c0, 0x02000800, | ||
| 4499 | 0x001005d8, 0x1c01f000, 0x5c000000, 0x4c000000, | ||
| 4500 | 0x4803c857, 0x4947c857, 0x481bc857, 0x83440480, | ||
| 4501 | 0x00000800, 0x04021034, 0x83441400, 0x0010ac00, | ||
| 4502 | 0x50080000, 0x80026d40, 0x04020011, 0x4c180000, | ||
| 4503 | 0x4d2c0000, 0x0201f800, 0x001007d3, 0x412e6800, | ||
| 4504 | 0x5c025800, 0x5c003000, 0x04000027, 0x45341000, | ||
| 4505 | 0x497a680d, 0x497a6810, 0x497a680f, 0x497a680e, | ||
| 4506 | 0x4c180000, 0x0401fcf3, 0x5c003000, 0x59340a12, | ||
| 4507 | 0x4c040000, 0x0201f800, 0x0010513b, 0x5c000800, | ||
| 4508 | 0x04000009, 0x82180500, 0x00ffff00, 0x04000008, | ||
| 4509 | 0x59a81010, 0x82081500, 0x00ffff00, 0x80080580, | ||
| 4510 | 0x04000003, 0x80000580, 0x0401f004, 0x82180500, | ||
| 4511 | 0x000000ff, 0x800000d0, 0x80040d80, 0x04000003, | ||
| 4512 | 0x4803c857, 0x48026a12, 0x59340002, 0x80180580, | ||
| 4513 | 0x04000003, 0x481bc857, 0x481a6802, 0x80000580, | ||
| 4514 | 0x1c01f000, 0x4803c856, 0x82000540, 0x00000001, | ||
| 4515 | 0x0401f7fc, 0x4947c857, 0x83440480, 0x00000800, | ||
| 4516 | 0x04021011, 0x83441400, 0x0010ac00, 0x50080000, | ||
| 4517 | 0x80026d40, 0x0400000b, 0x0401fbf9, 0x0402000a, | ||
| 4518 | 0x59a80005, 0x8c000502, 0x04000004, 0x59340200, | ||
| 4519 | 0x8c00050e, 0x04000004, 0x82000540, 0x00000001, | ||
| 4520 | 0x1c01f000, 0x80000580, 0x0401f7fe, 0x5c000000, | ||
| 4521 | 0x4c000000, 0x4803c857, 0x4947c857, 0x4d2c0000, | ||
| 4522 | 0x4d300000, 0x83440480, 0x00000800, 0x04021024, | ||
| 4523 | 0x83441400, 0x0010ac00, 0x50080000, 0x80026d40, | ||
| 4524 | 0x0400001b, 0x45781000, 0x5934000d, 0x80025d40, | ||
| 4525 | 0x02020800, 0x001007fd, 0x59366011, 0x813261c0, | ||
| 4526 | 0x0400000e, 0x4c640000, 0x5930c800, 0x59325808, | ||
| 4527 | 0x0201f800, 0x00109037, 0x02020800, 0x001007fd, | ||
| 4528 | 0x0201f800, 0x0002077d, 0x82666540, 0x00000000, | ||
| 4529 | 0x040207f6, 0x5c00c800, 0x0201f800, 0x00104c62, | ||
| 4530 | 0x41365800, 0x0201f800, 0x001007f5, 0x80000580, | ||
| 4531 | 0x5c026000, 0x5c025800, 0x1c01f000, 0x82000540, | ||
| 4532 | 0x00000001, 0x0401f7fb, 0x4937c857, 0x4c580000, | ||
| 4533 | 0x59cc0001, 0x82000500, 0x00ffffff, 0x48026802, | ||
| 4534 | 0x497a6c01, 0x497a6a01, 0x59340200, 0x84000502, | ||
| 4535 | 0x48026a00, 0x0201f800, 0x0010513b, 0x04020017, | ||
| 4536 | 0x59340403, 0x82000580, 0x000007fe, 0x04000005, | ||
| 4537 | 0x59a80026, 0x8c00050a, 0x04020010, 0x0401f008, | ||
| 4538 | 0x59cc0408, 0x8c000518, 0x0400000c, 0x59cc0009, | ||
| 4539 | 0x48035035, 0x59cc000a, 0x48035036, 0x59cc0207, | ||
| 4540 | 0x80000540, 0x04020003, 0x42000000, 0x00000001, | ||
| 4541 | 0x48038893, 0x4803501e, 0x59cc0a09, 0x82040d00, | ||
| 4542 | 0x00000010, 0x59cc0408, 0x82000500, 0x00000020, | ||
| 4543 | 0x04000002, 0x84040d40, 0x5934000a, 0x82000500, | ||
| 4544 | 0xffffffee, 0x80040540, 0x4802680a, 0x83cca400, | ||
| 4545 | 0x0000000b, 0x8334ac00, 0x00000006, 0x4200b000, | ||
| 4546 | 0x00000002, 0x0201f800, 0x0010ab17, 0x83cca400, | ||
| 4547 | 0x0000000d, 0x8334ac00, 0x00000008, 0x4200b000, | ||
| 4548 | 0x00000002, 0x0201f800, 0x0010ab17, 0x59cc0a18, | ||
| 4549 | 0x82040480, 0x00000800, 0x0402100c, 0x82040480, | ||
| 4550 | 0x00000400, 0x04001004, 0x42000800, 0x00000400, | ||
| 4551 | 0x0401f006, 0x82040480, 0x00000200, 0x04001003, | ||
| 4552 | 0x42000800, 0x00000200, 0x48066a04, 0x59340403, | ||
| 4553 | 0x82000580, 0x000007fe, 0x04020003, 0x59cc0a08, | ||
| 4554 | 0x48066a04, 0x42000800, 0x00000004, 0x59cc1207, | ||
| 4555 | 0x800811c0, 0x04000005, 0x82080480, 0x00000004, | ||
| 4556 | 0x04021002, 0x40080800, 0x48066c04, 0x5c00b000, | ||
| 4557 | 0x1c01f000, 0x4937c857, 0x59a80026, 0x8c000508, | ||
| 4558 | 0x04000004, 0x84000556, 0x4803c857, 0x48035026, | ||
| 4559 | 0x59cc0207, 0x4803c857, 0x48026a05, 0x59cc020a, | ||
| 4560 | 0x4803c857, 0x48026c05, 0x59341200, 0x599c0818, | ||
| 4561 | 0x5934180a, 0x4807c857, 0x480bc857, 0x480fc857, | ||
| 4562 | 0x59cc2006, 0x82102500, 0xff000000, 0x82102580, | ||
| 4563 | 0x02000000, 0x04000007, 0x8c00050e, 0x04000009, | ||
| 4564 | 0x8c0c1d14, 0x04000003, 0x8c0c1d0e, 0x04000005, | ||
| 4565 | 0x8c040d18, 0x04000003, 0x8408154a, 0x0401f002, | ||
| 4566 | 0x8408150a, 0x8c000510, 0x04000009, 0x8c0c1d14, | ||
| 4567 | 0x04000003, 0x8c0c1d10, 0x04000005, 0x8c040d18, | ||
| 4568 | 0x04000003, 0x8408154e, 0x0401f002, 0x8408150e, | ||
| 4569 | 0x8c000512, 0x04000009, 0x8c0c1d14, 0x04000003, | ||
| 4570 | 0x8c0c1d12, 0x04000005, 0x8c040d18, 0x04000003, | ||
| 4571 | 0x8408155c, 0x0401f002, 0x8408151c, 0x480a6a00, | ||
| 4572 | 0x1c01f000, 0x4803c856, 0x4c5c0000, 0x4d2c0000, | ||
| 4573 | 0x4c580000, 0x5934000d, 0x80025d40, 0x04000029, | ||
| 4574 | 0x592c0003, 0x82000480, 0x00000008, 0x0400100b, | ||
| 4575 | 0x412cb800, 0x592c0001, 0x80025d40, 0x040207f9, | ||
| 4576 | 0x0201f800, 0x001007e4, 0x04000037, 0x492fc857, | ||
| 4577 | 0x492cb801, 0x0401f020, 0x832c0c00, 0x00000004, | ||
| 4578 | 0x4200b000, 0x00000008, 0x50040000, 0x82000580, | ||
| 4579 | 0xffffffff, 0x04020006, 0x80041000, 0x50080000, | ||
| 4580 | 0x82000580, 0xffffffff, 0x04000007, 0x82040c00, | ||
| 4581 | 0x00000002, 0x8058b040, 0x040207f4, 0x0201f800, | ||
| 4582 | 0x001005d8, 0x45480800, 0x454c1000, 0x592c1803, | ||
| 4583 | 0x800c1800, 0x480e5803, 0x480fc857, 0x0401f014, | ||
| 4584 | 0x0201f800, 0x001007e4, 0x04000017, 0x492fc857, | ||
| 4585 | 0x492e680d, 0x497a5802, 0x4a025803, 0x00000001, | ||
| 4586 | 0x494a5804, 0x494e5805, 0x832c0c00, 0x00000006, | ||
| 4587 | 0x4200b000, 0x0000000e, 0x46000800, 0xffffffff, | ||
| 4588 | 0x80040800, 0x8058b040, 0x040207fc, 0x82000540, | ||
| 4589 | 0x00000001, 0x5c00b000, 0x5c025800, 0x5c00b800, | ||
| 4590 | 0x1c01f000, 0x80000580, 0x0401f7fb, 0x4803c856, | ||
| 4591 | 0x4d3c0000, 0x4d2c0000, 0x5934000d, 0x80025d40, | ||
| 4592 | 0x0400001f, 0x592c0002, 0x80000540, 0x0402001f, | ||
| 4593 | 0x412e7800, 0x0401f8ce, 0x0402001c, 0x46000800, | ||
| 4594 | 0xffffffff, 0x46001000, 0xffffffff, 0x4813c857, | ||
| 4595 | 0x480fc857, 0x580c0003, 0x82000c80, 0x00000002, | ||
| 4596 | 0x04021014, 0x480fc857, 0x400c0000, 0x812c0580, | ||
| 4597 | 0x04020004, 0x580c0001, 0x4802680d, 0x0401f003, | ||
| 4598 | 0x580c0001, 0x48002001, 0x400e5800, 0x0201f800, | ||
| 4599 | 0x001007f4, 0x82000540, 0x00000001, 0x5c025800, | ||
| 4600 | 0x5c027800, 0x1c01f000, 0x80000580, 0x0401f7fc, | ||
| 4601 | 0x80000040, 0x48001803, 0x4803c857, 0x0401f7f6, | ||
| 4602 | 0x0201f800, 0x00020086, 0x59300007, 0x8400054e, | ||
| 4603 | 0x48026007, 0x592c1a04, 0x820c1d00, 0x000000ff, | ||
| 4604 | 0x820c0580, 0x00000048, 0x04000013, 0x0201f000, | ||
| 4605 | 0x0002028e, 0x8c000500, 0x02020800, 0x000200e5, | ||
| 4606 | 0x4a026203, 0x00000002, 0x592c1a04, 0x820c1d00, | ||
| 4607 | 0x000000ff, 0x820c0580, 0x00000018, 0x02000000, | ||
| 4608 | 0x0002028e, 0x820c0580, 0x00000048, 0x02020000, | ||
| 4609 | 0x0002028e, 0x42000800, 0x80000804, 0x0201f800, | ||
| 4610 | 0x00106721, 0x0201f000, 0x00020297, 0x4a025a06, | ||
| 4611 | 0x00000008, 0x0201f000, 0x000202da, 0x4a025a06, | ||
| 4612 | 0x00000029, 0x0201f000, 0x000202da, 0x4a025a06, | ||
| 4613 | 0x0000002a, 0x0201f000, 0x000202da, 0x4a025a06, | ||
| 4614 | 0x00000028, 0x0201f000, 0x000202da, 0x4943c857, | ||
| 4615 | 0x4d440000, 0x4d340000, 0x4d2c0000, 0x4c580000, | ||
| 4616 | 0x4200b000, 0x000007f0, 0x417a8800, 0x0201f800, | ||
| 4617 | 0x00020245, 0x0402000d, 0x8d3e7d14, 0x04000005, | ||
| 4618 | 0x59340212, 0x82000500, 0x0000ff00, 0x04000007, | ||
| 4619 | 0x8d3e7d06, 0x04000004, 0x59340200, 0x8c00050e, | ||
| 4620 | 0x04020002, 0x0401f813, 0x81468800, 0x8058b040, | ||
| 4621 | 0x040207ef, 0x83440480, 0x00000800, 0x04021008, | ||
| 4622 | 0x8d3e7d02, 0x04000006, 0x42028800, 0x000007f0, | ||
| 4623 | 0x4200b000, 0x00000010, 0x0401f7e5, 0x5c00b000, | ||
| 4624 | 0x5c025800, 0x5c026800, 0x5c028800, 0x1c01f000, | ||
| 4625 | 0x4d2c0000, 0x41783000, 0x5936580f, 0x812e59c0, | ||
| 4626 | 0x04000029, 0x592c0204, 0x82000500, 0x000000ff, | ||
| 4627 | 0x82000580, 0x00000012, 0x04000020, 0x8d3e7d00, | ||
| 4628 | 0x04000003, 0x0401f83c, 0x0402001c, 0x592c2000, | ||
| 4629 | 0x497a5800, 0x801831c0, 0x04020009, 0x59340010, | ||
| 4630 | 0x812c0580, 0x04020004, 0x497a680f, 0x497a6810, | ||
| 4631 | 0x0401f008, 0x4812680f, 0x0401f006, 0x48103000, | ||
| 4632 | 0x59340010, 0x812c0580, 0x04020002, 0x481a6810, | ||
| 4633 | 0x4a025a04, 0x00000103, 0x49425a06, 0x497a5c09, | ||
| 4634 | 0x0201f800, 0x001091c6, 0x0201f800, 0x000202da, | ||
| 4635 | 0x40125800, 0x0401f7da, 0x412c3000, 0x592e5800, | ||
| 4636 | 0x0401f7d7, 0x5c025800, 0x1c01f000, 0x4803c856, | ||
| 4637 | 0x41781800, 0x5934000f, 0x80025d40, 0x04000010, | ||
| 4638 | 0x592c0005, 0x80200580, 0x592c0000, 0x04000003, | ||
| 4639 | 0x412c1800, 0x0401f7f9, 0x497a5800, 0x800c19c0, | ||
| 4640 | 0x04000008, 0x48001800, 0x80000540, 0x04020004, | ||
| 4641 | 0x480e6810, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 4642 | 0x4802680f, 0x80000540, 0x040207fd, 0x497a6810, | ||
| 4643 | 0x0401f7f9, 0x592c0008, 0x81480580, 0x04020003, | ||
| 4644 | 0x592c0009, 0x814c0580, 0x1c01f000, 0x4803c856, | ||
| 4645 | 0x4c580000, 0x413c1800, 0x400c2000, 0x593c0002, | ||
| 4646 | 0x80000540, 0x04020018, 0x4200b000, 0x00000008, | ||
| 4647 | 0x820c0c00, 0x00000004, 0x50040000, 0x81480580, | ||
| 4648 | 0x04020005, 0x80041000, 0x50080000, 0x814c0580, | ||
| 4649 | 0x0400000d, 0x82040c00, 0x00000002, 0x8058b040, | ||
| 4650 | 0x040207f6, 0x400c2000, 0x580c0001, 0x80001d40, | ||
| 4651 | 0x040207ee, 0x82000540, 0x00000001, 0x5c00b000, | ||
| 4652 | 0x1c01f000, 0x80000580, 0x0401f7fd, 0x4937c857, | ||
| 4653 | 0x4c580000, 0x4d2c0000, 0x5934000d, 0x80025d40, | ||
| 4654 | 0x04020016, 0x0201f800, 0x001007e4, 0x04000010, | ||
| 4655 | 0x492e680d, 0x4a025802, 0x00000001, 0x497a5803, | ||
| 4656 | 0x832c0c00, 0x00000004, 0x4200b000, 0x00000010, | ||
| 4657 | 0x46000800, 0xffffffff, 0x80040800, 0x8058b040, | ||
| 4658 | 0x040207fc, 0x82000540, 0x00000001, 0x5c025800, | ||
| 4659 | 0x5c00b000, 0x1c01f000, 0x4d2c0000, 0x592e5801, | ||
| 4660 | 0x0201f800, 0x001007fd, 0x5c025800, 0x0401f7ea, | ||
| 4661 | 0x4d2c0000, 0x5936580d, 0x812e59c0, 0x04000007, | ||
| 4662 | 0x4937c857, 0x497a680d, 0x0201f800, 0x001007fd, | ||
| 4663 | 0x82000540, 0x00000001, 0x5c025800, 0x1c01f000, | ||
| 4664 | 0x59340405, 0x4937c857, 0x4803c857, 0x8c000508, | ||
| 4665 | 0x1c01f000, 0x4803c856, 0x0201f800, 0x0010513b, | ||
| 4666 | 0x04000011, 0x59a80815, 0x8c040d04, 0x0402000e, | ||
| 4667 | 0x59a80826, 0x8c040d06, 0x0400000b, 0x83ac0400, | ||
| 4668 | 0x000007fe, 0x50000000, 0x80026d40, 0x04000006, | ||
| 4669 | 0x0401f9a7, 0x04020004, 0x59340200, 0x8400055a, | ||
| 4670 | 0x48026a00, 0x599c0017, 0x8c000508, 0x04000015, | ||
| 4671 | 0x4200b000, 0x000007f0, 0x417a8800, 0x0201f800, | ||
| 4672 | 0x00020245, 0x0402000c, 0x0401f999, 0x0402000a, | ||
| 4673 | 0x59a80010, 0x59340802, 0x80040580, 0x82000500, | ||
| 4674 | 0x00ffff00, 0x04020004, 0x59340200, 0x8400055a, | ||
| 4675 | 0x48026a00, 0x81468800, 0x8058b040, 0x040207f0, | ||
| 4676 | 0x0401f884, 0x04000003, 0x59a80836, 0x0401f006, | ||
| 4677 | 0x599c0017, 0x8c000508, 0x04000007, 0x42000800, | ||
| 4678 | 0x000007d0, 0x42001000, 0x00104876, 0x0201f800, | ||
| 4679 | 0x0010606e, 0x1c01f000, 0x4803c856, 0x4d340000, | ||
| 4680 | 0x4d440000, 0x4d3c0000, 0x4c580000, 0x42001000, | ||
| 4681 | 0x00104876, 0x0201f800, 0x00105f90, 0x59a80826, | ||
| 4682 | 0x8c040d06, 0x04000015, 0x0401f86a, 0x04000013, | ||
| 4683 | 0x83ae6c00, 0x000007fe, 0x51366800, 0x59340200, | ||
| 4684 | 0x8400051a, 0x48026a00, 0x599c0017, 0x8c000508, | ||
| 4685 | 0x04000007, 0x42000800, 0x000007d0, 0x42001000, | ||
| 4686 | 0x00104876, 0x0201f800, 0x0010606e, 0x0201f800, | ||
| 4687 | 0x00101e45, 0x0401f027, 0x4200b000, 0x000007f0, | ||
| 4688 | 0x80028d80, 0x0201f800, 0x00020245, 0x0402001e, | ||
| 4689 | 0x59340200, 0x8c00051a, 0x0400001b, 0x59368c03, | ||
| 4690 | 0x417a7800, 0x42028000, 0x00000029, 0x41783000, | ||
| 4691 | 0x0201f800, 0x0010a446, 0x59340200, 0x84000558, | ||
| 4692 | 0x8400051a, 0x48026a00, 0x4937c857, 0x4a026c00, | ||
| 4693 | 0x00000707, 0x42028000, 0x00000029, 0x0201f800, | ||
| 4694 | 0x00106ab4, 0x417a7800, 0x0201f800, 0x001067fd, | ||
| 4695 | 0x80000d80, 0x0201f800, 0x0010a2ff, 0x0201f800, | ||
| 4696 | 0x00106c4b, 0x81468800, 0x8058b040, 0x040207de, | ||
| 4697 | 0x5c00b000, 0x5c027800, 0x5c028800, 0x5c026800, | ||
| 4698 | 0x1c01f000, 0x4933c857, 0x59303809, 0x581c0200, | ||
| 4699 | 0x8400051a, 0x48003a00, 0x1c01f000, 0x4803c856, | ||
| 4700 | 0x42026800, 0x0010b524, 0x497a680e, 0x42028800, | ||
| 4701 | 0x000007ff, 0x0201f800, 0x001042b4, 0x4937c857, | ||
| 4702 | 0x4a026c00, 0x00000606, 0x4a026802, 0x00ffffff, | ||
| 4703 | 0x4a026a04, 0x00000200, 0x4a026c04, 0x00000002, | ||
| 4704 | 0x1c01f000, 0x59300009, 0x50000000, 0x4933c857, | ||
| 4705 | 0x4803c857, 0x8c00050e, 0x1c01f000, 0x59300009, | ||
| 4706 | 0x50000000, 0x8c00050a, 0x1c01f000, 0x4933c856, | ||
| 4707 | 0x0401f90f, 0x04000006, 0x59340400, 0x82000d00, | ||
| 4708 | 0x000000ff, 0x82041580, 0x00000005, 0x1c01f000, | ||
| 4709 | 0x4d340000, 0x83ac0400, 0x000007fe, 0x50000000, | ||
| 4710 | 0x80026d40, 0x04000003, 0x59340200, 0x8c00051a, | ||
| 4711 | 0x5c026800, 0x1c01f000, 0x4937c857, 0x493fc857, | ||
| 4712 | 0x59340403, 0x81ac0400, 0x50000000, 0x81340580, | ||
| 4713 | 0x02020800, 0x001005d8, 0x59341200, 0x813e79c0, | ||
| 4714 | 0x04000003, 0x8408155e, 0x0401f002, 0x8408151e, | ||
| 4715 | 0x480a6a00, 0x1c01f000, 0x4937c857, 0x0201f800, | ||
| 4716 | 0x0010210a, 0x04000006, 0x59a80835, 0x42001000, | ||
| 4717 | 0x00104910, 0x0201f800, 0x0010606e, 0x1c01f000, | ||
| 4718 | 0x4937c857, 0x42001000, 0x00104910, 0x0201f800, | ||
| 4719 | 0x00105f90, 0x59a81026, 0x84081512, 0x480b5026, | ||
| 4720 | 0x1c01f000, 0x4c380000, 0x4c340000, 0x4c240000, | ||
| 4721 | 0x4c600000, 0x4008c000, 0x83440480, 0x00000800, | ||
| 4722 | 0x04021045, 0x80002d80, 0x41442000, 0x83447400, | ||
| 4723 | 0x0010ac00, 0x4200b000, 0x000007f0, 0x83444c80, | ||
| 4724 | 0x000007f0, 0x04001003, 0x4200b000, 0x00000010, | ||
| 4725 | 0x50380000, 0x80000540, 0x0402001e, 0x41440000, | ||
| 4726 | 0x80100580, 0x04020043, 0x40102800, 0x82104c80, | ||
| 4727 | 0x000007f0, 0x04001015, 0x82104d80, 0x000007fc, | ||
| 4728 | 0x04020005, 0x82604d80, 0x00fffffc, 0x0402002a, | ||
| 4729 | 0x0401f00e, 0x82104d80, 0x000007fd, 0x04020005, | ||
| 4730 | 0x82604d80, 0x00fffffd, 0x04020023, 0x0401f007, | ||
| 4731 | 0x82104d80, 0x000007ff, 0x0402001f, 0x82604d80, | ||
| 4732 | 0x00ffffff, 0x0402001c, 0x84142d5e, 0x0401f029, | ||
| 4733 | 0x40006800, 0x58343002, 0x82183500, 0x00ffffff, | ||
| 4734 | 0x40180000, 0x80600580, 0x04020019, 0x40100000, | ||
| 4735 | 0x81440580, 0x0402000a, 0x40366800, 0x8c204508, | ||
| 4736 | 0x04000053, 0x0401ff8a, 0x04020051, 0x4947c857, | ||
| 4737 | 0x42000000, 0x0000001d, 0x0401f04e, 0x4947c857, | ||
| 4738 | 0x480bc857, 0x4823c857, 0x42000000, 0x0000001a, | ||
| 4739 | 0x0401f048, 0x4947c857, 0x4863c857, 0x4813c857, | ||
| 4740 | 0x42000000, 0x00000019, 0x0401f042, 0x40100000, | ||
| 4741 | 0x81440580, 0x04020007, 0x58343002, 0x4947c857, | ||
| 4742 | 0x481bc857, 0x42000000, 0x0000001b, 0x0401f039, | ||
| 4743 | 0x80102000, 0x80387000, 0x83444c80, 0x000007f0, | ||
| 4744 | 0x04001009, 0x82104d80, 0x00000800, 0x0402000c, | ||
| 4745 | 0x42002000, 0x000007f0, 0x42007000, 0x0010b3f0, | ||
| 4746 | 0x0401f007, 0x82104d80, 0x000007f0, 0x04020004, | ||
| 4747 | 0x41782000, 0x42007000, 0x0010ac00, 0x8058b040, | ||
| 4748 | 0x040207a4, 0x801429c0, 0x04020007, 0x0201f800, | ||
| 4749 | 0x001005d8, 0x4947c857, 0x42000000, 0x0000000a, | ||
| 4750 | 0x0401f01c, 0x4d2c0000, 0x4c180000, 0x40603000, | ||
| 4751 | 0x0401fc12, 0x4947c857, 0x4937c857, 0x5c003000, | ||
| 4752 | 0x5c025800, 0x040207f4, 0x497a6a12, 0x59a80026, | ||
| 4753 | 0x8c00050a, 0x0402000d, 0x82600500, 0x00ffff00, | ||
| 4754 | 0x04000006, 0x59a84810, 0x82244d00, 0x00ffff00, | ||
| 4755 | 0x80240580, 0x04020005, 0x82600500, 0x000000ff, | ||
| 4756 | 0x800000d0, 0x48026a12, 0x48626802, 0x80000580, | ||
| 4757 | 0x80000540, 0x5c00c000, 0x5c004800, 0x5c006800, | ||
| 4758 | 0x5c007000, 0x1c01f000, 0x5934000f, 0x5934140b, | ||
| 4759 | 0x80081040, 0x04001002, 0x480a6c0b, 0x80000540, | ||
| 4760 | 0x02020800, 0x00020253, 0x1c01f000, 0x4803c857, | ||
| 4761 | 0x4947c857, 0x4c300000, 0x82006500, 0x00000030, | ||
| 4762 | 0x04000006, 0x4c000000, 0x0201f800, 0x0010942a, | ||
| 4763 | 0x5c000000, 0x0402000b, 0x8c00050e, 0x04000006, | ||
| 4764 | 0x0201f800, 0x00020245, 0x04020006, 0x4937c857, | ||
| 4765 | 0x0401fc2f, 0x80000580, 0x5c006000, 0x1c01f000, | ||
| 4766 | 0x82000540, 0x00000001, 0x0401f7fc, 0x4803c857, | ||
| 4767 | 0x4c580000, 0x4d440000, 0x40001000, 0x80000d80, | ||
| 4768 | 0x4200b000, 0x000007f0, 0x4c040000, 0x40068800, | ||
| 4769 | 0x4c080000, 0x40080000, 0x0401ffdd, 0x5c001000, | ||
| 4770 | 0x5c000800, 0x80040800, 0x8058b040, 0x040207f7, | ||
| 4771 | 0x5c028800, 0x5c00b000, 0x1c01f000, 0x4c5c0000, | ||
| 4772 | 0x59340400, 0x8200bd80, 0x00000606, 0x5c00b800, | ||
| 4773 | 0x1c01f000, 0x4c5c0000, 0x59340400, 0x8200bd80, | ||
| 4774 | 0x00000404, 0x5c00b800, 0x1c01f000, 0x4c5c0000, | ||
| 4775 | 0x59340400, 0x8200bd80, 0x00000404, 0x04000003, | ||
| 4776 | 0x8200bd80, 0x00000606, 0x5c00b800, 0x1c01f000, | ||
| 4777 | 0x4c5c0000, 0x4c600000, 0x59340400, 0x8200bd00, | ||
| 4778 | 0x0000ff00, 0x825cc580, 0x00000400, 0x04000003, | ||
| 4779 | 0x825cc580, 0x00000600, 0x5c00c000, 0x5c00b800, | ||
| 4780 | 0x1c01f000, 0x4c5c0000, 0x59340400, 0x82000500, | ||
| 4781 | 0x000000ff, 0x8200bd80, 0x00000003, 0x04000003, | ||
| 4782 | 0x8200bd80, 0x00000005, 0x5c00b800, 0x1c01f000, | ||
| 4783 | 0x4c5c0000, 0x59340400, 0x82000500, 0x0000ff00, | ||
| 4784 | 0x8400b9c0, 0x805c0580, 0x4937c857, 0x4803c857, | ||
| 4785 | 0x48026c00, 0x5c00b800, 0x1c01f000, 0x4c040000, | ||
| 4786 | 0x4c080000, 0x592c0207, 0x8c00050c, 0x0400000f, | ||
| 4787 | 0x592e8c06, 0x82000500, 0x00000080, 0x84000548, | ||
| 4788 | 0x4d3c0000, 0x42027800, 0x00001000, 0x0401ff90, | ||
| 4789 | 0x5c027800, 0x82000540, 0x00000001, 0x5c001000, | ||
| 4790 | 0x5c000800, 0x1c01f000, 0x80000580, 0x0401f7fc, | ||
| 4791 | 0x592c040b, 0x82000500, 0x0000e000, 0x82000580, | ||
| 4792 | 0x00006000, 0x04000019, 0x836c0580, 0x00000003, | ||
| 4793 | 0x04000016, 0x836c0580, 0x00000002, 0x040200ff, | ||
| 4794 | 0x59a80026, 0x82000d00, 0x00000038, 0x04020005, | ||
| 4795 | 0x59a80832, 0x800409c0, 0x0400000c, 0x0401f0f7, | ||
| 4796 | 0x82000d00, 0x00000003, 0x82040d80, 0x00000003, | ||
| 4797 | 0x040200f2, 0x82000d00, 0x00000028, 0x04020003, | ||
| 4798 | 0x8c00050c, 0x040000ed, 0x592c100a, 0x82080500, | ||
| 4799 | 0xff000000, 0x040200ce, 0x59a80010, 0x80080580, | ||
| 4800 | 0x040000c8, 0x592c0c0b, 0x82040d00, 0x0000e000, | ||
| 4801 | 0x82040480, 0x00008000, 0x040210c8, 0x592e8c06, | ||
| 4802 | 0x83440480, 0x00000800, 0x04001007, 0x83440580, | ||
| 4803 | 0x0000ffff, 0x040200af, 0x800409c0, 0x040200f7, | ||
| 4804 | 0x0401f0ac, 0x800409c0, 0x040200f4, 0x41784000, | ||
| 4805 | 0x0401fead, 0x040200db, 0x42027000, 0x00000053, | ||
| 4806 | 0x592c2409, 0x82100500, 0xffffff00, 0x040200aa, | ||
| 4807 | 0x4813c857, 0x592c000c, 0x800001c0, 0x04000083, | ||
| 4808 | 0x82100580, 0x00000004, 0x040000a0, 0x82100580, | ||
| 4809 | 0x00000051, 0x0400009d, 0x82100580, 0x00000003, | ||
| 4810 | 0x04000016, 0x82100580, 0x00000020, 0x0400004b, | ||
| 4811 | 0x82100580, 0x00000024, 0x04000042, 0x82100580, | ||
| 4812 | 0x00000021, 0x04000042, 0x82100580, 0x00000050, | ||
| 4813 | 0x04000037, 0x82100580, 0x00000052, 0x04000031, | ||
| 4814 | 0x82100580, 0x00000005, 0x0402006b, 0x42027000, | ||
| 4815 | 0x00000001, 0x0401f01b, 0x42027000, 0x00000002, | ||
| 4816 | 0x59a80005, 0x8c000514, 0x04000016, 0x0401ff4c, | ||
| 4817 | 0x04000014, 0x59340212, 0x82000500, 0x0000ff00, | ||
| 4818 | 0x42001000, 0x00000010, 0x0402000c, 0x59a80026, | ||
| 4819 | 0x8c000506, 0x0402006f, 0x42001000, 0x00000008, | ||
| 4820 | 0x59340002, 0x82000500, 0x00ff0000, 0x82000580, | ||
| 4821 | 0x00ff0000, 0x04000003, 0x0401f9bf, 0x04020065, | ||
| 4822 | 0x0201f800, 0x0002075a, 0x0400007e, 0x4a026406, | ||
| 4823 | 0x00000010, 0x49366009, 0x42000800, 0x00000003, | ||
| 4824 | 0x83380580, 0x00000002, 0x04000003, 0x42000800, | ||
| 4825 | 0x0000000b, 0x0201f800, 0x00104571, 0x0401f044, | ||
| 4826 | 0x42027000, 0x00000000, 0x0401f003, 0x42027000, | ||
| 4827 | 0x00000004, 0x0401ff37, 0x04020071, 0x0401f036, | ||
| 4828 | 0x42027000, 0x00000033, 0x0401f006, 0x42027000, | ||
| 4829 | 0x00000005, 0x0401f003, 0x42027000, 0x00000003, | ||
| 4830 | 0x0401ff23, 0x04020066, 0x59a80005, 0x8c000514, | ||
| 4831 | 0x04000016, 0x0401ff12, 0x04000014, 0x59340212, | ||
| 4832 | 0x82000500, 0x0000ff00, 0x42001000, 0x00000010, | ||
| 4833 | 0x0402000c, 0x59a80026, 0x8c000506, 0x04020035, | ||
| 4834 | 0x42001000, 0x00000008, 0x59340002, 0x82000500, | ||
| 4835 | 0x00ff0000, 0x82000580, 0x00ff0000, 0x04000003, | ||
| 4836 | 0x0401f985, 0x0402002b, 0x0201f800, 0x0002075a, | ||
| 4837 | 0x04000044, 0x4a026406, 0x00000010, 0x49366009, | ||
| 4838 | 0x42000800, 0x00000005, 0x83380580, 0x00000003, | ||
| 4839 | 0x04000003, 0x42000800, 0x00000009, 0x0201f800, | ||
| 4840 | 0x00104571, 0x0401f00a, 0x82102580, 0x00000011, | ||
| 4841 | 0x0402002d, 0x0201f800, 0x0002075a, 0x04000031, | ||
| 4842 | 0x4a026406, 0x00000010, 0x49366009, 0x492e6008, | ||
| 4843 | 0x49325808, 0x813669c0, 0x04000007, 0x592c0c0b, | ||
| 4844 | 0x8c040d18, 0x04000004, 0x59340200, 0x84000514, | ||
| 4845 | 0x48026a00, 0x0201f800, 0x000207a1, 0x80000580, | ||
| 4846 | 0x1c01f000, 0x82000540, 0x00000001, 0x0401f7fd, | ||
| 4847 | 0x42001000, 0x0000000a, 0x0401f015, 0x42001000, | ||
| 4848 | 0x00000010, 0x0401f012, 0x42001000, 0x00000016, | ||
| 4849 | 0x0401f00f, 0x42001000, 0x00000017, 0x0401f00c, | ||
| 4850 | 0x42001000, 0x00000018, 0x0401f009, 0x42001000, | ||
| 4851 | 0x0000001b, 0x0401f006, 0x42001000, 0x0000001e, | ||
| 4852 | 0x0401f003, 0x42001000, 0x00000020, 0x42000800, | ||
| 4853 | 0x00000019, 0x42028000, 0x00000031, 0x0401f7e2, | ||
| 4854 | 0x42000800, 0x00000003, 0x0401f003, 0x42000800, | ||
| 4855 | 0x0000000a, 0x41781000, 0x0401f7f7, 0x42000800, | ||
| 4856 | 0x00000009, 0x59341400, 0x0401f7f3, 0x42028000, | ||
| 4857 | 0x00000008, 0x0401f005, 0x42000800, 0x00000007, | ||
| 4858 | 0x416c1000, 0x0401f7ec, 0x41780800, 0x41781000, | ||
| 4859 | 0x0401f7cd, 0x42028000, 0x00000000, 0x0401f7fb, | ||
| 4860 | 0x82004d80, 0x0000001d, 0x02000800, 0x001005d8, | ||
| 4861 | 0x82004d80, 0x0000001a, 0x04020004, 0x40101000, | ||
| 4862 | 0x40000800, 0x0401f7dc, 0x82004d80, 0x0000001b, | ||
| 4863 | 0x04020003, 0x40181000, 0x0401f7fa, 0x82004d80, | ||
| 4864 | 0x0000001c, 0x040007f7, 0x82004d80, 0x00000019, | ||
| 4865 | 0x040007b8, 0x0401f7d6, 0x592e6008, 0x0201f800, | ||
| 4866 | 0x0010941a, 0x040007b6, 0x59300c06, 0x82040580, | ||
| 4867 | 0x00000011, 0x040207d6, 0x83440580, 0x0000ffff, | ||
| 4868 | 0x04020005, 0x59326809, 0x813669c0, 0x0400000e, | ||
| 4869 | 0x0401f7cf, 0x592c100a, 0x82081500, 0x00ffffff, | ||
| 4870 | 0x41784000, 0x0401fda8, 0x040207d6, 0x59300009, | ||
| 4871 | 0x800001c0, 0x04000003, 0x81340580, 0x040207c4, | ||
| 4872 | 0x49366009, 0x592c0c0b, 0x82041500, 0x0000e000, | ||
| 4873 | 0x82080580, 0x00006000, 0x04000009, 0x59300a03, | ||
| 4874 | 0x82040580, 0x00000007, 0x040207b9, 0x492e6008, | ||
| 4875 | 0x42027000, 0x00000054, 0x0401f77f, 0x0201f800, | ||
| 4876 | 0x0010a8d4, 0x040007bc, 0x0401f7b1, 0x492fc857, | ||
| 4877 | 0x59a80021, 0x800001c0, 0x04020073, 0x592e6008, | ||
| 4878 | 0x4933c857, 0x0201f800, 0x0010941a, 0x04000041, | ||
| 4879 | 0x59301406, 0x82080580, 0x00000005, 0x0402005b, | ||
| 4880 | 0x59301203, 0x82080580, 0x00000007, 0x04020057, | ||
| 4881 | 0x592e8c06, 0x83440480, 0x00000800, 0x04021032, | ||
| 4882 | 0x41784000, 0x592c1009, 0x82081500, 0x00ffffff, | ||
| 4883 | 0x0401fd75, 0x0402005f, 0x59300009, 0x800001c0, | ||
| 4884 | 0x04000003, 0x81340580, 0x04020048, 0x4d300000, | ||
| 4885 | 0x592e6013, 0x4933c857, 0x83300580, 0xffffffff, | ||
| 4886 | 0x0400000d, 0x0201f800, 0x0010941a, 0x5c026000, | ||
| 4887 | 0x04000029, 0x591c1406, 0x82080580, 0x00000006, | ||
| 4888 | 0x04000046, 0x82080580, 0x00000011, 0x04000043, | ||
| 4889 | 0x0401f002, 0x5c026000, 0x59a80010, 0x592c100a, | ||
| 4890 | 0x82081500, 0x00ffffff, 0x80081580, 0x04020017, | ||
| 4891 | 0x592c1009, 0x82081500, 0x00ffffff, 0x80081580, | ||
| 4892 | 0x0400000f, 0x49366009, 0x492e6008, 0x42027000, | ||
| 4893 | 0x00000092, 0x0201f800, 0x000207a1, 0x80000580, | ||
| 4894 | 0x1c01f000, 0x42001000, 0x0000000a, 0x0401f00c, | ||
| 4895 | 0x42001000, 0x00000010, 0x0401f009, 0x42001000, | ||
| 4896 | 0x00000014, 0x0401f006, 0x42001000, 0x00000018, | ||
| 4897 | 0x0401f003, 0x42001000, 0x0000003c, 0x492fc857, | ||
| 4898 | 0x480bc857, 0x42000800, 0x00000019, 0x42028000, | ||
| 4899 | 0x00000031, 0x82000540, 0x00000001, 0x0401f7e9, | ||
| 4900 | 0x492fc857, 0x4803c857, 0x480bc857, 0x40000800, | ||
| 4901 | 0x0401f7f7, 0x492fc857, 0x42000800, 0x0000000a, | ||
| 4902 | 0x41781000, 0x0401f7f2, 0x4933c857, 0x59300406, | ||
| 4903 | 0x4803c857, 0x59300203, 0x4803c857, 0x59300009, | ||
| 4904 | 0x4803c857, 0x42028000, 0x00000008, 0x41780800, | ||
| 4905 | 0x41781000, 0x0401f7e8, 0x42000800, 0x0000001e, | ||
| 4906 | 0x0401f7f0, 0x42000800, 0x00000001, 0x0401f7ed, | ||
| 4907 | 0x82004d80, 0x0000001d, 0x02000800, 0x001005d8, | ||
| 4908 | 0x82004d80, 0x0000001a, 0x04020003, 0x40101000, | ||
| 4909 | 0x0401f7dc, 0x82004d80, 0x0000001b, 0x04020003, | ||
| 4910 | 0x40181000, 0x0401f7d7, 0x82004d80, 0x0000001c, | ||
| 4911 | 0x040007d4, 0x82004d80, 0x00000019, 0x040007d1, | ||
| 4912 | 0x0401f7d5, 0x59302009, 0x801021c0, 0x04000035, | ||
| 4913 | 0x58101400, 0x82081d00, 0x000000ff, 0x59300c03, | ||
| 4914 | 0x82040580, 0x00000008, 0x04000022, 0x82040580, | ||
| 4915 | 0x0000000a, 0x04000017, 0x82040580, 0x0000000c, | ||
| 4916 | 0x04000010, 0x82040580, 0x00000002, 0x04000019, | ||
| 4917 | 0x82040580, 0x00000001, 0x04000012, 0x82040580, | ||
| 4918 | 0x00000003, 0x0400000b, 0x82040580, 0x00000005, | ||
| 4919 | 0x04000004, 0x82040580, 0x00000033, 0x04020019, | ||
| 4920 | 0x820c0580, 0x00000009, 0x0400000d, 0x0401f015, | ||
| 4921 | 0x820c0580, 0x00000005, 0x04000009, 0x0401f011, | ||
| 4922 | 0x820c0580, 0x0000000b, 0x04000005, 0x0401f00d, | ||
| 4923 | 0x820c0580, 0x00000003, 0x0402000a, 0x82081d00, | ||
| 4924 | 0xffffff00, 0x840c01c0, 0x800c0540, 0x4813c857, | ||
| 4925 | 0x480bc857, 0x4807c857, 0x4803c857, 0x48002400, | ||
| 4926 | 0x1c01f000, 0x599c0017, 0x8c00050a, 0x04000003, | ||
| 4927 | 0x80000580, 0x1c01f000, 0x59a80026, 0x82000500, | ||
| 4928 | 0x00000028, 0x04000008, 0x42028800, 0x000007fd, | ||
| 4929 | 0x0201f800, 0x00020245, 0x04020003, 0x5934000a, | ||
| 4930 | 0x8c000504, 0x1c01f000, 0x4d300000, 0x5934000e, | ||
| 4931 | 0x80026540, 0x04000006, 0x0201f800, 0x001062d5, | ||
| 4932 | 0x02000800, 0x001064ad, 0x497a680e, 0x5c026000, | ||
| 4933 | 0x1c01f000, 0x4d440000, 0x4d340000, 0x80000580, | ||
| 4934 | 0x40001800, 0x40028800, 0x82080580, 0x00000008, | ||
| 4935 | 0x04020003, 0x42001800, 0x00000001, 0x0201f800, | ||
| 4936 | 0x00020245, 0x0402000a, 0x0401fd6d, 0x04020008, | ||
| 4937 | 0x800c19c0, 0x04000004, 0x59340405, 0x8c000508, | ||
| 4938 | 0x04000003, 0x80081040, 0x04000009, 0x81468800, | ||
| 4939 | 0x83440480, 0x00000800, 0x040017f1, 0x80000580, | ||
| 4940 | 0x5c026800, 0x5c028800, 0x1c01f000, 0x82000540, | ||
| 4941 | 0x00000001, 0x5c026800, 0x5c028800, 0x1c01f000, | ||
| 4942 | 0x4a033020, 0x00000000, 0x497b3026, 0x497b3027, | ||
| 4943 | 0x497b3028, 0x497b3029, 0x497b302b, 0x497b3021, | ||
| 4944 | 0x4a03b104, 0x60000001, 0x1c01f000, 0x4803c856, | ||
| 4945 | 0x599c0018, 0x497b3024, 0x497b3025, 0x82000500, | ||
| 4946 | 0x0000000f, 0x82000d80, 0x00000005, 0x04000006, | ||
| 4947 | 0x82000580, 0x00000006, 0x0400000d, 0x497b3022, | ||
| 4948 | 0x1c01f000, 0x4a033022, 0x00000005, 0x599c0216, | ||
| 4949 | 0x82000500, 0x0000ffff, 0x04020003, 0x42000000, | ||
| 4950 | 0x00000002, 0x48033023, 0x1c01f000, 0x4a033022, | ||
| 4951 | 0x00000006, 0x0401f7f6, 0x0401ffe5, 0x4a03c826, | ||
| 4952 | 0x00000004, 0x599c0209, 0x80000540, 0x0400001f, | ||
| 4953 | 0x599c0207, 0x80000540, 0x04000007, 0x800000cc, | ||
| 4954 | 0x599c080d, 0x80040400, 0x4803b100, 0x497bb102, | ||
| 4955 | 0x59d80101, 0x599c000d, 0x4803b100, 0x599c000e, | ||
| 4956 | 0x4803b101, 0x599c0207, 0x80000540, 0x04020002, | ||
| 4957 | 0x497bb102, 0x599c0a09, 0x82040540, 0x00400000, | ||
| 4958 | 0x59980822, 0x4803b103, 0x4a03b109, 0x00000004, | ||
| 4959 | 0x4a03b104, 0x10000001, 0x800409c0, 0x04020004, | ||
| 4960 | 0x4a033020, 0x00000001, 0x1c01f000, 0x4a033020, | ||
| 4961 | 0x00000002, 0x0401f7fd, 0x59980022, 0x4803c856, | ||
| 4962 | 0x80000540, 0x02000000, 0x000202de, 0x0401f017, | ||
| 4963 | 0x42034000, 0x0010b4a4, 0x59a1d81e, 0x80edd9c0, | ||
| 4964 | 0x02000800, 0x001005d8, 0x58ec0009, 0x48efc857, | ||
| 4965 | 0x49a3c857, 0x492fc857, 0x4803c857, 0x800001c0, | ||
| 4966 | 0x08020000, 0x0201f800, 0x001005d8, 0x5931d821, | ||
| 4967 | 0x58ef400b, 0x58ec0009, 0x800001c0, 0x08020000, | ||
| 4968 | 0x0201f800, 0x001005d8, 0x497a5800, 0x59980026, | ||
| 4969 | 0x80000540, 0x0402008c, 0x59d80105, 0x82000d00, | ||
| 4970 | 0x00018780, 0x040201da, 0x80000106, 0x82000500, | ||
| 4971 | 0x00000003, 0x0c01f001, 0x00104d0a, 0x00104d89, | ||
| 4972 | 0x00104d22, 0x00104d50, 0x592c0001, 0x492fc857, | ||
| 4973 | 0x492fb107, 0x80000d40, 0x04020007, 0x59940019, | ||
| 4974 | 0x80000540, 0x04022003, 0x59980023, 0x48032819, | ||
| 4975 | 0x1c01f000, 0x497a5801, 0x40065800, 0x592c0001, | ||
| 4976 | 0x496a5800, 0x815eb800, 0x412ed000, 0x80000d40, | ||
| 4977 | 0x040207f9, 0x59c80000, 0x82000540, 0x00001200, | ||
| 4978 | 0x48039000, 0x0401f7ee, 0x492fc857, 0x492fb107, | ||
| 4979 | 0x592c0001, 0x80000d40, 0x04020012, 0x59da5908, | ||
| 4980 | 0x835c0480, 0x00000020, 0x0400101c, 0x0402b01a, | ||
| 4981 | 0x492fb007, 0x0400e7fa, 0x59d80105, 0x82000500, | ||
| 4982 | 0x00018780, 0x040201aa, 0x59940019, 0x80000540, | ||
| 4983 | 0x04022003, 0x59980023, 0x48032819, 0x1c01f000, | ||
| 4984 | 0x497a5801, 0x40065800, 0x592c0001, 0x496a5800, | ||
| 4985 | 0x815eb800, 0x412ed000, 0x80000d40, 0x040207f9, | ||
| 4986 | 0x59c80000, 0x82000540, 0x00001200, 0x48039000, | ||
| 4987 | 0x0401f7e3, 0x0400f009, 0x496a5800, 0x412ed000, | ||
| 4988 | 0x815eb800, 0x59c80000, 0x82000540, 0x00001200, | ||
| 4989 | 0x48039000, 0x0401f7e0, 0x492fa807, 0x0401f7de, | ||
| 4990 | 0x492fc857, 0x59d81108, 0x45681000, 0x400ad000, | ||
| 4991 | 0x815eb800, 0x0400e7fc, 0x59c80000, 0x82000540, | ||
| 4992 | 0x00001200, 0x48039000, 0x0402d00c, 0x592c0001, | ||
| 4993 | 0x492fc857, 0x492fb107, 0x80000d40, 0x0402001d, | ||
| 4994 | 0x59940019, 0x80000540, 0x04022003, 0x59980023, | ||
| 4995 | 0x48032819, 0x1c01f000, 0x59d80105, 0x82000500, | ||
| 4996 | 0x00018780, 0x04020172, 0x42000000, 0x0010b855, | ||
| 4997 | 0x0201f800, 0x0010aa47, 0x59980026, 0x59980828, | ||
| 4998 | 0x80000000, 0x48033026, 0x492fc857, 0x800409c0, | ||
| 4999 | 0x492f3028, 0x04000003, 0x492c0800, 0x0401f002, | ||
| 5000 | 0x492f3029, 0x592c0001, 0x80000d40, 0x040007e5, | ||
| 5001 | 0x497a5801, 0x40065800, 0x592c0001, 0x496a5800, | ||
| 5002 | 0x815eb800, 0x412ed000, 0x80000d40, 0x040207f9, | ||
| 5003 | 0x59c80000, 0x82000540, 0x00001200, 0x48039000, | ||
| 5004 | 0x0401f7d8, 0x59980026, 0x59980828, 0x80000000, | ||
| 5005 | 0x48033026, 0x492fc857, 0x800409c0, 0x492f3028, | ||
| 5006 | 0x04000003, 0x492c0800, 0x0401f002, 0x492f3029, | ||
| 5007 | 0x592c0001, 0x80000d40, 0x04020027, 0x0402d00e, | ||
| 5008 | 0x59980029, 0x80025d40, 0x0400000f, 0x59980026, | ||
| 5009 | 0x80000040, 0x48033026, 0x04020002, 0x48033028, | ||
| 5010 | 0x592c0000, 0x48033029, 0x492fc857, 0x492fb107, | ||
| 5011 | 0x0400d7f4, 0x42000000, 0x0010b855, 0x0201f800, | ||
| 5012 | 0x0010aa47, 0x0402e00a, 0x59da5908, 0x496a5800, | ||
| 5013 | 0x412ed000, 0x815eb800, 0x0400e7fc, 0x59c80000, | ||
| 5014 | 0x82000540, 0x00001200, 0x48039000, 0x59d80105, | ||
| 5015 | 0x82000500, 0x00018780, 0x04020125, 0x59940019, | ||
| 5016 | 0x80000540, 0x04022003, 0x59980023, 0x48032819, | ||
| 5017 | 0x1c01f000, 0x497a5801, 0x40065800, 0x592c0001, | ||
| 5018 | 0x496a5800, 0x815eb800, 0x412ed000, 0x80000d40, | ||
| 5019 | 0x040207f9, 0x59c80000, 0x82000540, 0x00001200, | ||
| 5020 | 0x48039000, 0x0401f7ce, 0x592c0204, 0x4803c856, | ||
| 5021 | 0x04000008, 0x42034000, 0x0010b4a4, 0x59a1d81e, | ||
| 5022 | 0x80edd9c0, 0x02000800, 0x001005d8, 0x0401f003, | ||
| 5023 | 0x5931d821, 0x58ef400b, 0x58ec0009, 0x800001c0, | ||
| 5024 | 0x08020000, 0x0201f800, 0x001005d8, 0x497a5801, | ||
| 5025 | 0x40065800, 0x592c0001, 0x496a5800, 0x412ed000, | ||
| 5026 | 0x815eb800, 0x80000d40, 0x040207f9, 0x59c80000, | ||
| 5027 | 0x82000540, 0x00001200, 0x48039000, 0x1c01f000, | ||
| 5028 | 0x497a5801, 0x40065800, 0x592c0001, 0x496a5800, | ||
| 5029 | 0x412ed000, 0x815eb800, 0x80000d40, 0x040207f9, | ||
| 5030 | 0x59c80000, 0x82000540, 0x00001200, 0x48039000, | ||
| 5031 | 0x0200e000, 0x000202fb, 0x0201f000, 0x00020302, | ||
| 5032 | 0x5998002b, 0x84000540, 0x4803302b, 0x0201f000, | ||
| 5033 | 0x0002035e, 0x42000000, 0x0010b855, 0x0201f800, | ||
| 5034 | 0x0010aa47, 0x492fc857, 0x59980026, 0x59980828, | ||
| 5035 | 0x80000000, 0x48033026, 0x800409c0, 0x492f3028, | ||
| 5036 | 0x04000003, 0x492c0800, 0x0401f002, 0x492f3029, | ||
| 5037 | 0x592c0001, 0x80000d40, 0x04020002, 0x1c01f000, | ||
| 5038 | 0x497a5801, 0x40065800, 0x592c0001, 0x496a5800, | ||
| 5039 | 0x412ed000, 0x815eb800, 0x80000d40, 0x040207f9, | ||
| 5040 | 0x59c80000, 0x82000540, 0x00001200, 0x48039000, | ||
| 5041 | 0x1c01f000, 0x59980026, 0x59980828, 0x80000000, | ||
| 5042 | 0x48033026, 0x492fc857, 0x800409c0, 0x492f3028, | ||
| 5043 | 0x04000003, 0x492c0800, 0x0401f002, 0x492f3029, | ||
| 5044 | 0x592c0001, 0x80000d40, 0x04020039, 0x0402d00e, | ||
| 5045 | 0x59980029, 0x80025d40, 0x0400000f, 0x59980026, | ||
| 5046 | 0x80000040, 0x48033026, 0x04020002, 0x48033028, | ||
| 5047 | 0x592c0000, 0x48033029, 0x492fc857, 0x492fb107, | ||
| 5048 | 0x0400d7f4, 0x42000000, 0x0010b855, 0x0201f800, | ||
| 5049 | 0x0010aa47, 0x0402e01d, 0x59da5908, 0x496a5800, | ||
| 5050 | 0x412ed000, 0x815eb800, 0x0400e7fc, 0x59c80000, | ||
| 5051 | 0x82000540, 0x00001200, 0x48039000, 0x04006018, | ||
| 5052 | 0x59d8010a, 0x59d8090a, 0x80040d80, 0x040207fd, | ||
| 5053 | 0x900001c0, 0x82000540, 0x00000013, 0x4803c011, | ||
| 5054 | 0x5998002b, 0x84000500, 0x4803302b, 0x59e00017, | ||
| 5055 | 0x8c000508, 0x04000003, 0x4a03c017, 0x00000003, | ||
| 5056 | 0x4203e000, 0x30000001, 0x59d80105, 0x82000500, | ||
| 5057 | 0x00018780, 0x0402007e, 0x1c01f000, 0x5998002b, | ||
| 5058 | 0x84000540, 0x4803302b, 0x0401f7f8, 0x497a5801, | ||
| 5059 | 0x40065800, 0x592c0001, 0x496a5800, 0x412ed000, | ||
| 5060 | 0x815eb800, 0x80000d40, 0x040207f9, 0x59c80000, | ||
| 5061 | 0x82000540, 0x00001200, 0x48039000, 0x0401f7bc, | ||
| 5062 | 0x5c000000, 0x4c000000, 0x4803c857, 0x492fc857, | ||
| 5063 | 0x4943c857, 0x4807c857, 0x4a025a04, 0x00000103, | ||
| 5064 | 0x49425a06, 0x48065a08, 0x4a025c06, 0x0000ffff, | ||
| 5065 | 0x813261c0, 0x04000003, 0x59300402, 0x48025c06, | ||
| 5066 | 0x832c0400, 0x00000009, 0x04011000, 0x4803c840, | ||
| 5067 | 0x4a03c842, 0x0000000b, 0x04011000, 0x1c01f000, | ||
| 5068 | 0x4df00000, 0x4203e000, 0x50000000, 0x599cb817, | ||
| 5069 | 0x59940019, 0x80000540, 0x04002023, 0x0400000e, | ||
| 5070 | 0x59980022, 0x82000580, 0x00000005, 0x0400001e, | ||
| 5071 | 0x59a80069, 0x81640580, 0x0402001b, 0x8c5cbd08, | ||
| 5072 | 0x04000005, 0x59a8006a, 0x59a80866, 0x80040580, | ||
| 5073 | 0x04020015, 0x8c5cbd08, 0x04020030, 0x59d8090b, | ||
| 5074 | 0x59d8010a, 0x80040580, 0x0400000d, 0x0400600e, | ||
| 5075 | 0x4a03c011, 0x80400012, 0x4a03c020, 0x00008040, | ||
| 5076 | 0x59e00017, 0x8c000508, 0x04000003, 0x4a03c017, | ||
| 5077 | 0x00000002, 0x4203e000, 0x30000001, 0x4a032819, | ||
| 5078 | 0xffff0000, 0x04026835, 0x04006003, 0x8c5cbd08, | ||
| 5079 | 0x04020860, 0x59980029, 0x80025d40, 0x04000010, | ||
| 5080 | 0x59d80105, 0x82000500, 0x00018780, 0x04020020, | ||
| 5081 | 0x0402d00d, 0x59980026, 0x492fc857, 0x80000040, | ||
| 5082 | 0x48033026, 0x592c0000, 0x492fb107, 0x48033029, | ||
| 5083 | 0x04020003, 0x4803c856, 0x48033028, 0x5c03e000, | ||
| 5084 | 0x1c01f000, 0x42000000, 0x0010b855, 0x0201f800, | ||
| 5085 | 0x0010aa47, 0x0401f7fa, 0x59e0000f, 0x59e0080f, | ||
| 5086 | 0x80040580, 0x040207fd, 0x59e00010, 0x59e01010, | ||
| 5087 | 0x80081580, 0x040207fd, 0x40065000, 0x80041580, | ||
| 5088 | 0x040007c7, 0x040067dc, 0x0401f7ca, 0x4803c857, | ||
| 5089 | 0x485fc857, 0x8c00050e, 0x02020800, 0x001005d0, | ||
| 5090 | 0x4203e000, 0x50000000, 0x4200b800, 0x00008004, | ||
| 5091 | 0x0201f000, 0x001005dd, 0x5998002b, 0x8c000500, | ||
| 5092 | 0x04000013, 0x84000500, 0x4803302b, 0x59d8010a, | ||
| 5093 | 0x59d8090a, 0x80040580, 0x040207fd, 0x800408e0, | ||
| 5094 | 0x82040d40, 0x00000013, 0x4807c011, 0x59e00017, | ||
| 5095 | 0x8c000508, 0x04000003, 0x4a03c017, 0x00000003, | ||
| 5096 | 0x4203e000, 0x30000001, 0x1c01f000, 0x0402e014, | ||
| 5097 | 0x59da5908, 0x496a5800, 0x412ed000, 0x815eb800, | ||
| 5098 | 0x0400e7fc, 0x59c80000, 0x82000540, 0x00001200, | ||
| 5099 | 0x48039000, 0x59d8090b, 0x59980024, 0x48073024, | ||
| 5100 | 0x80040480, 0x04020004, 0x59940019, 0x80000540, | ||
| 5101 | 0x04022003, 0x59980823, 0x48072819, 0x59d80105, | ||
| 5102 | 0x82000500, 0x00018780, 0x040207c9, 0x1c01f000, | ||
| 5103 | 0x59981025, 0x59e00010, 0x59e00810, 0x80041d80, | ||
| 5104 | 0x040207fd, 0x80080580, 0x04000013, 0x48073025, | ||
| 5105 | 0x59e0000f, 0x59e0100f, 0x80081d80, 0x040207fd, | ||
| 5106 | 0x81280580, 0x04000008, 0x400a5000, 0x40080000, | ||
| 5107 | 0x80040580, 0x04000003, 0x59980823, 0x48072819, | ||
| 5108 | 0x1c01f000, 0x59940019, 0x80000540, 0x040227f8, | ||
| 5109 | 0x0401f7fc, 0x59e0000f, 0x59e0100f, 0x80081d80, | ||
| 5110 | 0x040207fd, 0x81280580, 0x040007f6, 0x400a5000, | ||
| 5111 | 0x59940019, 0x80000540, 0x040027ed, 0x0401f7f1, | ||
| 5112 | 0x59a80017, 0x82000c80, 0x0000000a, 0x02021800, | ||
| 5113 | 0x001005d8, 0x0c01f809, 0x4a038805, 0x000000f0, | ||
| 5114 | 0x59c400a3, 0x82000500, 0x02870000, 0x02020800, | ||
| 5115 | 0x001005d8, 0x1c01f000, 0x00104fc5, 0x00104f51, | ||
| 5116 | 0x00104f6c, 0x00104f95, 0x00104fb8, 0x00104ff2, | ||
| 5117 | 0x00105004, 0x00104f6c, 0x00104fd6, 0x00104f50, | ||
| 5118 | 0x1c01f000, 0x4a038808, 0x00000004, 0x0401f8f9, | ||
| 5119 | 0x0201f800, 0x001053ab, 0x59c40805, 0x8c040d0e, | ||
| 5120 | 0x04020013, 0x8c040d0a, 0x0402000b, 0x8c040d0c, | ||
| 5121 | 0x04020006, 0x8c040d08, 0x0400000d, 0x4a035017, | ||
| 5122 | 0x00000003, 0x0401f00a, 0x4a035017, 0x00000000, | ||
| 5123 | 0x0401f007, 0x42000000, 0x0010b844, 0x0201f800, | ||
| 5124 | 0x0010aa47, 0x4a035017, 0x00000002, 0x1c01f000, | ||
| 5125 | 0x4a038808, 0x00000002, 0x0401f8de, 0x59c40805, | ||
| 5126 | 0x8c040d08, 0x04020021, 0x8c040d0c, 0x0402001c, | ||
| 5127 | 0x8c040d0e, 0x04020017, 0x82040500, 0x000000f0, | ||
| 5128 | 0x0402001c, 0x0201f800, 0x001053ab, 0x4a038808, | ||
| 5129 | 0x00000080, 0x59c40002, 0x8400050c, 0x48038802, | ||
| 5130 | 0x0401f9d9, 0x4d3c0000, 0x42027800, 0x00000001, | ||
| 5131 | 0x0201f800, 0x00109874, 0x5c027800, 0x4a038808, | ||
| 5132 | 0x00000080, 0x4a035017, 0x00000009, 0x0401f009, | ||
| 5133 | 0x4a035017, 0x00000001, 0x0401f006, 0x4a035017, | ||
| 5134 | 0x00000000, 0x0401f003, 0x4a035017, 0x00000003, | ||
| 5135 | 0x1c01f000, 0x0401f8b7, 0x4a038808, 0x00000080, | ||
| 5136 | 0x59c40805, 0x8c040d0a, 0x0402001b, 0x8c040d0c, | ||
| 5137 | 0x04020016, 0x8c040d0e, 0x04020011, 0x82040500, | ||
| 5138 | 0x000000f0, 0x04020016, 0x59c40002, 0x8400050c, | ||
| 5139 | 0x48038802, 0x0401f9b4, 0x4d3c0000, 0x42027800, | ||
| 5140 | 0x00000001, 0x0201f800, 0x00109874, 0x5c027800, | ||
| 5141 | 0x4a035017, 0x00000009, 0x0401f009, 0x4a035017, | ||
| 5142 | 0x00000001, 0x0401f006, 0x4a035017, 0x00000000, | ||
| 5143 | 0x0401f003, 0x4a035017, 0x00000002, 0x1c01f000, | ||
| 5144 | 0x4a038808, 0x00000008, 0x59c40805, 0x8c040d0c, | ||
| 5145 | 0x04020006, 0x8c040d0e, 0x04000006, 0x4a035017, | ||
| 5146 | 0x00000001, 0x0401f003, 0x4a035017, 0x00000000, | ||
| 5147 | 0x1c01f000, 0x0401f8d3, 0x59c40805, 0x8c040d0c, | ||
| 5148 | 0x0402000d, 0x4c040000, 0x0401f882, 0x5c000800, | ||
| 5149 | 0x8c040d0a, 0x04020006, 0x8c040d0e, 0x04000006, | ||
| 5150 | 0x4a035017, 0x00000001, 0x0401f003, 0x4a035017, | ||
| 5151 | 0x00000002, 0x1c01f000, 0x4a038808, 0x00000008, | ||
| 5152 | 0x42001000, 0x00105058, 0x0201f800, 0x00106084, | ||
| 5153 | 0x59c40805, 0x8c040d0a, 0x0402000d, 0x8c040d08, | ||
| 5154 | 0x0402000b, 0x8c040d0c, 0x04020006, 0x8c040d0e, | ||
| 5155 | 0x0400000d, 0x4a035017, 0x00000001, 0x0401f00a, | ||
| 5156 | 0x4a035017, 0x00000000, 0x0401f007, 0x42000000, | ||
| 5157 | 0x0010b844, 0x0201f800, 0x0010aa47, 0x4a035017, | ||
| 5158 | 0x00000004, 0x1c01f000, 0x0401f8a6, 0x0401f859, | ||
| 5159 | 0x59c40805, 0x8c040d0a, 0x0402000b, 0x8c040d0c, | ||
| 5160 | 0x04020006, 0x8c040d0e, 0x04000009, 0x4a035017, | ||
| 5161 | 0x00000001, 0x0401f006, 0x4a035017, 0x00000000, | ||
| 5162 | 0x0401f003, 0x4a035017, 0x00000002, 0x1c01f000, | ||
| 5163 | 0x4a038808, 0x00000004, 0x0401f846, 0x59c40805, | ||
| 5164 | 0x8c040d0a, 0x04020010, 0x8c040d08, 0x0402000b, | ||
| 5165 | 0x8c040d0c, 0x04020006, 0x8c040d0e, 0x0400000c, | ||
| 5166 | 0x4a035017, 0x00000001, 0x0401f009, 0x4a035017, | ||
| 5167 | 0x00000000, 0x0401f006, 0x4a035017, 0x00000003, | ||
| 5168 | 0x0401f003, 0x4a035017, 0x00000002, 0x1c01f000, | ||
| 5169 | 0x0401f91f, 0x02020800, 0x001005d8, 0x59a80805, | ||
| 5170 | 0x8c040d0c, 0x04000015, 0x84040d0c, 0x48075005, | ||
| 5171 | 0x4a038805, 0x00000010, 0x0201f800, 0x00101937, | ||
| 5172 | 0x59c40005, 0x8c000508, 0x04000008, 0x4a038808, | ||
| 5173 | 0x00000008, 0x4a035033, 0x00000001, 0x4202d800, | ||
| 5174 | 0x00000001, 0x0401f01a, 0x59c40006, 0x84000548, | ||
| 5175 | 0x48038806, 0x0401f016, 0x59a80017, 0x82000580, | ||
| 5176 | 0x00000001, 0x0400000c, 0x59a80017, 0x82000580, | ||
| 5177 | 0x00000005, 0x0402000c, 0x42000000, 0x0010b844, | ||
| 5178 | 0x0201f800, 0x0010aa47, 0x4a035017, 0x00000008, | ||
| 5179 | 0x0401f007, 0x42000000, 0x0010b844, 0x0201f800, | ||
| 5180 | 0x0010aa47, 0x4a035017, 0x00000004, 0x1c01f000, | ||
| 5181 | 0x4803c856, 0x4c040000, 0x4c080000, 0x42000800, | ||
| 5182 | 0x00000064, 0x42001000, 0x00105058, 0x0201f800, | ||
| 5183 | 0x00106079, 0x5c001000, 0x5c000800, 0x1c01f000, | ||
| 5184 | 0x4803c856, 0x4c040000, 0x0201f800, 0x00106c55, | ||
| 5185 | 0x4df00000, 0x0201f800, 0x00106e21, 0x5c03e000, | ||
| 5186 | 0x02000800, 0x00106c4b, 0x0401ffba, 0x5c000800, | ||
| 5187 | 0x1c01f000, 0x4803c856, 0x4c040000, 0x4c080000, | ||
| 5188 | 0x0201f800, 0x00106c55, 0x4df00000, 0x0201f800, | ||
| 5189 | 0x00106e21, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 5190 | 0x59c40006, 0x84000500, 0x48038806, 0x0201f800, | ||
| 5191 | 0x00106ede, 0x497b8880, 0x0201f800, 0x0010a9c0, | ||
| 5192 | 0x0201f800, 0x0010a9ce, 0x0201f800, 0x00101815, | ||
| 5193 | 0x4a03504c, 0x00000004, 0x4202d800, 0x00000004, | ||
| 5194 | 0x4a038805, 0x00000001, 0x42001000, 0x00105058, | ||
| 5195 | 0x0201f800, 0x00106084, 0x0201f800, 0x001006d4, | ||
| 5196 | 0x0401f8c1, 0x04000006, 0x42006000, 0xfeffffff, | ||
| 5197 | 0x41786800, 0x0201f800, 0x0010427d, 0x0201f800, | ||
| 5198 | 0x00100452, 0x42000000, 0x00000001, 0x0201f800, | ||
| 5199 | 0x00101590, 0x5c001000, 0x5c000800, 0x1c01f000, | ||
| 5200 | 0x59c40008, 0x8c000508, 0x04020007, 0x4a038808, | ||
| 5201 | 0x00000010, 0x4201d000, 0x00001388, 0x0201f800, | ||
| 5202 | 0x0010608e, 0x1c01f000, 0x4c040000, 0x59a80833, | ||
| 5203 | 0x82040580, 0x00000000, 0x0400000b, 0x82040580, | ||
| 5204 | 0x00000001, 0x0400000b, 0x82040580, 0x00000002, | ||
| 5205 | 0x0400000b, 0x82040580, 0x00000003, 0x0400000b, | ||
| 5206 | 0x0401f057, 0x4a035017, 0x00000000, 0x0401f009, | ||
| 5207 | 0x4a035017, 0x00000004, 0x0401f006, 0x4a035017, | ||
| 5208 | 0x00000001, 0x0401f003, 0x4a035017, 0x00000007, | ||
| 5209 | 0x497b8880, 0x4a038893, 0x00000001, 0x41780000, | ||
| 5210 | 0x0201f800, 0x00101606, 0x0201f800, 0x00106ede, | ||
| 5211 | 0x836c0d80, 0x00000004, 0x04000008, 0x59c40006, | ||
| 5212 | 0x82000500, 0xffffff0f, 0x82000540, 0x04000001, | ||
| 5213 | 0x48038806, 0x0401f007, 0x59c40006, 0x82000500, | ||
| 5214 | 0xffffff0f, 0x82000540, 0x04000000, 0x48038806, | ||
| 5215 | 0x0401f875, 0x04020005, 0x59c40806, 0x82040d00, | ||
| 5216 | 0xfbffff0f, 0x48078806, 0x4200b000, 0x00000005, | ||
| 5217 | 0x59c40005, 0x8c000534, 0x04020033, 0x42006000, | ||
| 5218 | 0xfc18ffff, 0x42006800, 0x01000000, 0x0201f800, | ||
| 5219 | 0x0010427d, 0x0201f800, 0x00101937, 0x59c408a4, | ||
| 5220 | 0x82040d00, 0x0000000f, 0x82040d80, 0x0000000c, | ||
| 5221 | 0x0400000a, 0x42006000, 0xfeffffff, 0x42006800, | ||
| 5222 | 0x02000000, 0x0201f800, 0x0010427d, 0x8058b040, | ||
| 5223 | 0x040207e8, 0x0401f8a1, 0x0401f853, 0x04000006, | ||
| 5224 | 0x42006000, 0xfeffffff, 0x41786800, 0x0201f800, | ||
| 5225 | 0x0010427d, 0x836c0d80, 0x00000004, 0x04000006, | ||
| 5226 | 0x59a8084d, 0x42001000, 0x00105065, 0x0201f800, | ||
| 5227 | 0x0010606e, 0x4a035033, 0x00000004, 0x0401fe31, | ||
| 5228 | 0x0401f841, 0x04020008, 0x59c408a4, 0x82040d00, | ||
| 5229 | 0x0000000f, 0x82040580, 0x0000000c, 0x02020800, | ||
| 5230 | 0x001005d8, 0x5c000800, 0x1c01f000, 0x4803c856, | ||
| 5231 | 0x4c000000, 0x0201f800, 0x0010609e, 0x4a035010, | ||
| 5232 | 0x00ffffff, 0x497b5032, 0x59a8002a, 0x82000500, | ||
| 5233 | 0xffff0000, 0x4803502a, 0x497b8880, 0x497b8893, | ||
| 5234 | 0x41780000, 0x0201f800, 0x00101606, 0x59c40001, | ||
| 5235 | 0x82000500, 0xfffffcff, 0x48038801, 0x42006000, | ||
| 5236 | 0xfc18ffff, 0x41786800, 0x0201f800, 0x0010427d, | ||
| 5237 | 0x4a038808, 0x00000000, 0x5c000000, 0x800001c0, | ||
| 5238 | 0x02020800, 0x0010411d, 0x4a038805, 0x040000f0, | ||
| 5239 | 0x59c40006, 0x82000500, 0xffffffcf, 0x82000540, | ||
| 5240 | 0x440000c1, 0x48038806, 0x1c01f000, 0x4c5c0000, | ||
| 5241 | 0x59a8b832, 0x825cbd80, 0x0000aaaa, 0x5c00b800, | ||
| 5242 | 0x1c01f000, 0x4c5c0000, 0x599cb818, 0x825cbd00, | ||
| 5243 | 0x00000030, 0x825cbd80, 0x00000000, 0x5c00b800, | ||
| 5244 | 0x1c01f000, 0x4c5c0000, 0x599cb818, 0x825cbd00, | ||
| 5245 | 0x00000030, 0x825cbd80, 0x00000010, 0x5c00b800, | ||
| 5246 | 0x1c01f000, 0x4c5c0000, 0x599cb818, 0x825cbd00, | ||
| 5247 | 0x00000030, 0x825cbd80, 0x00000020, 0x5c00b800, | ||
| 5248 | 0x1c01f000, 0x59a80005, 0x4803c857, 0x82000d00, | ||
| 5249 | 0x00000013, 0x04000025, 0x599c1017, 0x4d3c0000, | ||
| 5250 | 0x82000500, 0x00000011, 0x04000007, 0x42027800, | ||
| 5251 | 0x00000400, 0x0201f800, 0x00103b25, 0x0402000a, | ||
| 5252 | 0x0401f012, 0x42027800, 0x00000408, 0x0201f800, | ||
| 5253 | 0x00103b25, 0x0400000d, 0x42003000, 0x00000003, | ||
| 5254 | 0x0401f003, 0x42003000, 0x00000004, 0x42028000, | ||
| 5255 | 0x0000000e, 0x0201f800, 0x0010a449, 0x599c1017, | ||
| 5256 | 0x8c08150a, 0x04020007, 0x42028000, 0x00000004, | ||
| 5257 | 0x0201f800, 0x00101fe5, 0x80000580, 0x0401f80d, | ||
| 5258 | 0x5c027800, 0x0401f00a, 0x0201f800, 0x00103b25, | ||
| 5259 | 0x04000007, 0x42028000, 0x0000000f, 0x42003000, | ||
| 5260 | 0x00000001, 0x0201f800, 0x0010a449, 0x1c01f000, | ||
| 5261 | 0x59a80005, 0x04000004, 0x82000540, 0x00000010, | ||
| 5262 | 0x0401f003, 0x82000500, 0xffffffef, 0x48035005, | ||
| 5263 | 0x4803c857, 0x1c01f000, 0x4803c856, 0x4c580000, | ||
| 5264 | 0x42000000, 0x0010b8cb, 0x0201f800, 0x0010aa47, | ||
| 5265 | 0x42000800, 0x0010c0f1, 0x59c40003, 0x44000800, | ||
| 5266 | 0x59c40004, 0x48000801, 0x59c4000b, 0x48000802, | ||
| 5267 | 0x59c4008e, 0x48000803, 0x59c4008f, 0x48000804, | ||
| 5268 | 0x59c40090, 0x48000805, 0x59c40091, 0x48000806, | ||
| 5269 | 0x59c40092, 0x48000807, 0x59c40093, 0x48000808, | ||
| 5270 | 0x59c40099, 0x48000809, 0x59c4009e, 0x4800080a, | ||
| 5271 | 0x59c400aa, 0x4800080b, 0x59c400af, 0x4800080c, | ||
| 5272 | 0x59c400b2, 0x4800080d, 0x59c400b1, 0x4800080e, | ||
| 5273 | 0x82040c00, 0x0000000f, 0x41c41800, 0x4200b000, | ||
| 5274 | 0x00000030, 0x580c0050, 0x44000800, 0x80040800, | ||
| 5275 | 0x800c1800, 0x8058b040, 0x040207fb, 0x41c41800, | ||
| 5276 | 0x4200b000, 0x00000020, 0x580c0010, 0x44000800, | ||
| 5277 | 0x80040800, 0x800c1800, 0x8058b040, 0x040207fb, | ||
| 5278 | 0x497b8830, 0x4200b000, 0x00000040, 0x59c40031, | ||
| 5279 | 0x44000800, 0x80040800, 0x8058b040, 0x040207fc, | ||
| 5280 | 0x497b88ac, 0x4200b000, 0x00000010, 0x59c400ad, | ||
| 5281 | 0x44000800, 0x80040800, 0x8058b040, 0x040207fc, | ||
| 5282 | 0x59c41001, 0x4c080000, 0x8408150c, 0x480b8801, | ||
| 5283 | 0x4a0370e4, 0x00000300, 0x4a0370e5, 0xb0000000, | ||
| 5284 | 0x42000800, 0x00000800, 0x80040840, 0x02000800, | ||
| 5285 | 0x001005d8, 0x59b800e5, 0x8c000538, 0x040207fb, | ||
| 5286 | 0x4a0370e4, 0x00000200, 0x42006000, 0xffffffff, | ||
| 5287 | 0x42006800, 0x80000000, 0x0201f800, 0x0010427d, | ||
| 5288 | 0x4a038807, 0x00000001, 0x497b8807, 0x4a038808, | ||
| 5289 | 0x00000010, 0x42006000, 0xfcf8ffff, 0x42006800, | ||
| 5290 | 0x01000000, 0x0201f800, 0x0010427d, 0x5c001000, | ||
| 5291 | 0x480b8801, 0x42000800, 0x0010c0f1, 0x50040000, | ||
| 5292 | 0x48038803, 0x58040001, 0x48038804, 0x58040002, | ||
| 5293 | 0x4803880b, 0x58040003, 0x4803888e, 0x58040004, | ||
| 5294 | 0x4803888f, 0x58040005, 0x48038890, 0x58040006, | ||
| 5295 | 0x48038891, 0x58040007, 0x48038892, 0x58040008, | ||
| 5296 | 0x48038893, 0x58040009, 0x48038899, 0x5804000a, | ||
| 5297 | 0x4803889e, 0x5804000b, 0x480388aa, 0x5804000c, | ||
| 5298 | 0x480388af, 0x5804000d, 0x480388b2, 0x5804000e, | ||
| 5299 | 0x480388b1, 0x82040c00, 0x0000000f, 0x41c41800, | ||
| 5300 | 0x4200b000, 0x00000030, 0x50040000, 0x48001850, | ||
| 5301 | 0x80040800, 0x800c1800, 0x8058b040, 0x040207fb, | ||
| 5302 | 0x41c41800, 0x4200b000, 0x00000020, 0x50040000, | ||
| 5303 | 0x48001810, 0x80040800, 0x800c1800, 0x8058b040, | ||
| 5304 | 0x040207fb, 0x497b8830, 0x4200b000, 0x00000040, | ||
| 5305 | 0x50040000, 0x48038831, 0x80040800, 0x8058b040, | ||
| 5306 | 0x040207fc, 0x497b88ac, 0x4200b000, 0x00000010, | ||
| 5307 | 0x50040000, 0x480388ad, 0x80040800, 0x8058b040, | ||
| 5308 | 0x040207fc, 0x497b8880, 0x41780000, 0x0201f800, | ||
| 5309 | 0x00101606, 0x59c408a4, 0x82040d00, 0x0000000f, | ||
| 5310 | 0x82040580, 0x0000000c, 0x02020800, 0x001005d8, | ||
| 5311 | 0x4a038805, 0x04000000, 0x5c00b000, 0x1c01f000, | ||
| 5312 | 0x4803c856, 0x4c580000, 0x4ce80000, 0x42000000, | ||
| 5313 | 0x0010b845, 0x0201f800, 0x0010aa47, 0x59c41008, | ||
| 5314 | 0x4c080000, 0x82080500, 0xffffff7f, 0x48038808, | ||
| 5315 | 0x59c40004, 0x82000500, 0x00003e02, 0x04000005, | ||
| 5316 | 0x4201d000, 0x00000014, 0x0201f800, 0x0010608e, | ||
| 5317 | 0x59c40006, 0x82000500, 0xffffff0f, 0x48038806, | ||
| 5318 | 0x4a038805, 0x00000010, 0x4a038808, 0x00000004, | ||
| 5319 | 0x4200b000, 0x00000065, 0x59c40005, 0x8c000508, | ||
| 5320 | 0x04020012, 0x4201d000, 0x000003e8, 0x0201f800, | ||
| 5321 | 0x0010608e, 0x8058b040, 0x040207f8, 0x0201f800, | ||
| 5322 | 0x00106ede, 0x4a038808, 0x00000008, 0x4a035033, | ||
| 5323 | 0x00000001, 0x4202d800, 0x00000001, 0x82000540, | ||
| 5324 | 0x00000001, 0x0401f030, 0x0201f800, 0x00100ae0, | ||
| 5325 | 0x42000000, 0x0010b8a8, 0x0201f800, 0x0010aa47, | ||
| 5326 | 0x0201f800, 0x00100ef4, 0x497b8880, 0x59a8002a, | ||
| 5327 | 0x82000500, 0x0000ffff, 0x4c000000, 0x0201f800, | ||
| 5328 | 0x00101606, 0x5c000000, 0x48038880, 0x4a038808, | ||
| 5329 | 0x00000000, 0x4200b000, 0x00000065, 0x4a038805, | ||
| 5330 | 0x000000f0, 0x0201f800, 0x00101937, 0x42000800, | ||
| 5331 | 0x000000f0, 0x59c40005, 0x80040d00, 0x04000008, | ||
| 5332 | 0x4201d000, 0x000003e8, 0x0201f800, 0x0010608e, | ||
| 5333 | 0x8058b040, 0x040207f2, 0x0401f7d1, 0x59c40006, | ||
| 5334 | 0x82000540, 0x000000f0, 0x48038806, 0x59a8001e, | ||
| 5335 | 0x80000540, 0x04020002, 0x80000000, 0x48038893, | ||
| 5336 | 0x80000580, 0x5c001000, 0x4df00000, 0x0201f800, | ||
| 5337 | 0x0010195d, 0x5c03e000, 0x480b8808, 0x5c01d000, | ||
| 5338 | 0x5c00b000, 0x1c01f000, 0x4803c856, 0x4c580000, | ||
| 5339 | 0x4ce80000, 0x59c41008, 0x82080500, 0xffffff7f, | ||
| 5340 | 0x48038808, 0x4c080000, 0x59c40004, 0x82000500, | ||
| 5341 | 0x00003e02, 0x04000005, 0x4201d000, 0x00000014, | ||
| 5342 | 0x0201f800, 0x0010608e, 0x0201f800, 0x00100ae0, | ||
| 5343 | 0x42000000, 0x0010b8a9, 0x0201f800, 0x0010aa47, | ||
| 5344 | 0x0201f800, 0x00100ef4, 0x4a038808, 0x00000002, | ||
| 5345 | 0x80000580, 0x48038880, 0x48038893, 0x0201f800, | ||
| 5346 | 0x00101606, 0x4200b000, 0x00000384, 0x4a038805, | ||
| 5347 | 0x000000f0, 0x0201f800, 0x00101937, 0x42000800, | ||
| 5348 | 0x000000f0, 0x59c40005, 0x80040d00, 0x04000015, | ||
| 5349 | 0x82000500, 0x000000d0, 0x04020012, 0x4201d000, | ||
| 5350 | 0x00000067, 0x0201f800, 0x0010608e, 0x8058b040, | ||
| 5351 | 0x040207ef, 0x0201f800, 0x00106ede, 0x4a038808, | ||
| 5352 | 0x00000008, 0x4a035033, 0x00000001, 0x4202d800, | ||
| 5353 | 0x00000001, 0x82000540, 0x00000001, 0x0401f010, | ||
| 5354 | 0x497b8880, 0x59a8001e, 0x80000540, 0x04020002, | ||
| 5355 | 0x80000000, 0x48038893, 0x59a8002a, 0x82000500, | ||
| 5356 | 0x0000ffff, 0x4c000000, 0x0201f800, 0x00101606, | ||
| 5357 | 0x5c000000, 0x48038880, 0x80000580, 0x5c001000, | ||
| 5358 | 0x4df00000, 0x0201f800, 0x0010195d, 0x5c03e000, | ||
| 5359 | 0x480b8808, 0x5c01d000, 0x5c00b000, 0x1c01f000, | ||
| 5360 | 0x4803c856, 0x59c40004, 0x82000500, 0x00003e02, | ||
| 5361 | 0x0400000a, 0x0201f800, 0x00106ede, 0x4a038808, | ||
| 5362 | 0x00000008, 0x4a035033, 0x00000001, 0x4202d800, | ||
| 5363 | 0x00000001, 0x0401f052, 0x0201f800, 0x00100ae0, | ||
| 5364 | 0x42000000, 0x0010b8aa, 0x0201f800, 0x0010aa47, | ||
| 5365 | 0x0201f800, 0x00100ef4, 0x59c40006, 0x84000508, | ||
| 5366 | 0x48038806, 0x4a038805, 0x00000010, 0x59a80805, | ||
| 5367 | 0x84040d4c, 0x48075005, 0x42000800, 0x00000064, | ||
| 5368 | 0x42001000, 0x00105058, 0x0201f800, 0x0010606e, | ||
| 5369 | 0x4a038808, 0x00000000, 0x497b8880, 0x4a038805, | ||
| 5370 | 0x000000f0, 0x0201f800, 0x00101937, 0x42000800, | ||
| 5371 | 0x000000f0, 0x59c40005, 0x80040d00, 0x0400000e, | ||
| 5372 | 0x82000500, 0x000000e0, 0x0402000b, 0x4201d000, | ||
| 5373 | 0x000003e8, 0x0201f800, 0x0010608e, 0x0201f800, | ||
| 5374 | 0x00105f48, 0x59940004, 0x80000540, 0x040207ec, | ||
| 5375 | 0x0401f023, 0x4c080000, 0x42001000, 0x00105065, | ||
| 5376 | 0x0201f800, 0x00105f90, 0x42001000, 0x00105058, | ||
| 5377 | 0x0201f800, 0x00106084, 0x5c001000, 0x497b8880, | ||
| 5378 | 0x59a8001e, 0x80000540, 0x04020002, 0x80000000, | ||
| 5379 | 0x48038893, 0x59a8002a, 0x82000500, 0x0000ffff, | ||
| 5380 | 0x4c000000, 0x0201f800, 0x00101606, 0x5c000000, | ||
| 5381 | 0x48038880, 0x59a80805, 0x84040d0c, 0x48075005, | ||
| 5382 | 0x59c40006, 0x84000548, 0x48038806, 0x0201f800, | ||
| 5383 | 0x0010195d, 0x4a038808, 0x00000080, 0x1c01f000, | ||
| 5384 | 0x4803c856, 0x4d400000, 0x4d3c0000, 0x0201f800, | ||
| 5385 | 0x00106ede, 0x0201f800, 0x0010ab33, 0x04020025, | ||
| 5386 | 0x599c1017, 0x59a80805, 0x8c040d00, 0x0402000c, | ||
| 5387 | 0x8c08151a, 0x0400001f, 0x84040d42, 0x48075005, | ||
| 5388 | 0x42028000, 0x00000004, 0x42027800, 0x0000000c, | ||
| 5389 | 0x8c081508, 0x04020008, 0x0401f012, 0x42028000, | ||
| 5390 | 0x00000004, 0x42027800, 0x00000004, 0x8c081508, | ||
| 5391 | 0x0400000c, 0x4d400000, 0x42028000, 0x0000000e, | ||
| 5392 | 0x42028800, 0x0000ffff, 0x0201f800, 0x0010a446, | ||
| 5393 | 0x5c028000, 0x599c0817, 0x8c040d0a, 0x04020005, | ||
| 5394 | 0x4943c857, 0x493fc857, 0x0201f800, 0x00101fe5, | ||
| 5395 | 0x497b8880, 0x4202d800, 0x00000001, 0x0401fcfb, | ||
| 5396 | 0x5c027800, 0x5c028000, 0x1c01f000, 0x0201f800, | ||
| 5397 | 0x00100ae0, 0x42000000, 0x0010b8ab, 0x0201f800, | ||
| 5398 | 0x0010aa47, 0x0201f800, 0x00100ef4, 0x42000000, | ||
| 5399 | 0x00000001, 0x0201f800, 0x00101606, 0x4a038880, | ||
| 5400 | 0x00000001, 0x0201f000, 0x0010195d, 0x4202e000, | ||
| 5401 | 0x00000000, 0x4a033015, 0x00000001, 0x497b301d, | ||
| 5402 | 0x497b3006, 0x4a03b004, 0x60000001, 0x59d80005, | ||
| 5403 | 0x4a03b004, 0x90000001, 0x4a03a804, 0x60000001, | ||
| 5404 | 0x59d40005, 0x4a03a804, 0x90000001, 0x0201f000, | ||
| 5405 | 0x00105983, 0x4a03c825, 0x00000004, 0x4a03c827, | ||
| 5406 | 0x00000004, 0x599c0409, 0x80000d40, 0x04000020, | ||
| 5407 | 0x599c0407, 0x80000540, 0x04000007, 0x800000cc, | ||
| 5408 | 0x599c100b, 0x80080400, 0x4803b000, 0x497bb002, | ||
| 5409 | 0x59d80001, 0x599c000b, 0x4803b000, 0x599c000c, | ||
| 5410 | 0x4803b001, 0x599c0407, 0x80000540, 0x04020002, | ||
| 5411 | 0x497bb002, 0x599c0c09, 0x82040540, 0x00400000, | ||
| 5412 | 0x4803b003, 0x4a03b009, 0x00000004, 0x4a03b004, | ||
| 5413 | 0x10000001, 0x59e00803, 0x82040d00, 0xfffffeff, | ||
| 5414 | 0x82040d40, 0x00008000, 0x4807c003, 0x599c040a, | ||
| 5415 | 0x80000540, 0x04000020, 0x599c0408, 0x80000540, | ||
| 5416 | 0x04000007, 0x800000cc, 0x599c100f, 0x80080400, | ||
| 5417 | 0x4803a800, 0x497ba802, 0x59d40001, 0x599c000f, | ||
| 5418 | 0x4803a800, 0x599c0010, 0x4803a801, 0x599c0408, | ||
| 5419 | 0x80000540, 0x04020002, 0x497ba802, 0x599c0c0a, | ||
| 5420 | 0x82040540, 0x00400000, 0x4803a803, 0x4a03a809, | ||
| 5421 | 0x00000004, 0x4a03a804, 0x10000001, 0x59e00803, | ||
| 5422 | 0x82040d00, 0xfffffbff, 0x82040d40, 0x00008000, | ||
| 5423 | 0x4807c003, 0x800409c0, 0x04000007, 0x4202e000, | ||
| 5424 | 0x00000001, 0x0200b800, 0x00020551, 0x0200f000, | ||
| 5425 | 0x00020566, 0x1c01f000, 0x0201f800, 0x001005d8, | ||
| 5426 | 0x1c01f000, 0x4df00000, 0x4203e000, 0x50000000, | ||
| 5427 | 0x59981005, 0x800811c0, 0x0400001e, 0x58080005, | ||
| 5428 | 0x82000d00, 0x43018780, 0x02020000, 0x00105846, | ||
| 5429 | 0x8c000508, 0x04000015, 0x580a5808, 0x592c0204, | ||
| 5430 | 0x497a5800, 0x497a5801, 0x82000500, 0x000000ff, | ||
| 5431 | 0x82000c80, 0x0000004b, 0x0402100b, 0x0c01f80f, | ||
| 5432 | 0x5c03e000, 0x83700580, 0x00000003, 0x040007e6, | ||
| 5433 | 0x0200f800, 0x00020566, 0x0200b000, 0x00020551, | ||
| 5434 | 0x1c01f000, 0x0401f850, 0x5c03e000, 0x0401f7f9, | ||
| 5435 | 0x0401f8de, 0x0401f7fd, 0x00105491, 0x00105491, | ||
| 5436 | 0x00105491, 0x00105491, 0x001054a1, 0x00105491, | ||
| 5437 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5438 | 0x00105519, 0x00105491, 0x00105491, 0x001054a1, | ||
| 5439 | 0x001054a1, 0x00105491, 0x00105491, 0x00105491, | ||
| 5440 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5441 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5442 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5443 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5444 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5445 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5446 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5447 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5448 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5449 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5450 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5451 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5452 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5453 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 5454 | 0x00105491, 0x492fc857, 0x42000000, 0x0010b85e, | ||
| 5455 | 0x0201f800, 0x0010aa47, 0x42000000, 0x00000400, | ||
| 5456 | 0x0401f019, 0x492fc857, 0x42000000, 0x0010b85d, | ||
| 5457 | 0x0201f800, 0x0010aa47, 0x42000000, 0x00001000, | ||
| 5458 | 0x0401f011, 0x492fc857, 0x42000000, 0x0010b85c, | ||
| 5459 | 0x0201f800, 0x0010aa47, 0x42000000, 0x00002000, | ||
| 5460 | 0x0401f009, 0x492fc857, 0x42000000, 0x0010b85f, | ||
| 5461 | 0x0201f800, 0x0010aa47, 0x42000000, 0x00000800, | ||
| 5462 | 0x0401f001, 0x4803c857, 0x4202e000, 0x00000001, | ||
| 5463 | 0x592c0c04, 0x82040d00, 0xffff80ff, 0x80040540, | ||
| 5464 | 0x48025c04, 0x0201f000, 0x000202da, 0x592c0204, | ||
| 5465 | 0x492fc857, 0x80000110, 0x040007db, 0x80000040, | ||
| 5466 | 0x04000025, 0x48033002, 0x492f3003, 0x492f3004, | ||
| 5467 | 0x4a033008, 0x001054e5, 0x4202e000, 0x00000003, | ||
| 5468 | 0x1c01f000, 0x592c0204, 0x492fc857, 0x80000110, | ||
| 5469 | 0x040007cd, 0x80000040, 0x04000033, 0x48033002, | ||
| 5470 | 0x492f3003, 0x492f3004, 0x4a033008, 0x00105501, | ||
| 5471 | 0x4202e000, 0x00000003, 0x1c01f000, 0x0201f800, | ||
| 5472 | 0x0010ab33, 0x02020000, 0x000204d9, 0x42028000, | ||
| 5473 | 0x00000028, 0x41780800, 0x417a6000, 0x0201f800, | ||
| 5474 | 0x00104e70, 0x0201f800, 0x001091c6, 0x0201f000, | ||
| 5475 | 0x000202da, 0x592c0a0a, 0x8c040d02, 0x04020016, | ||
| 5476 | 0x59a80021, 0x492fc857, 0x80000540, 0x0402000f, | ||
| 5477 | 0x592c0207, 0x80000540, 0x04000005, 0x0201f800, | ||
| 5478 | 0x00104326, 0x04020004, 0x1c01f000, 0x42000000, | ||
| 5479 | 0x00000000, 0x592c0a06, 0x48065c06, 0x48025a06, | ||
| 5480 | 0x0201f000, 0x000202da, 0x42000000, 0x00000028, | ||
| 5481 | 0x0401f7f9, 0x42000800, 0x00000009, 0x0201f000, | ||
| 5482 | 0x0010665b, 0x592c0208, 0x492fc857, 0x82000c80, | ||
| 5483 | 0x0000199a, 0x040217a4, 0x592c0408, 0x80000540, | ||
| 5484 | 0x040207a1, 0x59a80821, 0x800409c0, 0x04020009, | ||
| 5485 | 0x592c0207, 0x80000540, 0x0400079b, 0x497a5a06, | ||
| 5486 | 0x0201f800, 0x00104385, 0x04020004, 0x1c01f000, | ||
| 5487 | 0x42000000, 0x00000028, 0x48025a06, 0x0201f000, | ||
| 5488 | 0x000202da, 0x59980804, 0x59980002, 0x48065800, | ||
| 5489 | 0x492c0801, 0x492f3004, 0x80000040, 0x48033002, | ||
| 5490 | 0x04000002, 0x1c01f000, 0x599a5803, 0x59980008, | ||
| 5491 | 0x4202e000, 0x00000001, 0x0801f000, 0x592e8a06, | ||
| 5492 | 0x592c0406, 0x4803c856, 0x82000500, 0x000000ff, | ||
| 5493 | 0x4200b800, 0x00000001, 0x82000d80, 0x00000001, | ||
| 5494 | 0x04000015, 0x417a8800, 0x4200b800, 0x000007f0, | ||
| 5495 | 0x82000d80, 0x00000002, 0x0400000f, 0x80000540, | ||
| 5496 | 0x02020000, 0x000202da, 0x592e8a06, 0x0201f800, | ||
| 5497 | 0x00020245, 0x02020000, 0x000202da, 0x592e9008, | ||
| 5498 | 0x592e9809, 0x0201f800, 0x00104713, 0x0201f000, | ||
| 5499 | 0x000202da, 0x59a80805, 0x84040d00, 0x48075005, | ||
| 5500 | 0x0201f800, 0x00020245, 0x02000800, 0x0010482c, | ||
| 5501 | 0x81468800, 0x805cb840, 0x040207fa, 0x0201f000, | ||
| 5502 | 0x000202da, 0x592c0a08, 0x4807c857, 0x82040580, | ||
| 5503 | 0x0000000e, 0x04000045, 0x82040580, 0x00000046, | ||
| 5504 | 0x04000046, 0x82040580, 0x00000045, 0x04000020, | ||
| 5505 | 0x82040580, 0x00000029, 0x04000010, 0x82040580, | ||
| 5506 | 0x0000002a, 0x04000009, 0x82040580, 0x0000000f, | ||
| 5507 | 0x040001fc, 0x82040580, 0x0000002e, 0x040001f9, | ||
| 5508 | 0x4807c856, 0x0401f1f2, 0x59a80805, 0x84040d04, | ||
| 5509 | 0x48075005, 0x0401f1f3, 0x592e8a06, 0x0201f800, | ||
| 5510 | 0x00020245, 0x040201ef, 0x59340200, 0x84000518, | ||
| 5511 | 0x48026a00, 0x592e6009, 0x4933c857, 0x83300580, | ||
| 5512 | 0xffffffff, 0x0402002a, 0x0401f1e6, 0x592c1407, | ||
| 5513 | 0x480bc857, 0x0201f800, 0x00109410, 0x411e6000, | ||
| 5514 | 0x04020003, 0x4803c856, 0x0401f1d9, 0x592e3809, | ||
| 5515 | 0x591c1414, 0x84081516, 0x84081554, 0x480a3c14, | ||
| 5516 | 0x4a026403, 0x0000003a, 0x592c040b, 0x80000540, | ||
| 5517 | 0x04000007, 0x4a026403, 0x0000003b, 0x592c020c, | ||
| 5518 | 0x4802641a, 0x592c040c, 0x4802621a, 0x4a026203, | ||
| 5519 | 0x00000001, 0x42000800, 0x80000040, 0x0201f800, | ||
| 5520 | 0x00020721, 0x0401f1c7, 0x59a80068, 0x84000510, | ||
| 5521 | 0x48035068, 0x0401f1c3, 0x592c1207, 0x8c081500, | ||
| 5522 | 0x040201c0, 0x592e8a06, 0x592e6009, 0x0201f800, | ||
| 5523 | 0x0010941a, 0x04020003, 0x4803c856, 0x0401f1b4, | ||
| 5524 | 0x59300c06, 0x82040580, 0x00000004, 0x04000003, | ||
| 5525 | 0x4803c856, 0x0401f1ae, 0x59300a03, 0x82040580, | ||
| 5526 | 0x00000007, 0x04000003, 0x4803c856, 0x0401f1a8, | ||
| 5527 | 0x59300c03, 0x82040580, 0x00000001, 0x04000021, | ||
| 5528 | 0x82040580, 0x00000003, 0x04000016, 0x82040580, | ||
| 5529 | 0x00000006, 0x04000020, 0x82040580, 0x00000008, | ||
| 5530 | 0x04000015, 0x82040580, 0x0000000a, 0x0400000a, | ||
| 5531 | 0x82040580, 0x0000000c, 0x04000004, 0x82040580, | ||
| 5532 | 0x0000002e, 0x04020018, 0x42000800, 0x00000009, | ||
| 5533 | 0x0401f013, 0x42000800, 0x00000005, 0x0401f010, | ||
| 5534 | 0x417a7800, 0x0201f800, 0x0010203c, 0x4a026406, | ||
| 5535 | 0x00000001, 0x42000800, 0x00000003, 0x0401f008, | ||
| 5536 | 0x417a7800, 0x0201f800, 0x0010203c, 0x4a026406, | ||
| 5537 | 0x00000001, 0x42000800, 0x0000000b, 0x0201f800, | ||
| 5538 | 0x00104571, 0x4a026203, 0x00000001, 0x0201f800, | ||
| 5539 | 0x0010672b, 0x0401f17b, 0x40000800, 0x58040000, | ||
| 5540 | 0x80000540, 0x040207fd, 0x492c0800, 0x1c01f000, | ||
| 5541 | 0x492fc857, 0x59300c06, 0x82040580, 0x00000006, | ||
| 5542 | 0x04020094, 0x0201f800, 0x001049e7, 0x04020005, | ||
| 5543 | 0x59340200, 0x8c00051a, 0x02000000, 0x00020533, | ||
| 5544 | 0x59340200, 0x8c00050e, 0x0400008a, 0x59300203, | ||
| 5545 | 0x42027800, 0x00000001, 0x82000580, 0x00000007, | ||
| 5546 | 0x02020000, 0x00020533, 0x4a026203, 0x00000002, | ||
| 5547 | 0x0201f000, 0x00020533, 0x42028000, 0x00000002, | ||
| 5548 | 0x4a026206, 0x00000014, 0x4d2c0000, 0x0201f800, | ||
| 5549 | 0x0010a1d1, 0x5c025800, 0x59300c06, 0x4807c857, | ||
| 5550 | 0x82040580, 0x00000007, 0x04020063, 0x492fc857, | ||
| 5551 | 0x4a025a06, 0x00000001, 0x0201f000, 0x000202da, | ||
| 5552 | 0x592c240a, 0x492fc857, 0x4813c857, 0x8c10251c, | ||
| 5553 | 0x04020016, 0x8c10251a, 0x04000003, 0x8c10250a, | ||
| 5554 | 0x04000069, 0x59340a00, 0x8c040d0e, 0x04000003, | ||
| 5555 | 0x8c10251e, 0x04000064, 0x0201f800, 0x0002075a, | ||
| 5556 | 0x0400006b, 0x592c240a, 0x49366009, 0x49325809, | ||
| 5557 | 0x4a026406, 0x00000006, 0x4a026203, 0x00000007, | ||
| 5558 | 0x0201f000, 0x0002052f, 0x592c0a0c, 0x5934000f, | ||
| 5559 | 0x41784000, 0x80001540, 0x0400006d, 0x58080204, | ||
| 5560 | 0x82000500, 0x000000ff, 0x82000580, 0x00000012, | ||
| 5561 | 0x04020004, 0x5808020c, 0x80040580, 0x04000004, | ||
| 5562 | 0x58080000, 0x40084000, 0x0401f7f3, 0x58080000, | ||
| 5563 | 0x49781000, 0x802041c0, 0x04000006, 0x48004000, | ||
| 5564 | 0x80000540, 0x04020007, 0x48226810, 0x0401f005, | ||
| 5565 | 0x4802680f, 0x80000540, 0x04020002, 0x497a6810, | ||
| 5566 | 0x4d2c0000, 0x400a5800, 0x4a025a06, 0x00000002, | ||
| 5567 | 0x0201f800, 0x000202da, 0x5c025800, 0x0401f7bc, | ||
| 5568 | 0x592c040a, 0x8c00051c, 0x04000016, 0x592c0206, | ||
| 5569 | 0x82000580, 0x0000ffff, 0x04020012, 0x592e6009, | ||
| 5570 | 0x83300580, 0xffffffff, 0x040007b1, 0x83300480, | ||
| 5571 | 0x0010d1c0, 0x04001010, 0x59a8000b, 0x81300480, | ||
| 5572 | 0x0402100d, 0x59300008, 0x800001c0, 0x04020005, | ||
| 5573 | 0x59300203, 0x82000580, 0x00000007, 0x04000797, | ||
| 5574 | 0x492fc857, 0x4a025a06, 0x00000029, 0x0201f000, | ||
| 5575 | 0x000202da, 0x492fc857, 0x4a025a06, 0x00000008, | ||
| 5576 | 0x0201f000, 0x000202da, 0x492fc857, 0x4a025a06, | ||
| 5577 | 0x00000045, 0x0201f000, 0x000202da, 0x492fc857, | ||
| 5578 | 0x4a025a06, 0x0000002a, 0x0201f000, 0x000202da, | ||
| 5579 | 0x492fc857, 0x4a025a06, 0x00000028, 0x0201f000, | ||
| 5580 | 0x000202da, 0x492fc857, 0x4a025a06, 0x00000006, | ||
| 5581 | 0x0201f000, 0x000202da, 0x492fc857, 0x4a025a06, | ||
| 5582 | 0x0000000e, 0x0201f000, 0x000202da, 0x59340010, | ||
| 5583 | 0x492e6810, 0x492fc857, 0x80000d40, 0x04000003, | ||
| 5584 | 0x492c0800, 0x1c01f000, 0x5934040b, 0x492e680f, | ||
| 5585 | 0x492fc857, 0x4803c857, 0x80000540, 0x04020003, | ||
| 5586 | 0x4a026a03, 0x00000001, 0x1c01f000, 0x59a8000e, | ||
| 5587 | 0x81640480, 0x0402176e, 0x42026000, 0x0010d1c0, | ||
| 5588 | 0x59300009, 0x81340580, 0x04020004, 0x59300202, | ||
| 5589 | 0x80040580, 0x04000759, 0x83326400, 0x00000024, | ||
| 5590 | 0x41580000, 0x81300480, 0x040017f6, 0x0401f760, | ||
| 5591 | 0x492fc857, 0x592c0407, 0x82000c80, 0x0000199a, | ||
| 5592 | 0x040215f1, 0x592c0204, 0x80000112, 0x040205de, | ||
| 5593 | 0x592e8a06, 0x0201f800, 0x00020245, 0x04020059, | ||
| 5594 | 0x0201f800, 0x001049e7, 0x04020059, 0x592e780a, | ||
| 5595 | 0x493fc857, 0x8d3e7d3e, 0x04020007, 0x59a80021, | ||
| 5596 | 0x80000540, 0x0402004f, 0x0201f800, 0x00104838, | ||
| 5597 | 0x040005dd, 0x833c1d00, 0x0000001f, 0x040005da, | ||
| 5598 | 0x592c0207, 0x82000c80, 0x00001000, 0x040215d6, | ||
| 5599 | 0x800000c2, 0x800008c4, 0x8005d400, 0x592e9008, | ||
| 5600 | 0x592e9809, 0x5934080d, 0x800409c0, 0x0402002e, | ||
| 5601 | 0x833c1d00, 0x0000001f, 0x81780040, 0x80000000, | ||
| 5602 | 0x800c1902, 0x040217fe, 0x040205c7, 0x0c01f001, | ||
| 5603 | 0x001056e9, 0x001056ec, 0x001056f9, 0x001056fc, | ||
| 5604 | 0x001056ff, 0x0201f800, 0x0010903e, 0x0401f01a, | ||
| 5605 | 0x0201f800, 0x0010480b, 0x04000027, 0x80e9d1c0, | ||
| 5606 | 0x02020800, 0x00105fae, 0x42028000, 0x00000005, | ||
| 5607 | 0x417a9000, 0x417a9800, 0x0201f800, 0x0010904e, | ||
| 5608 | 0x0401f00d, 0x42027000, 0x0000004d, 0x0401f006, | ||
| 5609 | 0x42027000, 0x0000004e, 0x0401f003, 0x42027000, | ||
| 5610 | 0x00000052, 0x0201f800, 0x001046c9, 0x02020800, | ||
| 5611 | 0x0010907e, 0x04000010, 0x8d3e7d3e, 0x04020017, | ||
| 5612 | 0x1c01f000, 0x58040002, 0x80000540, 0x04020007, | ||
| 5613 | 0x4d3c0000, 0x40067800, 0x0201f800, 0x001047eb, | ||
| 5614 | 0x5c027800, 0x040207cb, 0x4a025a06, 0x00000030, | ||
| 5615 | 0x0401f00d, 0x4a025a06, 0x0000002c, 0x0401f00a, | ||
| 5616 | 0x4a025a06, 0x00000028, 0x0401f007, 0x4a025a06, | ||
| 5617 | 0x00000029, 0x0401f004, 0x497a5c09, 0x4a025a06, | ||
| 5618 | 0x00000000, 0x4a025a04, 0x00000103, 0x0201f000, | ||
| 5619 | 0x000202da, 0x492fc857, 0x592c0204, 0x80000110, | ||
| 5620 | 0x80000040, 0x04000002, 0x0401f56f, 0x592c0207, | ||
| 5621 | 0x82000500, 0x000003ff, 0x48025a07, 0x8c000506, | ||
| 5622 | 0x04000004, 0x82000500, 0x00000070, 0x04020004, | ||
| 5623 | 0x59a80821, 0x800409c0, 0x04020018, 0x4a025a06, | ||
| 5624 | 0x0000dead, 0x592c0408, 0x82000500, 0x0000f0ff, | ||
| 5625 | 0x48025c08, 0x0201f800, 0x001043b4, 0x04020002, | ||
| 5626 | 0x1c01f000, 0x49425a06, 0x8058b1c0, 0x04000009, | ||
| 5627 | 0x0201f800, 0x0010955f, 0x0401f80f, 0x44042800, | ||
| 5628 | 0x82580580, 0x00000002, 0x04020002, 0x48082801, | ||
| 5629 | 0x0201f000, 0x000202da, 0x42028000, 0x00000031, | ||
| 5630 | 0x42000800, 0x00000001, 0x4200b000, 0x00000001, | ||
| 5631 | 0x0401f7ed, 0x592c0408, 0x80000118, 0x832c2c00, | ||
| 5632 | 0x00000009, 0x80142c00, 0x1c01f000, 0x492fc857, | ||
| 5633 | 0x4a025a08, 0x00000006, 0x0201f000, 0x000202da, | ||
| 5634 | 0x492fc857, 0x4a025a08, 0x00000001, 0x0201f000, | ||
| 5635 | 0x000202da, 0x492fc857, 0x592c040a, 0x82000500, | ||
| 5636 | 0x00000003, 0x04000020, 0x0201f800, 0x0002075a, | ||
| 5637 | 0x04000021, 0x592c0204, 0x492e6008, 0x82000500, | ||
| 5638 | 0x000000ff, 0x82000580, 0x00000045, 0x0400000e, | ||
| 5639 | 0x592c000b, 0x0201f800, 0x00105c9a, 0x02000800, | ||
| 5640 | 0x00020245, 0x04020018, 0x42027000, 0x00000041, | ||
| 5641 | 0x49366009, 0x4a026406, 0x00000001, 0x0201f000, | ||
| 5642 | 0x000207a1, 0x59300015, 0x8400055e, 0x48026015, | ||
| 5643 | 0x42026800, 0x0010b524, 0x42027000, 0x00000040, | ||
| 5644 | 0x0401f7f4, 0x4a025a06, 0x00000101, 0x0201f000, | ||
| 5645 | 0x000202da, 0x4a025a06, 0x0000002c, 0x0201f000, | ||
| 5646 | 0x000202da, 0x4a025a06, 0x00000028, 0x0201f800, | ||
| 5647 | 0x000202da, 0x0201f000, 0x0002077d, 0x492fc857, | ||
| 5648 | 0x0201f800, 0x001062e1, 0x0400000b, 0x592c0204, | ||
| 5649 | 0x80000110, 0x80000040, 0x040204fb, 0x592c0c06, | ||
| 5650 | 0x800409c0, 0x04000009, 0x42000000, 0x00000102, | ||
| 5651 | 0x0401f003, 0x42000000, 0x00000104, 0x48025a06, | ||
| 5652 | 0x0201f000, 0x000202da, 0x592c0c07, 0x800409c0, | ||
| 5653 | 0x04000024, 0x82040480, 0x00000005, 0x04021021, | ||
| 5654 | 0x4c040000, 0x80040800, 0x0201f800, 0x00106306, | ||
| 5655 | 0x5c001000, 0x04020018, 0x832c0400, 0x00000008, | ||
| 5656 | 0x4000a000, 0x0201f800, 0x0010632f, 0x04020012, | ||
| 5657 | 0x592c1207, 0x82cc0580, 0x0010b50e, 0x04020009, | ||
| 5658 | 0x58c80c0b, 0x84040d00, 0x84040d02, 0x8c081500, | ||
| 5659 | 0x04000002, 0x84040d5e, 0x4805940b, 0x0401f001, | ||
| 5660 | 0x42000000, 0x00000000, 0x48025a06, 0x0201f000, | ||
| 5661 | 0x000202da, 0x42000000, 0x00000103, 0x0401f7fb, | ||
| 5662 | 0x42000000, 0x00000102, 0x0401f7f8, 0x492fc857, | ||
| 5663 | 0x592e7c06, 0x833c0500, 0xfffffffe, 0x04020043, | ||
| 5664 | 0x592c4007, 0x42026000, 0x0010d1c0, 0x41581800, | ||
| 5665 | 0x400c0000, 0x81300480, 0x04021023, 0x59300203, | ||
| 5666 | 0x82000580, 0x00000000, 0x04000007, 0x59300008, | ||
| 5667 | 0x80000d40, 0x04000004, 0x58040005, 0x80200580, | ||
| 5668 | 0x04000004, 0x83326400, 0x00000024, 0x0401f7f1, | ||
| 5669 | 0x58040204, 0x82000500, 0x000000ff, 0x82000d80, | ||
| 5670 | 0x00000053, 0x04000007, 0x82000d80, 0x00000048, | ||
| 5671 | 0x04000004, 0x82000580, 0x00000018, 0x04020023, | ||
| 5672 | 0x4d2c0000, 0x0201f800, 0x00108be3, 0x5c025800, | ||
| 5673 | 0x0400001e, 0x4a025a06, 0x00000000, 0x0201f000, | ||
| 5674 | 0x000202da, 0x592e8a06, 0x83440480, 0x000007f0, | ||
| 5675 | 0x04021016, 0x83440400, 0x0010ac00, 0x50000000, | ||
| 5676 | 0x80026d40, 0x04000011, 0x4d2c0000, 0x0201f800, | ||
| 5677 | 0x001047cb, 0x0400000c, 0x42028000, 0x00000005, | ||
| 5678 | 0x592c0a08, 0x0201f800, 0x00104e70, 0x0201f800, | ||
| 5679 | 0x001091cc, 0x0201f800, 0x000202da, 0x5c025800, | ||
| 5680 | 0x0401f7e5, 0x5c025800, 0x4a025a06, 0x00000031, | ||
| 5681 | 0x0201f000, 0x000202da, 0x492fc857, 0x4d2c0000, | ||
| 5682 | 0x0201f800, 0x001007e4, 0x04000016, 0x492fc857, | ||
| 5683 | 0x412f4000, 0x0201f800, 0x001007e4, 0x0400000e, | ||
| 5684 | 0x492fc857, 0x412dd800, 0x0201f800, 0x00103b28, | ||
| 5685 | 0x0201f800, 0x00103b32, 0x49a1d80b, 0x5c025800, | ||
| 5686 | 0x492dd80a, 0x0201f800, 0x00102214, 0x0201f000, | ||
| 5687 | 0x00102233, 0x41a25800, 0x0201f800, 0x001007f4, | ||
| 5688 | 0x5c025800, 0x4a025a06, 0x00004005, 0x4a025c06, | ||
| 5689 | 0x00000002, 0x0201f000, 0x000202da, 0x4807c857, | ||
| 5690 | 0x485fc857, 0x4200b800, 0x00000001, 0x5c000800, | ||
| 5691 | 0x4c5c0000, 0x0401f005, 0x4807c857, 0x485fc857, | ||
| 5692 | 0x5c000800, 0x4d780000, 0x4803c857, 0x492fc857, | ||
| 5693 | 0x8c00050e, 0x02020800, 0x001005d0, 0x4203e000, | ||
| 5694 | 0x50000000, 0x4200b800, 0x00008003, 0x0201f000, | ||
| 5695 | 0x001005dd, 0x592c0204, 0x80000110, 0x80000040, | ||
| 5696 | 0x04020441, 0x0201f800, 0x00104a34, 0x04020002, | ||
| 5697 | 0x1c01f000, 0x49425a06, 0x4806580d, 0x480a580e, | ||
| 5698 | 0x4943c857, 0x4807c857, 0x480bc857, 0x0201f000, | ||
| 5699 | 0x000202da, 0x592c0204, 0x80000110, 0x80000040, | ||
| 5700 | 0x04020431, 0x0201f800, 0x00104b8b, 0x04020002, | ||
| 5701 | 0x1c01f000, 0x49425a06, 0x48065811, 0x480a5812, | ||
| 5702 | 0x0201f000, 0x000202da, 0x592c0204, 0x80000110, | ||
| 5703 | 0x04000425, 0x80000040, 0x0402000c, 0x4202e000, | ||
| 5704 | 0x00000001, 0x592c020a, 0x8c000504, 0x02000000, | ||
| 5705 | 0x000204d0, 0x592c0207, 0x82000c80, 0x00001001, | ||
| 5706 | 0x04021429, 0x0401f009, 0x4202e000, 0x00000003, | ||
| 5707 | 0x48033002, 0x492f3003, 0x492f3004, 0x4a033008, | ||
| 5708 | 0x000204d0, 0x1c01f000, 0x4202e000, 0x00000002, | ||
| 5709 | 0x42000000, 0x0010beda, 0x50007000, 0x492c700b, | ||
| 5710 | 0x4978700e, 0x4978700c, 0x592c0011, 0x592c0812, | ||
| 5711 | 0x48007007, 0x48047008, 0x592c1013, 0x82080500, | ||
| 5712 | 0xffff0000, 0x04000003, 0x0201f800, 0x001005d8, | ||
| 5713 | 0x4978700d, 0x82080480, 0x00000180, 0x4803c857, | ||
| 5714 | 0x04001007, 0x4800700f, 0x4a007005, 0x00000180, | ||
| 5715 | 0x4a007004, 0x00000060, 0x0401f005, 0x4978700f, | ||
| 5716 | 0x48087005, 0x80081104, 0x48087004, 0x5838000a, | ||
| 5717 | 0x48007003, 0x40381000, 0x0201f000, 0x00100858, | ||
| 5718 | 0x0201f800, 0x001007d3, 0x04000003, 0x59980007, | ||
| 5719 | 0x0801f000, 0x1c01f000, 0x40307000, 0x5838000b, | ||
| 5720 | 0x80025d40, 0x0400001b, 0x58380002, 0x82000580, | ||
| 5721 | 0x00000100, 0x0400001d, 0x4c380000, 0x592c0204, | ||
| 5722 | 0x82000500, 0x000000ff, 0x82000580, 0x00000012, | ||
| 5723 | 0x0400000b, 0x592c0208, 0x8400054e, 0x48025a08, | ||
| 5724 | 0x4a025a06, 0x00000002, 0x4a025a04, 0x00000103, | ||
| 5725 | 0x0201f800, 0x000202c1, 0x0401f005, 0x4a025a06, | ||
| 5726 | 0x00000010, 0x0201f800, 0x000202da, 0x5c007000, | ||
| 5727 | 0x4202e000, 0x00000001, 0x4a007002, 0x00000100, | ||
| 5728 | 0x49787010, 0x1c01f000, 0x58380004, 0x82000480, | ||
| 5729 | 0x00000003, 0x04000087, 0x58380010, 0x8c000500, | ||
| 5730 | 0x04020019, 0x4200b000, 0x00000003, 0x832cac00, | ||
| 5731 | 0x00000011, 0x5838000a, 0x5838100d, 0x8008a400, | ||
| 5732 | 0x4c380000, 0x0201f800, 0x0010ab17, 0x5c007000, | ||
| 5733 | 0x5838000d, 0x82000400, 0x00000003, 0x4800700d, | ||
| 5734 | 0x4a007010, 0x00000001, 0x58380004, 0x82000480, | ||
| 5735 | 0x00000003, 0x48007004, 0x82000580, 0x00000003, | ||
| 5736 | 0x0400006c, 0x5838000e, 0x80001d40, 0x04020020, | ||
| 5737 | 0x4c380000, 0x0201f800, 0x001007d3, 0x5c007000, | ||
| 5738 | 0x04000010, 0x4a025a04, 0x0000010a, 0x42001800, | ||
| 5739 | 0x00000005, 0x480c700e, 0x5838000c, 0x80000540, | ||
| 5740 | 0x04020002, 0x5838000b, 0x40000800, 0x492c0801, | ||
| 5741 | 0x492c700c, 0x42000800, 0x0000000f, 0x0401f011, | ||
| 5742 | 0x4202e000, 0x00000008, 0x4a033007, 0x00105915, | ||
| 5743 | 0x1c01f000, 0x4202e000, 0x00000002, 0x42000000, | ||
| 5744 | 0x0010beda, 0x50007000, 0x0401f7e7, 0x583a580c, | ||
| 5745 | 0x400c0000, 0x42000800, 0x00000014, 0x80040c80, | ||
| 5746 | 0x58381004, 0x5838000f, 0x41783000, 0x80000540, | ||
| 5747 | 0x04020005, 0x84183540, 0x82081480, 0x00000003, | ||
| 5748 | 0x0400003c, 0x40080000, 0x80040480, 0x04001002, | ||
| 5749 | 0x40080800, 0x4004b000, 0x412c0000, 0x800c0400, | ||
| 5750 | 0x4000a800, 0x5838000a, 0x5838100d, 0x8008a400, | ||
| 5751 | 0x4c080000, 0x4c040000, 0x4c0c0000, 0x4c380000, | ||
| 5752 | 0x0201f800, 0x0010ab17, 0x5c007000, 0x5c001800, | ||
| 5753 | 0x5c000800, 0x40040000, 0x58381004, 0x80080480, | ||
| 5754 | 0x48007004, 0x82000580, 0x00000003, 0x04000002, | ||
| 5755 | 0x84183500, 0x5c000000, 0x80041400, 0x82080480, | ||
| 5756 | 0x00000060, 0x04020003, 0x84183542, 0x41781000, | ||
| 5757 | 0x400c0000, 0x80041c00, 0x820c0480, 0x00000014, | ||
| 5758 | 0x04020003, 0x84183544, 0x40001800, 0x40080800, | ||
| 5759 | 0x4804700d, 0x480c700e, 0x40180000, 0x0c01f001, | ||
| 5760 | 0x00105960, 0x00105964, 0x00105962, 0x00105960, | ||
| 5761 | 0x001058fc, 0x00105964, 0x00105962, 0x00105960, | ||
| 5762 | 0x0201f800, 0x001005d8, 0x5838100f, 0x0401f739, | ||
| 5763 | 0x5838080d, 0x82040400, 0x00000002, 0x5838100a, | ||
| 5764 | 0x80080400, 0x50001000, 0x800811c0, 0x0402000f, | ||
| 5765 | 0x4202e000, 0x00000001, 0x583a580b, 0x4978700b, | ||
| 5766 | 0x49787010, 0x592c0204, 0x82000500, 0x000000ff, | ||
| 5767 | 0x82000580, 0x00000012, 0x02000000, 0x00020507, | ||
| 5768 | 0x0201f000, 0x000204d0, 0x5838000a, 0x80040c00, | ||
| 5769 | 0x82381c00, 0x00000007, 0x54041800, 0x80040800, | ||
| 5770 | 0x800c1800, 0x54041800, 0x0401f71a, 0x0201f800, | ||
| 5771 | 0x001007d3, 0x02000800, 0x001005d8, 0x4a02580a, | ||
| 5772 | 0x0010be79, 0x42000800, 0x0010beda, 0x452c0800, | ||
| 5773 | 0x497a580b, 0x497a580c, 0x497a580d, 0x497a580e, | ||
| 5774 | 0x497a580f, 0x4a025809, 0x001058b6, 0x497a5810, | ||
| 5775 | 0x4a025802, 0x00000100, 0x4a025801, 0x00000001, | ||
| 5776 | 0x1c01f000, 0x59c80007, 0x8c000502, 0x04000070, | ||
| 5777 | 0x835c2c80, 0x00000005, 0x02001000, 0x00105f23, | ||
| 5778 | 0x59c82817, 0x497b9005, 0x82140500, 0x00e00000, | ||
| 5779 | 0x0402004f, 0x82140500, 0x000003ff, 0x82001c00, | ||
| 5780 | 0x00000006, 0x41cc2000, 0x42003000, 0x00006080, | ||
| 5781 | 0x820c0480, 0x00000040, 0x04001006, 0x42001000, | ||
| 5782 | 0x00000040, 0x820c1c80, 0x00000040, 0x0401f003, | ||
| 5783 | 0x400c1000, 0x41781800, 0x54182000, 0x80102000, | ||
| 5784 | 0x80183000, 0x80081040, 0x040207fc, 0x800c19c0, | ||
| 5785 | 0x04000005, 0x59c80005, 0x80000000, 0x48039005, | ||
| 5786 | 0x0401f7ea, 0x82140500, 0x01f60000, 0x04020029, | ||
| 5787 | 0x82140500, 0x0000f000, 0x0400000b, 0x82000c80, | ||
| 5788 | 0x00002000, 0x0402100f, 0x82140500, 0x0e000000, | ||
| 5789 | 0x80000132, 0x0c01f840, 0x4a039005, 0x00000140, | ||
| 5790 | 0x1c01f000, 0x59cc0400, 0x82000500, 0x0000ff00, | ||
| 5791 | 0x82000580, 0x00008100, 0x040007f4, 0x0401f01c, | ||
| 5792 | 0x4817c857, 0x82140500, 0x000003ff, 0x04020007, | ||
| 5793 | 0x59cc0400, 0x82000500, 0x0000ff00, 0x82000580, | ||
| 5794 | 0x00008100, 0x04020012, 0x42000000, 0x0010b8bd, | ||
| 5795 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x00105dfa, | ||
| 5796 | 0x4803c856, 0x4a039005, 0x00000140, 0x0401f020, | ||
| 5797 | 0x4817c857, 0x82140500, 0x00f60000, 0x04020004, | ||
| 5798 | 0x0201f800, 0x00105e35, 0x040207d2, 0x0201f800, | ||
| 5799 | 0x0010513b, 0x04000010, 0x59c400a4, 0x4803c857, | ||
| 5800 | 0x82000500, 0x0000000f, 0x82000580, 0x0000000a, | ||
| 5801 | 0x04020009, 0x497b5016, 0x59c400a3, 0x82000540, | ||
| 5802 | 0x00080000, 0x480388a3, 0x82000500, 0xfff7ffff, | ||
| 5803 | 0x480388a3, 0x4817c856, 0x0201f800, 0x0010a978, | ||
| 5804 | 0x4a039005, 0x00000140, 0x0401f842, 0x4803c856, | ||
| 5805 | 0x1c01f000, 0x00105a1d, 0x00105cf4, 0x00105a15, | ||
| 5806 | 0x00105a15, 0x00105a15, 0x00105a15, 0x00105a15, | ||
| 5807 | 0x00105a15, 0x4803c857, 0x42000000, 0x0010b85a, | ||
| 5808 | 0x0201f800, 0x0010aa47, 0x4a039005, 0x00000140, | ||
| 5809 | 0x1c01f000, 0x4817c857, 0x59cc0400, 0x4803c857, | ||
| 5810 | 0x82000d00, 0x0000ff00, 0x82041500, 0x0000f000, | ||
| 5811 | 0x840409c0, 0x82140500, 0x000003ff, 0x800018c4, | ||
| 5812 | 0x8c142d14, 0x04000005, 0x59cc0002, 0x82000500, | ||
| 5813 | 0x00000003, 0x800c1c80, 0x480f5016, 0x82080580, | ||
| 5814 | 0x00002000, 0x04020011, 0x836c0580, 0x00000001, | ||
| 5815 | 0x0402000c, 0x59cc0006, 0x82000500, 0xff000000, | ||
| 5816 | 0x82000580, 0x11000000, 0x04020011, 0x0201f800, | ||
| 5817 | 0x00103b38, 0x0201f800, 0x00105f48, 0x0401f00c, | ||
| 5818 | 0x0401f81f, 0x0401f00a, 0x82080580, 0x00003000, | ||
| 5819 | 0x04020003, 0x0401fa06, 0x0401f005, 0x82080580, | ||
| 5820 | 0x00008000, 0x04020002, 0x0401fafc, 0x1c01f000, | ||
| 5821 | 0x4817c857, 0x42000000, 0x0010b859, 0x0201f800, | ||
| 5822 | 0x0010aa47, 0x836c0580, 0x00000003, 0x0402000b, | ||
| 5823 | 0x4c080000, 0x4c0c0000, 0x42001000, 0x00008048, | ||
| 5824 | 0x40141800, 0x80142120, 0x0201f800, 0x00103a3e, | ||
| 5825 | 0x5c001800, 0x5c001000, 0x1c01f000, 0x4807c857, | ||
| 5826 | 0x59cc0002, 0x82000500, 0xff000000, 0x82001580, | ||
| 5827 | 0x01000000, 0x04000004, 0x82001580, 0x23000000, | ||
| 5828 | 0x04020192, 0x82040580, 0x00000023, 0x0402003f, | ||
| 5829 | 0x0401fb6a, 0x0400018d, 0x59300c06, 0x82040580, | ||
| 5830 | 0x00000010, 0x04000013, 0x82040580, 0x00000011, | ||
| 5831 | 0x04000010, 0x82040580, 0x00000001, 0x0400000d, | ||
| 5832 | 0x82040580, 0x00000004, 0x0400000a, 0x82040580, | ||
| 5833 | 0x00000008, 0x04000007, 0x82040580, 0x0000000a, | ||
| 5834 | 0x04000004, 0x4933c857, 0x4807c857, 0x0401f177, | ||
| 5835 | 0x59300004, 0x82000500, 0x80010000, 0x04000004, | ||
| 5836 | 0x0201f800, 0x00106f60, 0x04020170, 0x59cc0a04, | ||
| 5837 | 0x48066202, 0x59cc0006, 0x82000500, 0xffff0000, | ||
| 5838 | 0x82000d80, 0x02000000, 0x04020005, 0x42027000, | ||
| 5839 | 0x00000015, 0x0201f000, 0x000207a1, 0x82000d80, | ||
| 5840 | 0x02140000, 0x040007fa, 0x82000d80, 0x02100000, | ||
| 5841 | 0x040007f7, 0x82000d80, 0x02100000, 0x040007f4, | ||
| 5842 | 0x82000d80, 0x01000000, 0x04020158, 0x59cc0006, | ||
| 5843 | 0x82000500, 0x0000ffff, 0x04020154, 0x42027000, | ||
| 5844 | 0x00000016, 0x0401f7ec, 0x82040580, 0x00000022, | ||
| 5845 | 0x0402014e, 0x59a80806, 0x8c040d14, 0x04000011, | ||
| 5846 | 0x0401f967, 0x0402000f, 0x0401f97d, 0x0400000d, | ||
| 5847 | 0x42027000, 0x0000004c, 0x59cc0001, 0x82000500, | ||
| 5848 | 0x00ffffff, 0x0201f800, 0x00105eec, 0x0400012a, | ||
| 5849 | 0x42028800, 0x0000ffff, 0x417a6800, 0x0401f126, | ||
| 5850 | 0x59cc0006, 0x82000500, 0xffff0000, 0x82000d80, | ||
| 5851 | 0x03000000, 0x04020021, 0x59a80026, 0x8c000508, | ||
| 5852 | 0x04000017, 0x8400054c, 0x48035026, 0x59cc0800, | ||
| 5853 | 0x82040d00, 0x00ffffff, 0x48075010, 0x497b8830, | ||
| 5854 | 0x84040d70, 0x48078832, 0x59c40802, 0x84040d4c, | ||
| 5855 | 0x48078802, 0x59cc0007, 0x82000500, 0x0000ffff, | ||
| 5856 | 0x48038893, 0x4803501e, 0x42000800, 0x00000003, | ||
| 5857 | 0x59a81010, 0x0201f800, 0x00106c78, 0x59cc0006, | ||
| 5858 | 0x82000500, 0x0000ffff, 0x04020118, 0x42027000, | ||
| 5859 | 0x00000017, 0x0401f0d9, 0x82000d80, 0x04000000, | ||
| 5860 | 0x04020011, 0x59cc0006, 0x82000500, 0x0000ffff, | ||
| 5861 | 0x0402010e, 0x0201f800, 0x0010513b, 0x04000004, | ||
| 5862 | 0x42027000, 0x0000001d, 0x0401f0cc, 0x59a80026, | ||
| 5863 | 0x84000548, 0x48035026, 0x42027000, 0x00000030, | ||
| 5864 | 0x0401f0c6, 0x82000d80, 0x05000000, 0x04020008, | ||
| 5865 | 0x59cc0006, 0x82000500, 0x0000ffff, 0x040200fb, | ||
| 5866 | 0x42027000, 0x00000018, 0x0401f0bc, 0x82000d80, | ||
| 5867 | 0x20100000, 0x04020004, 0x42027000, 0x00000019, | ||
| 5868 | 0x0401f0b6, 0x82000d80, 0x21100000, 0x04020004, | ||
| 5869 | 0x42027000, 0x0000001a, 0x0401f0b0, 0x82000d80, | ||
| 5870 | 0x52000000, 0x04020008, 0x59cc0006, 0x82000500, | ||
| 5871 | 0x0000ffff, 0x040200e5, 0x42027000, 0x0000001b, | ||
| 5872 | 0x0401f0a6, 0x82000d80, 0x50000000, 0x04020008, | ||
| 5873 | 0x59cc0006, 0x82000500, 0x0000ffff, 0x040200db, | ||
| 5874 | 0x42027000, 0x0000001c, 0x0401f09c, 0x82000d80, | ||
| 5875 | 0x13000000, 0x04020004, 0x42027000, 0x00000034, | ||
| 5876 | 0x0401f096, 0x82000d80, 0x12000000, 0x04020008, | ||
| 5877 | 0x59cc0006, 0x82000500, 0x0000ffff, 0x040200cb, | ||
| 5878 | 0x42027000, 0x00000024, 0x0401f08c, 0x82000d00, | ||
| 5879 | 0xff000000, 0x82040d80, 0x24000000, 0x04020004, | ||
| 5880 | 0x42027000, 0x0000002d, 0x0401f084, 0x82000d00, | ||
| 5881 | 0xff000000, 0x82040d80, 0x53000000, 0x04020004, | ||
| 5882 | 0x42027000, 0x0000002a, 0x0401f07c, 0x82000d80, | ||
| 5883 | 0x0f000000, 0x04020004, 0x42027000, 0x00000020, | ||
| 5884 | 0x0401f076, 0x82000d80, 0x61040000, 0x04020036, | ||
| 5885 | 0x83cc1400, 0x00000006, 0x80080800, 0x50080000, | ||
| 5886 | 0x82000500, 0x0000ffff, 0x82000480, 0x00000004, | ||
| 5887 | 0x4c580000, 0x8000b104, 0x8058b1c0, 0x04000026, | ||
| 5888 | 0x4c100000, 0x50041800, 0x820c1500, 0x03000000, | ||
| 5889 | 0x80081130, 0x42000000, 0x0010b817, 0x82082580, | ||
| 5890 | 0x00000000, 0x04020004, 0x42000000, 0x0010b814, | ||
| 5891 | 0x0401f00c, 0x82082580, 0x00000001, 0x04020004, | ||
| 5892 | 0x42000000, 0x0010b815, 0x0401f006, 0x82082580, | ||
| 5893 | 0x00000002, 0x04020003, 0x42000000, 0x0010b816, | ||
| 5894 | 0x0201f800, 0x0010aa47, 0x42001000, 0x00008015, | ||
| 5895 | 0x820c2500, 0x0000ffff, 0x800c1920, 0x0201f800, | ||
| 5896 | 0x00103a3e, 0x5c002000, 0x80040800, 0x8058b040, | ||
| 5897 | 0x040207da, 0x5c00b000, 0x42027000, 0x00000023, | ||
| 5898 | 0x0401f03e, 0x82000d80, 0x60000000, 0x04020004, | ||
| 5899 | 0x42027000, 0x0000003f, 0x0401f038, 0x82000d80, | ||
| 5900 | 0x54000000, 0x04020006, 0x0401fb12, 0x0402006f, | ||
| 5901 | 0x42027000, 0x00000046, 0x0401f030, 0x82000d80, | ||
| 5902 | 0x55000000, 0x04020009, 0x0401fb32, 0x04020004, | ||
| 5903 | 0x42027000, 0x00000041, 0x0401f028, 0x42027000, | ||
| 5904 | 0x00000042, 0x0401f025, 0x82000d80, 0x78000000, | ||
| 5905 | 0x04020004, 0x42027000, 0x00000045, 0x0401f01f, | ||
| 5906 | 0x82000d80, 0x10000000, 0x04020004, 0x42027000, | ||
| 5907 | 0x0000004e, 0x0401f019, 0x82000d80, 0x63000000, | ||
| 5908 | 0x04020004, 0x42027000, 0x0000004a, 0x0401f013, | ||
| 5909 | 0x82000d00, 0xff000000, 0x82040d80, 0x56000000, | ||
| 5910 | 0x04020004, 0x42027000, 0x0000004f, 0x0401f00b, | ||
| 5911 | 0x82000d00, 0xff000000, 0x82040d80, 0x57000000, | ||
| 5912 | 0x04020004, 0x42027000, 0x00000050, 0x0401f003, | ||
| 5913 | 0x42027000, 0x0000001d, 0x59cc3800, 0x821c3d00, | ||
| 5914 | 0x00ffffff, 0x821c0580, 0x00fffffe, 0x59cc0001, | ||
| 5915 | 0x04020005, 0x40003000, 0x42028800, 0x000007fe, | ||
| 5916 | 0x0401f003, 0x0401f8d1, 0x04020030, 0x0201f800, | ||
| 5917 | 0x001045a6, 0x0402002d, 0x83380580, 0x00000046, | ||
| 5918 | 0x04020004, 0x59a80010, 0x80180580, 0x04000027, | ||
| 5919 | 0x59340200, 0x8c000514, 0x0400000f, 0x83380580, | ||
| 5920 | 0x00000030, 0x0400000c, 0x83380580, 0x0000003f, | ||
| 5921 | 0x04000009, 0x83380580, 0x00000034, 0x04000006, | ||
| 5922 | 0x83380580, 0x00000024, 0x04000003, 0x42027000, | ||
| 5923 | 0x0000004c, 0x0201f800, 0x0002075a, 0x04000018, | ||
| 5924 | 0x49366009, 0x4a026406, 0x00000004, 0x59cc0c04, | ||
| 5925 | 0x48066202, 0x83380580, 0x0000004c, 0x04020009, | ||
| 5926 | 0x4a026406, 0x00000011, 0x813669c0, 0x04020005, | ||
| 5927 | 0x59cc0001, 0x82000500, 0x00ffffff, 0x4802601e, | ||
| 5928 | 0x0201f000, 0x000207a1, 0x59880052, 0x4803c857, | ||
| 5929 | 0x80000000, 0x48031052, 0x1c01f000, 0x42001000, | ||
| 5930 | 0x00008049, 0x59cc1806, 0x800c1930, 0x0201f800, | ||
| 5931 | 0x00103a3e, 0x0201f800, 0x00107942, 0x040007f3, | ||
| 5932 | 0x49366009, 0x4a026406, 0x00000004, 0x59cc0c04, | ||
| 5933 | 0x48066202, 0x4a026403, 0x00000009, 0x4a02641a, | ||
| 5934 | 0x00000009, 0x4a02621a, 0x00002900, 0x4a026203, | ||
| 5935 | 0x00000001, 0x0201f000, 0x0010672b, 0x59a80026, | ||
| 5936 | 0x4803c857, 0x8c000508, 0x04000010, 0x59cc0006, | ||
| 5937 | 0x82000500, 0xff000000, 0x82000d80, 0x03000000, | ||
| 5938 | 0x0400000c, 0x82000d80, 0x20000000, 0x04000009, | ||
| 5939 | 0x82000d80, 0x05000000, 0x04000006, 0x82000d80, | ||
| 5940 | 0x21000000, 0x04000003, 0x80000580, 0x1c01f000, | ||
| 5941 | 0x82000540, 0x00000001, 0x0401f7fd, 0x59cc2006, | ||
| 5942 | 0x82102500, 0xff000000, 0x9c1021c0, 0x0401f807, | ||
| 5943 | 0x820c1c00, 0x0010b4e3, 0x500c1800, 0x800c0500, | ||
| 5944 | 0x4803c857, 0x1c01f000, 0x40100800, 0x41781800, | ||
| 5945 | 0x82040480, 0x00000020, 0x04001004, 0x800c1800, | ||
| 5946 | 0x40000800, 0x0401f7fb, 0x82040500, 0x0000000f, | ||
| 5947 | 0x82000400, 0x0010ab38, 0x50000000, 0x8c040d08, | ||
| 5948 | 0x04000002, 0x900001c0, 0x1c01f000, 0x4803c856, | ||
| 5949 | 0x0401fac3, 0x0402000a, 0x0201f800, 0x0010210a, | ||
| 5950 | 0x04020007, 0x59cc0002, 0x82000500, 0xff000000, | ||
| 5951 | 0x82000d80, 0x08000000, 0x04000802, 0x1c01f000, | ||
| 5952 | 0x4803c856, 0x59cc0400, 0x82000d00, 0x0000ff00, | ||
| 5953 | 0x840409c0, 0x82040580, 0x00000033, 0x0402001f, | ||
| 5954 | 0x0401f976, 0x04000038, 0x59cc0a04, 0x48066202, | ||
| 5955 | 0x59cc0006, 0x4803c857, 0x82000500, 0xffff0000, | ||
| 5956 | 0x82000d80, 0x02000000, 0x04020009, 0x59cc0006, | ||
| 5957 | 0x82000500, 0x0000ffff, 0x0402002b, 0x42027000, | ||
| 5958 | 0x00000015, 0x0201f000, 0x000207a1, 0x82000d80, | ||
| 5959 | 0x01000000, 0x04020024, 0x59cc0006, 0x82000500, | ||
| 5960 | 0x0000ffff, 0x04020020, 0x42027000, 0x00000016, | ||
| 5961 | 0x0201f000, 0x000207a1, 0x82040580, 0x00000032, | ||
| 5962 | 0x04020019, 0x59cc0006, 0x82000500, 0xffff0000, | ||
| 5963 | 0x82000d80, 0x14000000, 0x04020013, 0x42027000, | ||
| 5964 | 0x00000038, 0x59cc0001, 0x0401f810, 0x0402000e, | ||
| 5965 | 0x0201f800, 0x001045a6, 0x0402000b, 0x0201f800, | ||
| 5966 | 0x0002075a, 0x04000008, 0x49366009, 0x4a026406, | ||
| 5967 | 0x00000004, 0x59cc0c04, 0x48066202, 0x0201f000, | ||
| 5968 | 0x000207a1, 0x1c01f000, 0x4803c857, 0x4c580000, | ||
| 5969 | 0x4c100000, 0x4c380000, 0x4c340000, 0x82003500, | ||
| 5970 | 0x00ffffff, 0x82181500, 0x00ff0000, 0x82081580, | ||
| 5971 | 0x00ff0000, 0x04020016, 0x82181480, 0x00fffffc, | ||
| 5972 | 0x04001013, 0x82181580, 0x00fffffd, 0x04020004, | ||
| 5973 | 0x42028800, 0x000007fd, 0x0401f040, 0x82181580, | ||
| 5974 | 0x00fffffe, 0x04020004, 0x42028800, 0x000007fe, | ||
| 5975 | 0x0401f03a, 0x82181580, 0x00fffffc, 0x04020004, | ||
| 5976 | 0x42028800, 0x000007fc, 0x0401f034, 0x41781000, | ||
| 5977 | 0x42002000, 0x00000000, 0x4200b000, 0x000007f0, | ||
| 5978 | 0x41ac7000, 0x50380000, 0x80006d40, 0x04020005, | ||
| 5979 | 0x800811c0, 0x0402001e, 0x8410155e, 0x0401f01c, | ||
| 5980 | 0x58340212, 0x82000500, 0x0000ff00, 0x04000011, | ||
| 5981 | 0x59a84010, 0x82204500, 0x00ffff00, 0x82180500, | ||
| 5982 | 0x00ffff00, 0x04000002, 0x80200580, 0x58340002, | ||
| 5983 | 0x0402000f, 0x82000500, 0x000000ff, 0x82184500, | ||
| 5984 | 0x000000ff, 0x80204580, 0x04020009, 0x0401f006, | ||
| 5985 | 0x58340002, 0x82000500, 0x00ffffff, 0x80184580, | ||
| 5986 | 0x04020003, 0x40128800, 0x0401f00c, 0x80102000, | ||
| 5987 | 0x80387000, 0x8058b040, 0x040207db, 0x800811c0, | ||
| 5988 | 0x04020005, 0x481bc857, 0x82000540, 0x00000001, | ||
| 5989 | 0x0401f003, 0x840a8d1e, 0x80000580, 0x5c006800, | ||
| 5990 | 0x5c007000, 0x5c002000, 0x5c00b000, 0x1c01f000, | ||
| 5991 | 0x59a80026, 0x8c00050e, 0x04000003, 0x8c000502, | ||
| 5992 | 0x04000006, 0x59cc0c00, 0x80040910, 0x82040500, | ||
| 5993 | 0x0000000f, 0x0c01f002, 0x1c01f000, 0x00105d0f, | ||
| 5994 | 0x00105d0f, 0x00105d0f, 0x00105de5, 0x00105d0f, | ||
| 5995 | 0x00105d11, 0x00105d29, 0x00105d2c, 0x00105d0f, | ||
| 5996 | 0x00105d0f, 0x00105d0f, 0x00105d0f, 0x00105d0f, | ||
| 5997 | 0x00105d0f, 0x00105d0f, 0x00105d0f, 0x4803c856, | ||
| 5998 | 0x1c01f000, 0x0401f8c5, 0x04000014, 0x82140500, | ||
| 5999 | 0x000003ff, 0x800000c4, 0x82000480, 0x00000008, | ||
| 6000 | 0x0400100e, 0x59cc0001, 0x59326809, 0x59340802, | ||
| 6001 | 0x80040580, 0x82000500, 0x00ffffff, 0x04020007, | ||
| 6002 | 0x59cc0a04, 0x48066202, 0x42027000, 0x00000046, | ||
| 6003 | 0x0201f000, 0x000207a1, 0x59cc0004, 0x4803c857, | ||
| 6004 | 0x1c01f000, 0x59cc0004, 0x4803c857, 0x1c01f000, | ||
| 6005 | 0x0401f8aa, 0x04000016, 0x82140500, 0x000003ff, | ||
| 6006 | 0x800000c4, 0x82000480, 0x0000000c, 0x04001010, | ||
| 6007 | 0x59cc0001, 0x82000500, 0x00ffffff, 0x59326809, | ||
| 6008 | 0x59340802, 0x82040d00, 0x00ffffff, 0x80040580, | ||
| 6009 | 0x04020007, 0x59cc0a04, 0x48066202, 0x42027000, | ||
| 6010 | 0x00000045, 0x0201f000, 0x000207a1, 0x59cc0004, | ||
| 6011 | 0x4803c857, 0x1c01f000, 0x4817c857, 0x0401f9c8, | ||
| 6012 | 0x04020011, 0x0201f800, 0x0010210a, 0x0402000e, | ||
| 6013 | 0x59cc0002, 0x82000500, 0xff000000, 0x82000580, | ||
| 6014 | 0x00000000, 0x04020008, 0x82040500, 0x0000000f, | ||
| 6015 | 0x82000c80, 0x00000006, 0x04021003, 0x4803c857, | ||
| 6016 | 0x0c01f002, 0x1c01f000, 0x00105d60, 0x00105d64, | ||
| 6017 | 0x00105d60, 0x00105d60, 0x00105db2, 0x00105dc3, | ||
| 6018 | 0x4803c857, 0x59cc0004, 0x4803c857, 0x1c01f000, | ||
| 6019 | 0x59cc0004, 0x4803c857, 0x59a80016, 0x800001c0, | ||
| 6020 | 0x040207f8, 0x59cc0802, 0x8c040d2e, 0x0402001d, | ||
| 6021 | 0x0201f800, 0x00107942, 0x02000800, 0x001005d8, | ||
| 6022 | 0x59cc0001, 0x4803c857, 0x0401ff28, 0x0402000d, | ||
| 6023 | 0x0201f800, 0x00020245, 0x0402000a, 0x4a026406, | ||
| 6024 | 0x00000005, 0x49366009, 0x59cc0c04, 0x48066202, | ||
| 6025 | 0x42027000, 0x00000088, 0x0201f000, 0x000207a1, | ||
| 6026 | 0x42028800, 0x0000ffff, 0x417a6800, 0x59cc0001, | ||
| 6027 | 0x82000500, 0x00ffffff, 0x4802601e, 0x0401f7f0, | ||
| 6028 | 0x59cc0001, 0x4803c857, 0x0401ff10, 0x040207d5, | ||
| 6029 | 0x0201f800, 0x001045a6, 0x040207d2, 0x59cc0005, | ||
| 6030 | 0x8c000500, 0x04020004, 0x59340200, 0x8c00050e, | ||
| 6031 | 0x040207cc, 0x0201f800, 0x001049f3, 0x0402000f, | ||
| 6032 | 0x0401f83e, 0x040007c7, 0x0201f800, 0x0002075a, | ||
| 6033 | 0x040007c4, 0x49366009, 0x4a026406, 0x00000002, | ||
| 6034 | 0x59cc0c04, 0x48066202, 0x42027000, 0x00000088, | ||
| 6035 | 0x0201f000, 0x000207a1, 0x0201f800, 0x0002075a, | ||
| 6036 | 0x040007b8, 0x49366009, 0x4a026406, 0x00000004, | ||
| 6037 | 0x59cc0c04, 0x48066202, 0x42027000, 0x00000001, | ||
| 6038 | 0x0201f000, 0x000207a1, 0x59cc0004, 0x4803c857, | ||
| 6039 | 0x59cc0802, 0x8c040d2e, 0x0400000b, 0x0401f81f, | ||
| 6040 | 0x04000009, 0x0401f960, 0x04020007, 0x59cc0a04, | ||
| 6041 | 0x48066202, 0x42027000, 0x00000089, 0x0201f000, | ||
| 6042 | 0x000207a1, 0x4933c857, 0x1c01f000, 0x59cc0004, | ||
| 6043 | 0x4803c857, 0x59cc0802, 0x8c040d2e, 0x0400000b, | ||
| 6044 | 0x0401f80e, 0x04000009, 0x0401f94f, 0x04020007, | ||
| 6045 | 0x59cc0a04, 0x48066202, 0x42027000, 0x0000008a, | ||
| 6046 | 0x0201f000, 0x000207a1, 0x4933c857, 0x1c01f000, | ||
| 6047 | 0x59cc0a04, 0x0401f002, 0x59cc0c04, 0x59a8000e, | ||
| 6048 | 0x59a81067, 0x80080400, 0x80040480, 0x04021008, | ||
| 6049 | 0x40040000, 0x800000c4, 0x800408ca, 0x80040c00, | ||
| 6050 | 0x82066400, 0x0010d1c0, 0x1c01f000, 0x80000580, | ||
| 6051 | 0x0401f7fe, 0x59cc0802, 0x8c040d2e, 0x04020010, | ||
| 6052 | 0x0401ffec, 0x0400000e, 0x59cc0001, 0x82000500, | ||
| 6053 | 0x00ffffff, 0x59326809, 0x59340802, 0x82040d00, | ||
| 6054 | 0x00ffffff, 0x80040580, 0x04020005, 0x42027000, | ||
| 6055 | 0x00000051, 0x0201f000, 0x000207a1, 0x59cc0004, | ||
| 6056 | 0x4803c857, 0x1c01f000, 0x4803c856, 0x42003000, | ||
| 6057 | 0x00000105, 0x0401f001, 0x4803c856, 0x4c3c0000, | ||
| 6058 | 0x41cc7800, 0x0401f803, 0x5c007800, 0x1c01f000, | ||
| 6059 | 0x4803c856, 0x4c580000, 0x583c0400, 0x82000500, | ||
| 6060 | 0x0000f000, 0x82000580, 0x0000c000, 0x04000024, | ||
| 6061 | 0x0201f800, 0x0002075a, 0x04000021, 0x4c180000, | ||
| 6062 | 0x583c0001, 0x0401fe89, 0x0402001f, 0x0201f800, | ||
| 6063 | 0x001045a6, 0x0402001c, 0x49366009, 0x0201f800, | ||
| 6064 | 0x001007e4, 0x04000018, 0x492e6017, 0x497a5800, | ||
| 6065 | 0x497a5a04, 0x48125c04, 0x832cac00, 0x00000005, | ||
| 6066 | 0x4200b000, 0x00000007, 0x403ca000, 0x0201f800, | ||
| 6067 | 0x0010ab17, 0x5c003000, 0x481a641a, 0x4a026403, | ||
| 6068 | 0x0000003e, 0x4a026406, 0x00000001, 0x4a026203, | ||
| 6069 | 0x00000001, 0x0201f800, 0x0010672b, 0x5c00b000, | ||
| 6070 | 0x1c01f000, 0x0201f800, 0x0002077d, 0x5c003000, | ||
| 6071 | 0x0401f7fb, 0x4803c856, 0x59cc0400, 0x82000d00, | ||
| 6072 | 0x0000ff00, 0x82040500, 0x0000f000, 0x840409c0, | ||
| 6073 | 0x82000580, 0x00002000, 0x04020049, 0x82040580, | ||
| 6074 | 0x00000022, 0x0402003a, 0x59c400a4, 0x82000500, | ||
| 6075 | 0x0000000f, 0x82000c80, 0x00000007, 0x04001004, | ||
| 6076 | 0x82000480, 0x0000000c, 0x0400103f, 0x59cc0006, | ||
| 6077 | 0x82000500, 0xffff0000, 0x82000d80, 0x04000000, | ||
| 6078 | 0x04000039, 0x82000d80, 0x60000000, 0x04000036, | ||
| 6079 | 0x82000d80, 0x54000000, 0x04000033, 0x82000d80, | ||
| 6080 | 0x03000000, 0x04020015, 0x59a80826, 0x8c040d02, | ||
| 6081 | 0x0402002d, 0x8c040d08, 0x0402002b, 0x0201f800, | ||
| 6082 | 0x001048ec, 0x0400002b, 0x59a8001d, 0x800000d0, | ||
| 6083 | 0x59a80810, 0x82040d00, 0x000000ff, 0x80040540, | ||
| 6084 | 0x59cc0800, 0x82040d00, 0x00ffffff, 0x80040580, | ||
| 6085 | 0x0402001b, 0x0401f01c, 0x59c40802, 0x8c040d0c, | ||
| 6086 | 0x04020017, 0x82000d80, 0x52000000, 0x040007ec, | ||
| 6087 | 0x82000d80, 0x05000000, 0x040007e9, 0x82000d80, | ||
| 6088 | 0x50000000, 0x040007e6, 0x0401f00d, 0x82040580, | ||
| 6089 | 0x00000023, 0x0402000a, 0x0401ff58, 0x04000008, | ||
| 6090 | 0x59300c03, 0x82040580, 0x00000002, 0x04000006, | ||
| 6091 | 0x82040580, 0x00000051, 0x04000003, 0x80000580, | ||
| 6092 | 0x0401f003, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 6093 | 0x59cc0006, 0x82000500, 0xffff0000, 0x82000d80, | ||
| 6094 | 0x03000000, 0x04000004, 0x82000d80, 0x52000000, | ||
| 6095 | 0x040207f3, 0x59a80026, 0x82000500, 0x00000009, | ||
| 6096 | 0x82000580, 0x00000008, 0x040007ef, 0x0401f7ec, | ||
| 6097 | 0x4803c856, 0x4c5c0000, 0x4c580000, 0x59a80016, | ||
| 6098 | 0x82000580, 0x0000004c, 0x0402001f, 0x59ccb807, | ||
| 6099 | 0x9c5cb9c0, 0x825cbd00, 0x00000007, 0x8c5cbd00, | ||
| 6100 | 0x0400000a, 0x4200b000, 0x00000002, 0x83a81c00, | ||
| 6101 | 0x00000002, 0x83cc1400, 0x0000000d, 0x0201f800, | ||
| 6102 | 0x0010855a, 0x04020010, 0x8c5cbd02, 0x0400000a, | ||
| 6103 | 0x4200b000, 0x00000002, 0x83a81c00, 0x00000000, | ||
| 6104 | 0x83cc1400, 0x0000000f, 0x0201f800, 0x0010855a, | ||
| 6105 | 0x04020005, 0x8c5cbd04, 0x04000003, 0x82000540, | ||
| 6106 | 0x00000001, 0x5c00b000, 0x5c00b800, 0x1c01f000, | ||
| 6107 | 0x4803c856, 0x4c5c0000, 0x4c580000, 0x59a80016, | ||
| 6108 | 0x82000580, 0x0000004c, 0x0402001f, 0x59ccb807, | ||
| 6109 | 0x9c5cb9c0, 0x825cbd00, 0x00000007, 0x8c5cbd00, | ||
| 6110 | 0x0400000a, 0x4200b000, 0x00000002, 0x83a81c00, | ||
| 6111 | 0x00000002, 0x83cc1400, 0x00000009, 0x0201f800, | ||
| 6112 | 0x0010855a, 0x04020010, 0x8c5cbd02, 0x0400000a, | ||
| 6113 | 0x4200b000, 0x00000002, 0x83a81c00, 0x00000000, | ||
| 6114 | 0x83cc1400, 0x0000000b, 0x0201f800, 0x0010855a, | ||
| 6115 | 0x04020005, 0x8c5cbd04, 0x04000003, 0x82000540, | ||
| 6116 | 0x00000001, 0x5c00b000, 0x5c00b800, 0x1c01f000, | ||
| 6117 | 0x4803c857, 0x4c580000, 0x40003000, 0x42002000, | ||
| 6118 | 0x000007f0, 0x4200b000, 0x00000010, 0x83ac7400, | ||
| 6119 | 0x000007f0, 0x50380000, 0x80026d40, 0x04000006, | ||
| 6120 | 0x59340002, 0x82000500, 0x00ffffff, 0x80180580, | ||
| 6121 | 0x04000010, 0x80102000, 0x80387000, 0x8058b040, | ||
| 6122 | 0x040207f5, 0x82100480, 0x00000800, 0x42002000, | ||
| 6123 | 0x00000000, 0x4200b000, 0x000007f0, 0x41ac7000, | ||
| 6124 | 0x040217ed, 0x82000540, 0x00000001, 0x0401f002, | ||
| 6125 | 0x40128800, 0x5c00b000, 0x1c01f000, 0x59a80026, | ||
| 6126 | 0x8c00050e, 0x04000004, 0x8c000502, 0x04000003, | ||
| 6127 | 0x80000580, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 6128 | 0x0401f7fd, 0x59300c06, 0x82040580, 0x00000002, | ||
| 6129 | 0x04000006, 0x82040580, 0x00000005, 0x04000003, | ||
| 6130 | 0x82000540, 0x00000001, 0x1c01f000, 0x59c80000, | ||
| 6131 | 0x84000558, 0x84000512, 0x48039000, 0x1c01f000, | ||
| 6132 | 0x4a03281a, 0x000003e8, 0x4a032802, 0x0010d1c0, | ||
| 6133 | 0x4a032800, 0x00000000, 0x4a032808, 0x00107049, | ||
| 6134 | 0x42000000, 0x00000005, 0x83947c00, 0x00000009, | ||
| 6135 | 0x49787801, 0x4a007802, 0x00106fff, 0x823c7c00, | ||
| 6136 | 0x00000003, 0x80000040, 0x040207fa, 0x4a032819, | ||
| 6137 | 0xffff0000, 0x4201d000, 0x00000064, 0x0401f96e, | ||
| 6138 | 0x4201d000, 0x000186a0, 0x0401f184, 0x00000000, | ||
| 6139 | 0x00000003, 0x00000006, 0x00000009, 0x0000000c, | ||
| 6140 | 0x4d300000, 0x4d2c0000, 0x4d340000, 0x4d400000, | ||
| 6141 | 0x4cfc0000, 0x4d380000, 0x4d3c0000, 0x4d440000, | ||
| 6142 | 0x4d4c0000, 0x4d480000, 0x4c5c0000, 0x4c600000, | ||
| 6143 | 0x4c640000, 0x4cc80000, 0x4ccc0000, 0x0201f800, | ||
| 6144 | 0x0002057b, 0x5c019800, 0x5c019000, 0x5c00c800, | ||
| 6145 | 0x5c00c000, 0x5c00b800, 0x5c029000, 0x5c029800, | ||
| 6146 | 0x5c028800, 0x5c027800, 0x5c027000, 0x5c01f800, | ||
| 6147 | 0x5c028000, 0x5c026800, 0x5c025800, 0x5c026000, | ||
| 6148 | 0x1c01f000, 0x59940004, 0x80000540, 0x0402000a, | ||
| 6149 | 0x59940025, 0x80040400, 0x02001800, 0x001005d8, | ||
| 6150 | 0x48032804, 0x480b2805, 0x4a032803, 0x0000000a, | ||
| 6151 | 0x80000580, 0x1c01f000, 0x5994001f, 0x80000540, | ||
| 6152 | 0x0402000a, 0x59940025, 0x80040400, 0x02001800, | ||
| 6153 | 0x001005d8, 0x4803281f, 0x480b2820, 0x4a03281e, | ||
| 6154 | 0x00000001, 0x80000580, 0x1c01f000, 0x59940022, | ||
| 6155 | 0x80000540, 0x0402000a, 0x59940025, 0x80040400, | ||
| 6156 | 0x02001800, 0x001005d8, 0x48032822, 0x480b2823, | ||
| 6157 | 0x4a032821, 0x0000000a, 0x80000580, 0x1c01f000, | ||
| 6158 | 0x4c000000, 0x59940005, 0x4803c857, 0x480bc857, | ||
| 6159 | 0x80080580, 0x04020003, 0x497b2804, 0x497b2805, | ||
| 6160 | 0x5c000000, 0x1c01f000, 0x4c000000, 0x59940020, | ||
| 6161 | 0x4803c857, 0x480bc857, 0x80080580, 0x04020003, | ||
| 6162 | 0x497b281f, 0x497b2820, 0x5c000000, 0x1c01f000, | ||
| 6163 | 0x4c000000, 0x59940023, 0x4803c857, 0x480bc857, | ||
| 6164 | 0x80080580, 0x04020003, 0x497b2822, 0x497b2823, | ||
| 6165 | 0x5c000000, 0x1c01f000, 0x4937c857, 0x48ebc857, | ||
| 6166 | 0x59340203, 0x80e80480, 0x04001002, 0x48ea6a03, | ||
| 6167 | 0x1c01f000, 0x5c03e000, 0x1c01f000, 0x4d440000, | ||
| 6168 | 0x42007800, 0x00000010, 0x59968801, 0x0201f800, | ||
| 6169 | 0x00020245, 0x04020012, 0x59341a03, 0x800c1840, | ||
| 6170 | 0x0400100f, 0x59940027, 0x800c0480, 0x04000003, | ||
| 6171 | 0x48026a03, 0x0402100a, 0x5934000f, 0x497a6a03, | ||
| 6172 | 0x80000540, 0x04000006, 0x4c3c0000, 0x5934140b, | ||
| 6173 | 0x0201f800, 0x00020253, 0x5c007800, 0x81468800, | ||
| 6174 | 0x83440480, 0x00000800, 0x04021007, 0x803c7840, | ||
| 6175 | 0x040207e7, 0x49472801, 0x5c028800, 0x5c03e000, | ||
| 6176 | 0x1c01f000, 0x4a032800, 0x00000002, 0x497b2801, | ||
| 6177 | 0x0401f7fa, 0x42007800, 0x00000010, 0x59966002, | ||
| 6178 | 0x59300205, 0x80000d40, 0x04000006, 0x59940027, | ||
| 6179 | 0x80040480, 0x48026205, 0x0400102d, 0x0400002c, | ||
| 6180 | 0x59300206, 0x80000d40, 0x04000014, 0x59b800e4, | ||
| 6181 | 0x8c000524, 0x04020011, 0x4a0370e4, 0x00030000, | ||
| 6182 | 0x40000000, 0x59b800e4, 0x8c000524, 0x04000004, | ||
| 6183 | 0x4a0370e4, 0x00020000, 0x0401f008, 0x59940027, | ||
| 6184 | 0x80040480, 0x48026206, 0x4a0370e4, 0x00020000, | ||
| 6185 | 0x0400101c, 0x0400001b, 0x83326400, 0x00000024, | ||
| 6186 | 0x49332802, 0x41540000, 0x81300480, 0x04021005, | ||
| 6187 | 0x803c7840, 0x040207db, 0x5c03e000, 0x1c01f000, | ||
| 6188 | 0x59940026, 0x48032827, 0x4a032802, 0x0010d1c0, | ||
| 6189 | 0x497b2826, 0x80000540, 0x0400000f, 0x4a032800, | ||
| 6190 | 0x00000001, 0x5c03e000, 0x1c01f000, 0x4c3c0000, | ||
| 6191 | 0x0201f800, 0x001091db, 0x5c007800, 0x0401f7d1, | ||
| 6192 | 0x4c3c0000, 0x0201f800, 0x00108d5d, 0x5c007800, | ||
| 6193 | 0x0401f7e2, 0x4a032800, 0x00000000, 0x5c03e000, | ||
| 6194 | 0x1c01f000, 0x59a8086b, 0x8c040d30, 0x04020029, | ||
| 6195 | 0x8c040d32, 0x0400000f, 0x59a80069, 0x81640480, | ||
| 6196 | 0x04001019, 0x59a8000b, 0x81500580, 0x04000005, | ||
| 6197 | 0x59a8006a, 0x59a81066, 0x80080580, 0x04020012, | ||
| 6198 | 0x900411c0, 0x82081500, 0x00007000, 0x0401f012, | ||
| 6199 | 0x82040500, 0x0000001f, 0x04000016, 0x80040840, | ||
| 6200 | 0x82040500, 0x0000001f, 0x04000003, 0x4807506b, | ||
| 6201 | 0x0401f010, 0x900401c0, 0x82000500, 0x0000001f, | ||
| 6202 | 0x80040d40, 0x900401c0, 0x80040580, 0x82001500, | ||
| 6203 | 0x00007000, 0x82040500, 0xffff8fff, 0x80080540, | ||
| 6204 | 0x4803506b, 0x80081114, 0x0201f800, 0x001006e2, | ||
| 6205 | 0x1c01f000, 0x4a032807, 0x000007d0, 0x4a032806, | ||
| 6206 | 0x0000000a, 0x1c01f000, 0x42000800, 0x000007d0, | ||
| 6207 | 0x83180480, 0x00000005, 0x02021800, 0x001005d8, | ||
| 6208 | 0x83947c00, 0x00000009, 0x83180400, 0x00105f43, | ||
| 6209 | 0x50000000, 0x803c7c00, 0x48047801, 0x4a007800, | ||
| 6210 | 0x0000000a, 0x1c01f000, 0x83180480, 0x00000005, | ||
| 6211 | 0x02021800, 0x001005d8, 0x83947c00, 0x00000009, | ||
| 6212 | 0x83180400, 0x00105f43, 0x50000000, 0x803c7c00, | ||
| 6213 | 0x49787801, 0x1c01f000, 0x4807c857, 0x480bc857, | ||
| 6214 | 0x59940025, 0x80040400, 0x02001800, 0x001005d8, | ||
| 6215 | 0x48032804, 0x480b2805, 0x4a032803, 0x0000000a, | ||
| 6216 | 0x1c01f000, 0x4807c857, 0x480bc857, 0x59940025, | ||
| 6217 | 0x80040400, 0x02001800, 0x001005d8, 0x4803281c, | ||
| 6218 | 0x480b281d, 0x4a03281b, 0x0000000a, 0x1c01f000, | ||
| 6219 | 0x4c000000, 0x5994001d, 0x4803c857, 0x480bc857, | ||
| 6220 | 0x80080580, 0x04020003, 0x4803281c, 0x4803281d, | ||
| 6221 | 0x5c000000, 0x1c01f000, 0x80e9d1c0, 0x0400000e, | ||
| 6222 | 0x0401f836, 0x04025000, 0x4203e000, 0x80000000, | ||
| 6223 | 0x40e81000, 0x41780800, 0x42000000, 0x00000064, | ||
| 6224 | 0x0201f800, 0x001066a0, 0x59940024, 0x80080400, | ||
| 6225 | 0x48032824, 0x1c01f000, 0x42001000, 0x00105065, | ||
| 6226 | 0x0401fef0, 0x42001000, 0x00105058, 0x0401ffe1, | ||
| 6227 | 0x42001000, 0x00104148, 0x0401feea, 0x42001000, | ||
| 6228 | 0x001041bc, 0x0401fee7, 0x42001000, 0x001041f3, | ||
| 6229 | 0x0401f6f8, 0x4203e000, 0x70000000, 0x4203e000, | ||
| 6230 | 0xb0300000, 0x41fc0000, 0x40ebf800, 0x80e80480, | ||
| 6231 | 0x04001011, 0x04000004, 0x82000480, 0x00000003, | ||
| 6232 | 0x0402100d, 0x42000000, 0x0000000f, 0x04004004, | ||
| 6233 | 0x80000040, 0x040207fe, 0x0401f007, 0x4203e000, | ||
| 6234 | 0x70000000, 0x42000000, 0x0010b87e, 0x0201f800, | ||
| 6235 | 0x0010aa47, 0x1c01f000, 0x4203e000, 0x80000000, | ||
| 6236 | 0x4203e000, 0xb0400000, 0x41fc0000, 0x40ebf800, | ||
| 6237 | 0x80e80480, 0x04001011, 0x04000004, 0x82000480, | ||
| 6238 | 0x00000003, 0x0402100d, 0x42000000, 0x0000000f, | ||
| 6239 | 0x04005004, 0x80000040, 0x040207fe, 0x0401f007, | ||
| 6240 | 0x4203e000, 0x80000000, 0x42000000, 0x0010b87f, | ||
| 6241 | 0x0201f800, 0x0010aa47, 0x1c01f000, 0x59a8000e, | ||
| 6242 | 0x82000480, 0x00000100, 0x599c0a02, 0x800409c0, | ||
| 6243 | 0x04020002, 0x80040800, 0x80041480, 0x04001002, | ||
| 6244 | 0x40000800, 0x48075067, 0x59a8100e, 0x40040000, | ||
| 6245 | 0x800acc80, 0x4967500e, 0x49675069, 0x59aaa80b, | ||
| 6246 | 0x41640800, 0x42001000, 0x00000024, 0x0201f800, | ||
| 6247 | 0x00106681, 0x8206a400, 0x0010d1c0, 0x49535065, | ||
| 6248 | 0x4152b000, 0x42006000, 0x0010be65, 0x4a006004, | ||
| 6249 | 0x0000012c, 0x4a006005, 0xda10da10, 0x4a006008, | ||
| 6250 | 0x00000011, 0x4a006009, 0x0010be65, 0x4a00600a, | ||
| 6251 | 0x001010b8, 0x599c0014, 0x48006011, 0x599c0015, | ||
| 6252 | 0x48006012, 0x42006000, 0x0010be41, 0x4a006203, | ||
| 6253 | 0x00000008, 0x4a006406, 0x00000006, 0x4a006002, | ||
| 6254 | 0xffff0000, 0x4a006008, 0x0010be65, 0x4a006014, | ||
| 6255 | 0x0010be65, 0x599c0014, 0x48006015, 0x599c0015, | ||
| 6256 | 0x48006016, 0x599c0413, 0x48006017, 0x49506018, | ||
| 6257 | 0x49546019, 0x59a80067, 0x4800601a, 0x4a00601b, | ||
| 6258 | 0x0010b465, 0x4a00601c, 0x0010b466, 0x4a00601d, | ||
| 6259 | 0x0010b46a, 0x42000000, 0xb0000000, 0x42000800, | ||
| 6260 | 0x0010be41, 0x0201f800, 0x00100b68, 0x1c01f000, | ||
| 6261 | 0x82000d00, 0x000000c0, 0x04000004, 0x82040d80, | ||
| 6262 | 0x000000c0, 0x04020055, 0x82000d00, 0x00002020, | ||
| 6263 | 0x59300414, 0x84000512, 0x82040d80, 0x00002020, | ||
| 6264 | 0x0400000b, 0x8c000514, 0x0402000f, 0x48026414, | ||
| 6265 | 0x813e79c0, 0x02020000, 0x000206d0, 0x42027000, | ||
| 6266 | 0x00000043, 0x0201f000, 0x000207a1, 0x59326809, | ||
| 6267 | 0x59340a00, 0x8c040d0a, 0x040007f3, 0x84000552, | ||
| 6268 | 0x0401f7f1, 0x84000514, 0x592c080d, 0x48066015, | ||
| 6269 | 0x0401f7ef, 0x59326809, 0x59340a00, 0x8c040d0a, | ||
| 6270 | 0x02000000, 0x000206e3, 0x59300c14, 0x84040d52, | ||
| 6271 | 0x48066414, 0x0201f000, 0x000206e3, 0x0201f800, | ||
| 6272 | 0x00020086, 0x813e79c0, 0x02020000, 0x000206d0, | ||
| 6273 | 0x0201f000, 0x000206f1, 0x8c00051e, 0x02000000, | ||
| 6274 | 0x000206fd, 0x82000d00, 0x00002020, 0x82040d80, | ||
| 6275 | 0x00002020, 0x04000014, 0x82000500, 0x000000c0, | ||
| 6276 | 0x82000d80, 0x00000080, 0x04000008, 0x813e79c0, | ||
| 6277 | 0x02020000, 0x000206d0, 0x42027000, 0x00000041, | ||
| 6278 | 0x0201f000, 0x000207a1, 0x813e79c0, 0x02020000, | ||
| 6279 | 0x000206d0, 0x42027000, 0x00000043, 0x0201f000, | ||
| 6280 | 0x000207a1, 0x59326809, 0x59340a00, 0x8c040d0a, | ||
| 6281 | 0x040007ea, 0x59300c14, 0x84040d52, 0x48066414, | ||
| 6282 | 0x0401f7e6, 0x492fc857, 0x42000800, 0x00000006, | ||
| 6283 | 0x0201f000, 0x000206f8, 0x492fc857, 0x42000800, | ||
| 6284 | 0x00000004, 0x0201f000, 0x000206f8, 0x4807c856, | ||
| 6285 | 0x59a80068, 0x800409c0, 0x04000003, 0x80080540, | ||
| 6286 | 0x0401f002, 0x80080500, 0x48035068, 0x1c01f000, | ||
| 6287 | 0x4a030800, 0x00000000, 0x4a030802, 0x00000001, | ||
| 6288 | 0x497b0803, 0x497b0804, 0x1c01f000, 0x59840002, | ||
| 6289 | 0x8c000500, 0x04000004, 0x84000500, 0x4a030800, | ||
| 6290 | 0x00000001, 0x84000544, 0x84000506, 0x48030802, | ||
| 6291 | 0x82000d00, 0x0fffffff, 0x42000000, 0x90000000, | ||
| 6292 | 0x0201f800, 0x00100b94, 0x59a80069, 0x82000480, | ||
| 6293 | 0x00000007, 0x48035069, 0x80000580, 0x42000800, | ||
| 6294 | 0x0010b519, 0x48000800, 0x48000801, 0x1c01f000, | ||
| 6295 | 0x59a80069, 0x82000480, 0x00000007, 0x48035069, | ||
| 6296 | 0x1c01f000, 0x83640480, 0x00000008, 0x0400101b, | ||
| 6297 | 0x58c80a03, 0x80000580, 0x82000400, 0x00000008, | ||
| 6298 | 0x80040840, 0x040207fd, 0x815c0480, 0x04001013, | ||
| 6299 | 0x4200b000, 0x00000007, 0x0201f800, 0x0002075a, | ||
| 6300 | 0x4a026203, 0x00000004, 0x4a026406, 0x00000009, | ||
| 6301 | 0x4a026203, 0x00000004, 0x4a026007, 0x00000101, | ||
| 6302 | 0x0401f809, 0x0401f880, 0x8058b040, 0x040207f3, | ||
| 6303 | 0x80000580, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 6304 | 0x0401f7fd, 0x0201f800, 0x001007e4, 0x492e6008, | ||
| 6305 | 0x58c80a03, 0x4a025a04, 0x0000002c, 0x497a5800, | ||
| 6306 | 0x497a5801, 0x497a5c04, 0x497a5c06, 0x497a5805, | ||
| 6307 | 0x4a025a08, 0x00000005, 0x4a025a07, 0x00000002, | ||
| 6308 | 0x58c80201, 0x48025c04, 0x58c80202, 0x48025c07, | ||
| 6309 | 0x58c80204, 0x48025c08, 0x4a02580d, 0x0000ffff, | ||
| 6310 | 0x80040840, 0x0400000c, 0x412c2000, 0x0201f800, | ||
| 6311 | 0x001007e4, 0x4a025a04, 0x0000000a, 0x497a5c04, | ||
| 6312 | 0x48125800, 0x492c2001, 0x412c2000, 0x80040840, | ||
| 6313 | 0x040207f7, 0x1c01f000, 0x4d7c0000, 0x4202f800, | ||
| 6314 | 0x00000010, 0x4df00000, 0x4203e000, 0x50000000, | ||
| 6315 | 0x59847803, 0x803c79c0, 0x0400001e, 0x4c5c0000, | ||
| 6316 | 0x583cb808, 0x585c3408, 0x801831c0, 0x0400000b, | ||
| 6317 | 0x0401f84a, 0x04000016, 0x42001000, 0x0010b519, | ||
| 6318 | 0x0401f87f, 0x04000012, 0x0201f800, 0x001007d3, | ||
| 6319 | 0x0400000f, 0x492cb805, 0x585c0005, 0x80000540, | ||
| 6320 | 0x02000800, 0x001005d8, 0x0401f830, 0x585c5408, | ||
| 6321 | 0x0401f80b, 0x5c00b800, 0x5c03e000, 0x817ef840, | ||
| 6322 | 0x040207e1, 0x5c02f800, 0x1c01f000, 0x5c00b800, | ||
| 6323 | 0x5c03e000, 0x5c02f800, 0x1c01f000, 0x4803c856, | ||
| 6324 | 0x405c6000, 0x802851c0, 0x04000018, 0x585c0204, | ||
| 6325 | 0x82000d00, 0x0000000f, 0x82040c00, 0x001010bd, | ||
| 6326 | 0x50044000, 0x4cf00000, 0x4d000000, 0x4d040000, | ||
| 6327 | 0x4021e000, 0x40320800, 0x59860004, 0x4c280000, | ||
| 6328 | 0x0401f934, 0x5c005000, 0x40f04000, 0x41046000, | ||
| 6329 | 0x0201f800, 0x0010109b, 0x040207f6, 0x5c020800, | ||
| 6330 | 0x5c020000, 0x5c01e000, 0x58c80204, 0x4800bc08, | ||
| 6331 | 0x0201f800, 0x00020086, 0x4a026007, 0x00000101, | ||
| 6332 | 0x497a6009, 0x0401f055, 0x4803c856, 0x59840003, | ||
| 6333 | 0x80026540, 0x04000003, 0x59300000, 0x48030803, | ||
| 6334 | 0x1c01f000, 0x4803c856, 0x59840003, 0x48026000, | ||
| 6335 | 0x49330803, 0x1c01f000, 0x58cc0805, 0x40180000, | ||
| 6336 | 0x80040480, 0x0400100d, 0x82cc0580, 0x0010b50e, | ||
| 6337 | 0x02020800, 0x001005d8, 0x58c80205, 0x80040480, | ||
| 6338 | 0x0400101d, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 6339 | 0x80003580, 0x0401f7fe, 0x82cc0580, 0x0010b50e, | ||
| 6340 | 0x02020800, 0x001005d8, 0x58c80400, 0x8c000504, | ||
| 6341 | 0x040007f8, 0x58c8040b, 0x8c00051e, 0x040007f5, | ||
| 6342 | 0x8c000500, 0x040207f3, 0x84000540, 0x4801940b, | ||
| 6343 | 0x42000000, 0x0010b839, 0x0201f800, 0x0010aa47, | ||
| 6344 | 0x42001000, 0x00008026, 0x0201f800, 0x00103a3e, | ||
| 6345 | 0x0401f7e8, 0x58c8040b, 0x8c00051e, 0x040007e2, | ||
| 6346 | 0x8c000502, 0x040207e0, 0x84000542, 0x4801940b, | ||
| 6347 | 0x42000000, 0x0010b838, 0x0201f800, 0x0010aa47, | ||
| 6348 | 0x42001000, 0x00008025, 0x42001800, 0x00000000, | ||
| 6349 | 0x0201f800, 0x00103a3e, 0x0401f7d3, 0x4803c856, | ||
| 6350 | 0x58080000, 0x42001800, 0x00000007, 0x58080801, | ||
| 6351 | 0x80040480, 0x04020004, 0x400c0000, 0x80000540, | ||
| 6352 | 0x0401f005, 0x04001003, 0x800c0480, 0x0401f002, | ||
| 6353 | 0x80000080, 0x1c01f000, 0x4803c856, 0x59300008, | ||
| 6354 | 0x80000d40, 0x02000800, 0x001005d8, 0x58040005, | ||
| 6355 | 0x80000540, 0x02000800, 0x001005d8, 0x59300007, | ||
| 6356 | 0x82000500, 0x00000101, 0x82000580, 0x00000101, | ||
| 6357 | 0x02020800, 0x001005d8, 0x42001000, 0x0010b519, | ||
| 6358 | 0x58080801, 0x82040400, 0x0010b51b, 0x497a6414, | ||
| 6359 | 0x4a026015, 0x0000ffff, 0x45300000, 0x80040800, | ||
| 6360 | 0x82040480, 0x00000008, 0x04001002, 0x80000d80, | ||
| 6361 | 0x48041001, 0x82040400, 0x0010b51b, 0x45780000, | ||
| 6362 | 0x1c01f000, 0x4933c857, 0x59300808, 0x800409c0, | ||
| 6363 | 0x02000800, 0x001005d8, 0x4d2c0000, 0x58065805, | ||
| 6364 | 0x812e59c0, 0x02020800, 0x001007f4, 0x49780805, | ||
| 6365 | 0x40065800, 0x0201f800, 0x001007fd, 0x5c025800, | ||
| 6366 | 0x4d300000, 0x0201f800, 0x0002077d, 0x5c026000, | ||
| 6367 | 0x1c01f000, 0x59300406, 0x82000580, 0x00000009, | ||
| 6368 | 0x04020006, 0x59300007, 0x8c000510, 0x04000003, | ||
| 6369 | 0x80000580, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 6370 | 0x1c01f000, 0x59840802, 0x8c040d04, 0x1c01f000, | ||
| 6371 | 0x4803c856, 0x59840802, 0x84040d04, 0x84040d40, | ||
| 6372 | 0x4a030800, 0x00000000, 0x48070802, 0x82040d00, | ||
| 6373 | 0x0fffffff, 0x42000000, 0x90000000, 0x0201f000, | ||
| 6374 | 0x00100b94, 0x4807c857, 0x4805980a, 0x49799801, | ||
| 6375 | 0x49799803, 0x49799806, 0x49799807, 0x49799808, | ||
| 6376 | 0x49799805, 0x49799809, 0x0401f8c9, 0x0400000a, | ||
| 6377 | 0x0401f8eb, 0x04000008, 0x48359800, 0x48359802, | ||
| 6378 | 0x48359806, 0x4a019804, 0x00000001, 0x4a019807, | ||
| 6379 | 0x00000005, 0x1c01f000, 0x4807c857, 0x58cc1007, | ||
| 6380 | 0x40040000, 0x80080480, 0x04021020, 0x4c040000, | ||
| 6381 | 0x4c080000, 0x0401f8da, 0x5c001000, 0x5c000800, | ||
| 6382 | 0x0400001c, 0x58cc0006, 0x80006540, 0x0402000b, | ||
| 6383 | 0x48359800, 0x48359802, 0x48359806, 0x49799801, | ||
| 6384 | 0x49799803, 0x49786801, 0x49786800, 0x49799804, | ||
| 6385 | 0x49799807, 0x0401f005, 0x48306801, 0x48346000, | ||
| 6386 | 0x48359806, 0x49786800, 0x58cc0004, 0x58cc1007, | ||
| 6387 | 0x80000000, 0x82081400, 0x00000005, 0x48019804, | ||
| 6388 | 0x48099807, 0x0401f7df, 0x80000580, 0x1c01f000, | ||
| 6389 | 0x82000540, 0x00000001, 0x1c01f000, 0x480bc857, | ||
| 6390 | 0x4c500000, 0x4c540000, 0x4c580000, 0x40083000, | ||
| 6391 | 0x58cc0801, 0x82040480, 0x00000005, 0x02021800, | ||
| 6392 | 0x001005d8, 0x82040400, 0x00106418, 0x50000000, | ||
| 6393 | 0x58cca800, 0x8054ac00, 0x42001800, 0x00000005, | ||
| 6394 | 0x40040000, 0x800c0480, 0x80082480, 0x04021002, | ||
| 6395 | 0x40080000, 0x8000b0c2, 0x8058b400, 0x5450a800, | ||
| 6396 | 0x8050a000, 0x8054a800, 0x8058b040, 0x040207fc, | ||
| 6397 | 0x40001000, 0x58cc2805, 0x58cc0807, 0x58cc2001, | ||
| 6398 | 0x80142c00, 0x80040c80, 0x80102400, 0x48159805, | ||
| 6399 | 0x48059807, 0x48119801, 0x82100580, 0x00000005, | ||
| 6400 | 0x0400000c, 0x48119801, 0x40080000, 0x80181480, | ||
| 6401 | 0x40083000, 0x04000003, 0x040217d6, 0x80000580, | ||
| 6402 | 0x5c00b000, 0x5c00a800, 0x5c00a000, 0x1c01f000, | ||
| 6403 | 0x58cc0800, 0x800409c0, 0x02000800, 0x001005d8, | ||
| 6404 | 0x58040800, 0x48059800, 0x41782000, 0x0401f7ee, | ||
| 6405 | 0x0401f813, 0x50f00000, 0x81040400, 0x40001800, | ||
| 6406 | 0x585c0204, 0x4803c857, 0x82000580, 0x0000002c, | ||
| 6407 | 0x02020800, 0x001005d8, 0x58040202, 0x800000e0, | ||
| 6408 | 0x81000540, 0x48001802, 0x58040000, 0x48001800, | ||
| 6409 | 0x58040001, 0x48001801, 0x1c01f000, 0x4807c856, | ||
| 6410 | 0x58cc0005, 0x80000040, 0x02001800, 0x001005d8, | ||
| 6411 | 0x48019805, 0x58cc1003, 0x82080480, 0x00000005, | ||
| 6412 | 0x02021800, 0x001005d8, 0x82080400, 0x00106418, | ||
| 6413 | 0x50000000, 0x58cc0802, 0x80040c00, 0x80081000, | ||
| 6414 | 0x82080480, 0x00000005, 0x0402000f, 0x58cc2002, | ||
| 6415 | 0x58100000, 0x80006d40, 0x04000009, 0x4c340000, | ||
| 6416 | 0x0401f858, 0x5c006800, 0x49786801, 0x48359802, | ||
| 6417 | 0x58cc0004, 0x80000040, 0x48019804, 0x49799803, | ||
| 6418 | 0x0401f002, 0x48099803, 0x1c01f000, 0x4807c856, | ||
| 6419 | 0x41781800, 0x58c80201, 0x80000540, 0x04000002, | ||
| 6420 | 0x800c1800, 0x58c80c01, 0x80040c80, 0x0400100a, | ||
| 6421 | 0x04000009, 0x800c1800, 0x58c80202, 0x80041480, | ||
| 6422 | 0x04001005, 0x04000004, 0x800c1800, 0x40080800, | ||
| 6423 | 0x0401f7fb, 0x480d9204, 0x400c0000, 0x42002000, | ||
| 6424 | 0x00000001, 0x80000040, 0x04000007, 0x04001006, | ||
| 6425 | 0x80102000, 0x82000480, 0x00000005, 0x04000002, | ||
| 6426 | 0x040217fc, 0x48119203, 0x1c01f000, 0x4807c856, | ||
| 6427 | 0x4d2c0000, 0x58cc000a, 0x80000540, 0x02000800, | ||
| 6428 | 0x001005d8, 0x82002400, 0x00000005, 0x0201f800, | ||
| 6429 | 0x001007d3, 0x04000012, 0x492d9809, 0x497a5800, | ||
| 6430 | 0x497a5801, 0x0201f800, 0x001007d3, 0x0400000c, | ||
| 6431 | 0x58cc0009, 0x48025800, 0x497a5801, 0x492d9809, | ||
| 6432 | 0x82102480, 0x00000005, 0x040217f7, 0x82000540, | ||
| 6433 | 0x00000001, 0x5c025800, 0x1c01f000, 0x58cc0009, | ||
| 6434 | 0x80025d40, 0x040007fc, 0x592c2000, 0x0201f800, | ||
| 6435 | 0x001007f4, 0x40100000, 0x0401f7fa, 0x58cc0009, | ||
| 6436 | 0x48cfc857, 0x80006d40, 0x04000005, 0x50340000, | ||
| 6437 | 0x48019809, 0x49786800, 0x49786801, 0x1c01f000, | ||
| 6438 | 0x4813c857, 0x58cc0009, 0x48002000, 0x48119809, | ||
| 6439 | 0x1c01f000, 0x4807c856, 0x4d2c0000, 0x58cc0009, | ||
| 6440 | 0x80025d40, 0x04000007, 0x592c0000, 0x4c000000, | ||
| 6441 | 0x0201f800, 0x001007f4, 0x5c000000, 0x0401f7f9, | ||
| 6442 | 0x5c025800, 0x1c01f000, 0x4807c856, 0x4d2c0000, | ||
| 6443 | 0x58cc0002, 0x80025d40, 0x04000007, 0x592c0000, | ||
| 6444 | 0x4c000000, 0x0201f800, 0x001007f4, 0x5c000000, | ||
| 6445 | 0x0401f7f9, 0x49799800, 0x49799802, 0x49799801, | ||
| 6446 | 0x49799803, 0x49799806, 0x49799807, 0x49799808, | ||
| 6447 | 0x49799809, 0x4979980a, 0x5c025800, 0x1c01f000, | ||
| 6448 | 0x00000003, 0x00000006, 0x00000009, 0x0000000c, | ||
| 6449 | 0x0000000f, 0x00000012, 0x4803c856, 0x0401f857, | ||
| 6450 | 0x4a00c204, 0x0000003c, 0x59301009, 0x82080580, | ||
| 6451 | 0x0010b524, 0x04000013, 0x58080802, 0x82040d00, | ||
| 6452 | 0x00ffffff, 0x58080403, 0x4804c005, 0x4800c406, | ||
| 6453 | 0x4a00c207, 0x00000003, 0x59300811, 0x585c0404, | ||
| 6454 | 0x4978c206, 0x4804c407, 0x80000540, 0x0400000d, | ||
| 6455 | 0x58600206, 0x84000540, 0x4800c206, 0x0401f009, | ||
| 6456 | 0x585c080a, 0x82040d00, 0x00ffffff, 0x4804c005, | ||
| 6457 | 0x4a00c406, 0x000007ff, 0x4978c207, 0x0401f7ef, | ||
| 6458 | 0x82603c00, 0x00000008, 0x58605404, 0x40282000, | ||
| 6459 | 0x405c6000, 0x585c0a04, 0x82040d00, 0x0000000f, | ||
| 6460 | 0x82040c00, 0x001010bd, 0x50044000, 0x80004d80, | ||
| 6461 | 0x50200000, 0x80307400, 0x58380402, 0x8c244d00, | ||
| 6462 | 0x04020003, 0x48003a00, 0x0401f003, 0x48003c00, | ||
| 6463 | 0x801c3800, 0x80244800, 0x80102040, 0x04000006, | ||
| 6464 | 0x0201f800, 0x0010109b, 0x02000800, 0x001005d8, | ||
| 6465 | 0x0401f7f0, 0x1c01f000, 0x4803c856, 0x4d340000, | ||
| 6466 | 0x59300009, 0x80026d40, 0x02000800, 0x001005d8, | ||
| 6467 | 0x59340401, 0x80000540, 0x0400000e, 0x59840000, | ||
| 6468 | 0x80000540, 0x0400000b, 0x836c0580, 0x00000003, | ||
| 6469 | 0x04020008, 0x59341c03, 0x42002000, 0x00000004, | ||
| 6470 | 0x42003000, 0x00000004, 0x0201f800, 0x00103aae, | ||
| 6471 | 0x5c026800, 0x1c01f000, 0x4803c856, 0x80001580, | ||
| 6472 | 0x58c80c01, 0x59300011, 0x80040c80, 0x48066011, | ||
| 6473 | 0x58c80201, 0x80000540, 0x04000005, 0x80081000, | ||
| 6474 | 0x80040c80, 0x04001007, 0x04000006, 0x58c80202, | ||
| 6475 | 0x80081000, 0x80040c80, 0x04001002, 0x040207fd, | ||
| 6476 | 0x4808bc08, 0x4808c404, 0x1c01f000, 0x4803c856, | ||
| 6477 | 0x4a0370e5, 0x00020000, 0x59b800e5, 0x8c000524, | ||
| 6478 | 0x040207fc, 0x4a0370e5, 0x00030000, 0x40000000, | ||
| 6479 | 0x40000000, 0x59b800e5, 0x8c000524, 0x040207f5, | ||
| 6480 | 0x5934000e, 0x80006d40, 0x04000010, 0x81300580, | ||
| 6481 | 0x04020004, 0x58340000, 0x4802680e, 0x0401f00a, | ||
| 6482 | 0x40347800, 0x58340000, 0x80006d40, 0x02000800, | ||
| 6483 | 0x001005d8, 0x81300580, 0x040207fa, 0x58340000, | ||
| 6484 | 0x48007800, 0x497a6000, 0x4a0370e5, 0x00020000, | ||
| 6485 | 0x1c01f000, 0x4803c856, 0x4d300000, 0x4d2c0000, | ||
| 6486 | 0x42000800, 0x000003ff, 0x4a0370e5, 0x00020000, | ||
| 6487 | 0x59b800e5, 0x8c000524, 0x04000005, 0x80040840, | ||
| 6488 | 0x040207fa, 0x0201f800, 0x001005d8, 0x4a0370e5, | ||
| 6489 | 0x00030000, 0x40000000, 0x40000000, 0x59b800e5, | ||
| 6490 | 0x8c000524, 0x040207f1, 0x5934000e, 0x80026540, | ||
| 6491 | 0x0400000e, 0x4933c857, 0x59300000, 0x4802680e, | ||
| 6492 | 0x4a026203, 0x00000004, 0x497a6206, 0x497a6009, | ||
| 6493 | 0x4a026007, 0x00000101, 0x59325808, 0x497a5c08, | ||
| 6494 | 0x0401fd81, 0x0401f7f1, 0x4a0370e5, 0x00020000, | ||
| 6495 | 0x5c025800, 0x5c026000, 0x1c01f000, 0x4803c856, | ||
| 6496 | 0x4c000000, 0x0201f800, 0x00105c9a, 0x04020011, | ||
| 6497 | 0x0201f800, 0x001045a6, 0x02020800, 0x001005d8, | ||
| 6498 | 0x5c000000, 0x48026802, 0x0201f800, 0x0002075a, | ||
| 6499 | 0x04000009, 0x49366009, 0x4a026406, 0x00000001, | ||
| 6500 | 0x42027000, 0x00000001, 0x0201f000, 0x000207a1, | ||
| 6501 | 0x5c000000, 0x1c01f000, 0x59300203, 0x82000c80, | ||
| 6502 | 0x0000000e, 0x02021800, 0x001005d8, 0x4803c857, | ||
| 6503 | 0x0c01f001, 0x00106503, 0x00106503, 0x00106503, | ||
| 6504 | 0x00106505, 0x00106565, 0x00106503, 0x00106503, | ||
| 6505 | 0x001065b7, 0x001065b8, 0x00106503, 0x00106503, | ||
| 6506 | 0x00106503, 0x00106503, 0x00106503, 0x0201f800, | ||
| 6507 | 0x001005d8, 0x493bc857, 0x83380480, 0x00000050, | ||
| 6508 | 0x02021800, 0x001005d8, 0x83380480, 0x00000049, | ||
| 6509 | 0x02001800, 0x001005d8, 0x0c01f001, 0x00106518, | ||
| 6510 | 0x0010653a, 0x00106516, 0x00106516, 0x00106516, | ||
| 6511 | 0x00106516, 0x00106549, 0x0201f800, 0x001005d8, | ||
| 6512 | 0x4d2c0000, 0x59325808, 0x592c0206, 0x48025c06, | ||
| 6513 | 0x4a025a06, 0x00000000, 0x4c5c0000, 0x592cbc0a, | ||
| 6514 | 0x592c0000, 0x48026008, 0x0201f800, 0x00104cde, | ||
| 6515 | 0x59300008, 0x80000540, 0x04000008, 0x4a026203, | ||
| 6516 | 0x00000007, 0x42027000, 0x00000043, 0x5c00b800, | ||
| 6517 | 0x5c025800, 0x0401f08a, 0x8c5cbd08, 0x04020006, | ||
| 6518 | 0x4a026203, 0x00000007, 0x497a6206, 0x497a6008, | ||
| 6519 | 0x0401f003, 0x0201f800, 0x0002077d, 0x5c00b800, | ||
| 6520 | 0x5c025800, 0x1c01f000, 0x0201f800, 0x00106b8a, | ||
| 6521 | 0x4d2c0000, 0x59325808, 0x0201f800, 0x00109037, | ||
| 6522 | 0x04000006, 0x4d400000, 0x42028000, 0x00000001, | ||
| 6523 | 0x0401f8f8, 0x5c028000, 0x5c025800, 0x0201f000, | ||
| 6524 | 0x0002077d, 0x0201f800, 0x00106b8a, 0x4d3c0000, | ||
| 6525 | 0x417a7800, 0x0201f800, 0x0010203c, 0x5c027800, | ||
| 6526 | 0x42003000, 0x00000014, 0x0201f800, 0x0010a942, | ||
| 6527 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 6528 | 0x4d2c0000, 0x59325808, 0x0201f800, 0x00109037, | ||
| 6529 | 0x04000006, 0x4d400000, 0x42028000, 0x00000029, | ||
| 6530 | 0x0401f8dc, 0x5c028000, 0x5c025800, 0x0201f000, | ||
| 6531 | 0x0002077d, 0x493bc857, 0x497a6206, 0x83380480, | ||
| 6532 | 0x00000054, 0x02021800, 0x001005d8, 0x83380480, | ||
| 6533 | 0x00000047, 0x02001800, 0x001005d8, 0x0c01f001, | ||
| 6534 | 0x001065b6, 0x0010657f, 0x0010657d, 0x0010657d, | ||
| 6535 | 0x0010657d, 0x0010657d, 0x0010657d, 0x0010657d, | ||
| 6536 | 0x0010657d, 0x0010657d, 0x0010657d, 0x0010657d, | ||
| 6537 | 0x00106583, 0x0201f800, 0x001005d8, 0x59300011, | ||
| 6538 | 0x82000500, 0xffff0000, 0x04020034, 0x59840802, | ||
| 6539 | 0x8c040d04, 0x04000025, 0x59300009, 0x80026d40, | ||
| 6540 | 0x0400001f, 0x4c5c0000, 0x4c600000, 0x497a6206, | ||
| 6541 | 0x5930b808, 0x585c0005, 0x8000c540, 0x02000800, | ||
| 6542 | 0x001005d8, 0x0401fe8d, 0x40625800, 0x0201f800, | ||
| 6543 | 0x00104cde, 0x4978b805, 0x0401fef5, 0x497a6009, | ||
| 6544 | 0x585c3408, 0x0401fcbd, 0x0400000e, 0x42001000, | ||
| 6545 | 0x0010b519, 0x0401fcf2, 0x0400000a, 0x0201f800, | ||
| 6546 | 0x001007e4, 0x04000007, 0x492cb805, 0x585c5408, | ||
| 6547 | 0x0401fc83, 0x5c00c000, 0x5c00b800, 0x1c01f000, | ||
| 6548 | 0x0401fca9, 0x0401f7fc, 0x8c040d06, 0x040207fc, | ||
| 6549 | 0x59300009, 0x80026d40, 0x04000006, 0x5934000e, | ||
| 6550 | 0x80000540, 0x02020800, 0x001005d8, 0x497a6009, | ||
| 6551 | 0x0401fd0d, 0x0401f7f2, 0x0401f06f, 0x4803c856, | ||
| 6552 | 0x4803c856, 0x83380580, 0x00000043, 0x02020800, | ||
| 6553 | 0x001005d8, 0x4a026203, 0x00000003, 0x493a6403, | ||
| 6554 | 0x59325808, 0x592c000f, 0x48026011, 0x497a6013, | ||
| 6555 | 0x592c0406, 0x800000c2, 0x800010c4, 0x80081400, | ||
| 6556 | 0x480a6206, 0x0201f800, 0x00100f4e, 0x42000800, | ||
| 6557 | 0x80000060, 0x0401f154, 0x42000000, 0x0010b875, | ||
| 6558 | 0x0201f800, 0x0010aa47, 0x59300203, 0x82000c80, | ||
| 6559 | 0x0000000e, 0x02021800, 0x001005d8, 0x4803c857, | ||
| 6560 | 0x82000d80, 0x00000003, 0x04000006, 0x82000d80, | ||
| 6561 | 0x00000004, 0x04000045, 0x0201f800, 0x001005d8, | ||
| 6562 | 0x0201f800, 0x00106c55, 0x59300004, 0x8c00053e, | ||
| 6563 | 0x04020007, 0x0201f800, 0x00106b6c, 0x02020800, | ||
| 6564 | 0x001005d8, 0x0201f000, 0x00106c4b, 0x0401f9c3, | ||
| 6565 | 0x0201f800, 0x00106c4b, 0x59325808, 0x42028000, | ||
| 6566 | 0x00000006, 0x0401f84b, 0x0201f000, 0x0002077d, | ||
| 6567 | 0x4803c856, 0x59300203, 0x82000c80, 0x0000000e, | ||
| 6568 | 0x02021800, 0x001005d8, 0x82000d80, 0x00000003, | ||
| 6569 | 0x04000006, 0x82000d80, 0x00000004, 0x04000023, | ||
| 6570 | 0x0201f800, 0x001005d8, 0x4803c856, 0x0201f800, | ||
| 6571 | 0x00106c55, 0x4df00000, 0x59300004, 0x8c00053e, | ||
| 6572 | 0x04020006, 0x0201f800, 0x00106f60, 0x02020800, | ||
| 6573 | 0x001005d8, 0x0401f010, 0x0201f800, 0x00108cd6, | ||
| 6574 | 0x04020004, 0x0201f800, 0x00106e62, 0x0402000a, | ||
| 6575 | 0x0401f99a, 0x02020800, 0x001005d8, 0x5c03e000, | ||
| 6576 | 0x02000800, 0x00106c4b, 0x82000540, 0x00000001, | ||
| 6577 | 0x1c01f000, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 6578 | 0x80000580, 0x1c01f000, 0x4933c857, 0x0201f800, | ||
| 6579 | 0x00100e99, 0x4933c857, 0x4c5c0000, 0x4d340000, | ||
| 6580 | 0x497a6206, 0x5930b808, 0x59300009, 0x80026d40, | ||
| 6581 | 0x04020e5f, 0x42001000, 0x0010b519, 0x0401fc60, | ||
| 6582 | 0x04000009, 0x58c80204, 0x4800bc08, 0x41785000, | ||
| 6583 | 0x0201f800, 0x00106227, 0x5c026800, 0x5c00b800, | ||
| 6584 | 0x1c01f000, 0x4978bc08, 0x0401fc17, 0x0401f7fb, | ||
| 6585 | 0x4803c856, 0x0201f800, 0x00109037, 0x0400000f, | ||
| 6586 | 0x592c0000, 0x80000d40, 0x04000009, 0x497a5800, | ||
| 6587 | 0x49425a06, 0x4c040000, 0x0201f800, 0x000202da, | ||
| 6588 | 0x5c000800, 0x40065800, 0x0401f7f6, 0x49425a06, | ||
| 6589 | 0x0201f800, 0x000202da, 0x1c01f000, 0x4933c857, | ||
| 6590 | 0x59300c06, 0x82040580, 0x0000000e, 0x04000004, | ||
| 6591 | 0x82040580, 0x00000009, 0x04020004, 0x0401ffe5, | ||
| 6592 | 0x497a6008, 0x80000580, 0x1c01f000, 0x592e6009, | ||
| 6593 | 0x83300480, 0x0010d1c0, 0x04001016, 0x41580000, | ||
| 6594 | 0x81300480, 0x04021013, 0x40040000, 0x59300c06, | ||
| 6595 | 0x80040580, 0x04020012, 0x59300a03, 0x82040580, | ||
| 6596 | 0x00000007, 0x02020800, 0x001005d8, 0x59300008, | ||
| 6597 | 0x80000540, 0x02020800, 0x001005d8, 0x0201f800, | ||
| 6598 | 0x0002077d, 0x42000000, 0x00000000, 0x0401f009, | ||
| 6599 | 0x42000000, 0x00000008, 0x0401f006, 0x82040580, | ||
| 6600 | 0x00000007, 0x040207fb, 0x42000000, 0x00000005, | ||
| 6601 | 0x592c0a06, 0x48065c06, 0x48025a06, 0x0201f000, | ||
| 6602 | 0x000202da, 0x4c0c0000, 0x4c100000, 0x4c140000, | ||
| 6603 | 0x4c180000, 0x80001d80, 0x80002580, 0x42003000, | ||
| 6604 | 0x00000020, 0x82040500, 0x00000001, 0x04000003, | ||
| 6605 | 0x40080000, 0x800c1c00, 0x400c2800, 0x800c1902, | ||
| 6606 | 0x80102102, 0x82140500, 0x00000001, 0x04000003, | ||
| 6607 | 0x82102540, 0x80000000, 0x80040902, 0x80183040, | ||
| 6608 | 0x040207f1, 0x40100800, 0x400c0000, 0x5c003000, | ||
| 6609 | 0x5c002800, 0x5c002000, 0x5c001800, 0x1c01f000, | ||
| 6610 | 0x4c580000, 0x4200b000, 0x00000020, 0x80000540, | ||
| 6611 | 0x04000018, 0x80041c80, 0x04021016, 0x800810c2, | ||
| 6612 | 0x80040982, 0x04001006, 0x80041c80, 0x04021005, | ||
| 6613 | 0x8058b040, 0x040207fa, 0x0401f006, 0x80041c80, | ||
| 6614 | 0x400c0800, 0x80081000, 0x8058b040, 0x040207f4, | ||
| 6615 | 0x4c000000, 0x41f00000, 0x82000500, 0xf7ffffff, | ||
| 6616 | 0x4003e000, 0x5c000000, 0x5c00b000, 0x1c01f000, | ||
| 6617 | 0x4c000000, 0x41f00000, 0x82000540, 0x08000000, | ||
| 6618 | 0x0401f7f8, 0x4a0378e8, 0x00000000, 0x4a03c821, | ||
| 6619 | 0x00000010, 0x4a03c823, 0x00000004, 0x0401f82c, | ||
| 6620 | 0x4a0378e9, 0x00003a0d, 0x4a0378e8, 0x00000001, | ||
| 6621 | 0x42000000, 0x00001000, 0x50000000, 0x82000480, | ||
| 6622 | 0x24220001, 0x04000004, 0x59e00002, 0x84000548, | ||
| 6623 | 0x4803c002, 0x42000800, 0x00000005, 0x4203a000, | ||
| 6624 | 0x00007600, 0x42000000, 0x00001000, 0x50000000, | ||
| 6625 | 0x82000480, 0x24320001, 0x04021003, 0x4a03a005, | ||
| 6626 | 0xd0000001, 0x59d00006, 0x4a03a005, 0x90000001, | ||
| 6627 | 0x83d3a400, 0x00000020, 0x80040840, 0x040207fa, | ||
| 6628 | 0x59e00003, 0x82000500, 0xffffffe0, 0x82000540, | ||
| 6629 | 0x00008000, 0x4803c003, 0x59c40006, 0x82000500, | ||
| 6630 | 0xfffcffff, 0x48038806, 0x1c01f000, 0x4d900000, | ||
| 6631 | 0x4d180000, 0x4a0378e7, 0xaaaaaaaa, 0x4a0378e6, | ||
| 6632 | 0xaaaaaaaa, 0x4a0378e5, 0xaaaaaaaa, 0x4a0378e4, | ||
| 6633 | 0xaaaaaaaa, 0x42000800, 0x0000bf00, 0x4a00081a, | ||
| 6634 | 0x0010b7d4, 0x4a00081b, 0x001010bd, 0x4a00081c, | ||
| 6635 | 0x001010cd, 0x4a031800, 0x00000000, 0x4a031801, | ||
| 6636 | 0x0010b544, 0x4a031802, 0x0010b54b, 0x42000800, | ||
| 6637 | 0x0010b7d7, 0x417a3000, 0x811b20c8, 0x83932400, | ||
| 6638 | 0x0000bf32, 0x48072000, 0x4a032001, 0x00000000, | ||
| 6639 | 0x83180400, 0x001070ea, 0x50000000, 0x48032002, | ||
| 6640 | 0x82040c00, 0x00000003, 0x811a3000, 0x83180480, | ||
| 6641 | 0x00000005, 0x040017f1, 0x5c023000, 0x5c032000, | ||
| 6642 | 0x1c01f000, 0x48066004, 0x497a6000, 0x497a6001, | ||
| 6643 | 0x59bc00ea, 0x8c000516, 0x040207fe, 0x83300400, | ||
| 6644 | 0xa0000000, 0x480378e1, 0x1c01f000, 0x4933c857, | ||
| 6645 | 0x42000800, 0x80000040, 0x48066004, 0x497a6000, | ||
| 6646 | 0x59bc00ea, 0x8c000516, 0x040207fe, 0x83300400, | ||
| 6647 | 0x60000000, 0x480378e1, 0x1c01f000, 0x0201f800, | ||
| 6648 | 0x00106c55, 0x4df00000, 0x4d300000, 0x4d340000, | ||
| 6649 | 0x4d2c0000, 0x4d180000, 0x4c5c0000, 0x4c600000, | ||
| 6650 | 0x4d900000, 0x4dd00000, 0x4da40000, 0x4d140000, | ||
| 6651 | 0x42003000, 0x0000bf2e, 0x581a6001, 0x813261c0, | ||
| 6652 | 0x0400002c, 0x41302800, 0x4178c000, 0x59300000, | ||
| 6653 | 0x4c000000, 0x59326809, 0x5930b801, 0x59300406, | ||
| 6654 | 0x82000d80, 0x00000006, 0x04020003, 0x8d3e7d18, | ||
| 6655 | 0x04000010, 0x8d3e7d06, 0x04000007, 0x82000580, | ||
| 6656 | 0x00000003, 0x04020004, 0x59340200, 0x8c00050e, | ||
| 6657 | 0x04020008, 0x0401f92f, 0x4c0c0000, 0x4c140000, | ||
| 6658 | 0x0401fb5f, 0x5c002800, 0x5c001800, 0x0401f005, | ||
| 6659 | 0x41301800, 0x8060c1c0, 0x04020002, 0x400cc000, | ||
| 6660 | 0x805cb9c0, 0x04000003, 0x405e6000, 0x0401f7e3, | ||
| 6661 | 0x5c026000, 0x813261c0, 0x04000006, 0x8060c1c0, | ||
| 6662 | 0x04000002, 0x40602800, 0x4178c000, 0x0401f7d8, | ||
| 6663 | 0x417a3000, 0x0201f800, 0x001070d8, 0x59926004, | ||
| 6664 | 0x813261c0, 0x04000023, 0x59326809, 0x4130c000, | ||
| 6665 | 0x59300001, 0x8000bd40, 0x04000016, 0x40026000, | ||
| 6666 | 0x40602800, 0x5930b801, 0x59300406, 0x82000d80, | ||
| 6667 | 0x00000006, 0x0400000e, 0x8d3e7d06, 0x04000007, | ||
| 6668 | 0x82000580, 0x00000003, 0x04020004, 0x59340200, | ||
| 6669 | 0x8c00050e, 0x04020006, 0x0401f8dc, 0x4c140000, | ||
| 6670 | 0x0401fb2f, 0x5c002800, 0x0401f002, 0x41302800, | ||
| 6671 | 0x405e6000, 0x813261c0, 0x040207eb, 0x8060c1c0, | ||
| 6672 | 0x04000004, 0x40626000, 0x4178c000, 0x0401f7e7, | ||
| 6673 | 0x811a3000, 0x83180480, 0x00000005, 0x040017d6, | ||
| 6674 | 0x5c022800, 0x5c034800, 0x5c03a000, 0x5c032000, | ||
| 6675 | 0x5c00c000, 0x5c00b800, 0x5c023000, 0x5c025800, | ||
| 6676 | 0x5c026800, 0x5c026000, 0x5c03e000, 0x02000800, | ||
| 6677 | 0x00106c4b, 0x1c01f000, 0x4933c857, 0x0201f800, | ||
| 6678 | 0x00106c55, 0x4df00000, 0x4d340000, 0x4d180000, | ||
| 6679 | 0x4d900000, 0x42003000, 0x0000bf2e, 0x59326809, | ||
| 6680 | 0x58182001, 0x40102800, 0x801021c0, 0x04000016, | ||
| 6681 | 0x41300000, 0x80100580, 0x04000011, 0x58100009, | ||
| 6682 | 0x81340580, 0x0402000b, 0x40101800, 0x58102001, | ||
| 6683 | 0x41300000, 0x801021c0, 0x0400000b, 0x80100d80, | ||
| 6684 | 0x04000007, 0x40101800, 0x58102001, 0x0401f7fa, | ||
| 6685 | 0x40102800, 0x58102000, 0x0401f7ec, 0x0401f8bd, | ||
| 6686 | 0x0401f01a, 0x42032000, 0x0000bf32, 0x417a3000, | ||
| 6687 | 0x59902004, 0x40102800, 0x801021c0, 0x0400000b, | ||
| 6688 | 0x58100009, 0x81340580, 0x04020008, 0x41300000, | ||
| 6689 | 0x80100580, 0x0400000c, 0x40102800, 0x58102001, | ||
| 6690 | 0x801021c0, 0x040207fa, 0x811a3000, 0x83180480, | ||
| 6691 | 0x00000005, 0x0402100d, 0x83932400, 0x00000010, | ||
| 6692 | 0x0401f7ec, 0x0401f881, 0x5c032000, 0x5c023000, | ||
| 6693 | 0x5c026800, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 6694 | 0x80000580, 0x1c01f000, 0x0401fb6f, 0x040007f7, | ||
| 6695 | 0x5c032000, 0x5c023000, 0x5c026800, 0x5c03e000, | ||
| 6696 | 0x02000800, 0x00106c4b, 0x82000540, 0x00000001, | ||
| 6697 | 0x1c01f000, 0x0201f800, 0x00106c55, 0x4df00000, | ||
| 6698 | 0x4d300000, 0x4d340000, 0x4d180000, 0x4d2c0000, | ||
| 6699 | 0x4c5c0000, 0x4c600000, 0x4d900000, 0x4dd00000, | ||
| 6700 | 0x4da40000, 0x4d140000, 0x42003000, 0x0000bf2e, | ||
| 6701 | 0x581a6001, 0x813261c0, 0x04000023, 0x41302800, | ||
| 6702 | 0x5930b800, 0x59326809, 0x59340403, 0x81440580, | ||
| 6703 | 0x04000006, 0x805cb9c0, 0x0400001b, 0x41302800, | ||
| 6704 | 0x405e6000, 0x0401f7f7, 0x5930b801, 0x8d3e7d00, | ||
| 6705 | 0x04000003, 0x0401fb67, 0x0402000e, 0x59300406, | ||
| 6706 | 0x82000580, 0x00000006, 0x04020003, 0x8d3e7d18, | ||
| 6707 | 0x04000008, 0x0401f867, 0x4c0c0000, 0x4c140000, | ||
| 6708 | 0x0401fa97, 0x5c002800, 0x5c001800, 0x0401f002, | ||
| 6709 | 0x41301800, 0x405e6000, 0x813261c0, 0x040207eb, | ||
| 6710 | 0x0401f02d, 0x417a3000, 0x0201f800, 0x001070d8, | ||
| 6711 | 0x59926004, 0x813261c0, 0x04000005, 0x59326809, | ||
| 6712 | 0x59340403, 0x81440580, 0x04000006, 0x811a3000, | ||
| 6713 | 0x83180480, 0x00000005, 0x040017f4, 0x0401f01e, | ||
| 6714 | 0x4130c000, 0x59300001, 0x8000bd40, 0x04000012, | ||
| 6715 | 0x40026000, 0x40602800, 0x5930b801, 0x8d3e7d00, | ||
| 6716 | 0x04000003, 0x0401fb3b, 0x0402000a, 0x59300406, | ||
| 6717 | 0x82000580, 0x00000006, 0x04000006, 0x0401f81b, | ||
| 6718 | 0x4c140000, 0x0401fa6e, 0x5c002800, 0x0401f002, | ||
| 6719 | 0x41302800, 0x405e6000, 0x813261c0, 0x040207ef, | ||
| 6720 | 0x8060c1c0, 0x04000004, 0x40626000, 0x4178c000, | ||
| 6721 | 0x0401f7eb, 0x5c022800, 0x5c034800, 0x5c03a000, | ||
| 6722 | 0x5c032000, 0x5c00c000, 0x5c00b800, 0x5c025800, | ||
| 6723 | 0x5c023000, 0x5c026800, 0x5c026000, 0x5c03e000, | ||
| 6724 | 0x04000be3, 0x1c01f000, 0x0401fbc8, 0x59900004, | ||
| 6725 | 0x81300580, 0x04020018, 0x4c140000, 0x0201f800, | ||
| 6726 | 0x00106dc3, 0x0401fbb8, 0x5c002800, 0x59300001, | ||
| 6727 | 0x800001c0, 0x04020003, 0x497a680c, 0x1c01f000, | ||
| 6728 | 0x42003000, 0x0000bf2e, 0x497a6001, 0x58180801, | ||
| 6729 | 0x800409c0, 0x04020004, 0x48003000, 0x48003001, | ||
| 6730 | 0x1c01f000, 0x58180800, 0x48000800, 0x48003000, | ||
| 6731 | 0x1c01f000, 0x59300001, 0x48002801, 0x800001c0, | ||
| 6732 | 0x04020002, 0x4816680c, 0x497a6001, 0x1c01f000, | ||
| 6733 | 0x0401fba6, 0x42003000, 0x0000bf2e, 0x58180001, | ||
| 6734 | 0x81300580, 0x0402001c, 0x59300801, 0x800409c0, | ||
| 6735 | 0x0400000e, 0x59300000, 0x800001c0, 0x04020005, | ||
| 6736 | 0x48043001, 0x48043000, 0x497a6001, 0x1c01f000, | ||
| 6737 | 0x59300000, 0x48000800, 0x48043001, 0x497a6000, | ||
| 6738 | 0x497a6001, 0x1c01f000, 0x59300800, 0x800409c0, | ||
| 6739 | 0x04020005, 0x49783001, 0x49783000, 0x497a680c, | ||
| 6740 | 0x1c01f000, 0x48043001, 0x497a6000, 0x497a680c, | ||
| 6741 | 0x1c01f000, 0x58180000, 0x81300580, 0x0402000c, | ||
| 6742 | 0x59300001, 0x800001c0, 0x04020005, 0x48143000, | ||
| 6743 | 0x49782800, 0x497a680c, 0x1c01f000, 0x48003000, | ||
| 6744 | 0x48002800, 0x497a6001, 0x1c01f000, 0x59300000, | ||
| 6745 | 0x800001c0, 0x04020008, 0x59300001, 0x48001801, | ||
| 6746 | 0x800001c0, 0x04020002, 0x480e680c, 0x497a6001, | ||
| 6747 | 0x1c01f000, 0x59300801, 0x800409c0, 0x04020006, | ||
| 6748 | 0x59300800, 0x48042800, 0x497a6000, 0x497a680c, | ||
| 6749 | 0x1c01f000, 0x59300000, 0x48000800, 0x48042800, | ||
| 6750 | 0x497a6000, 0x497a6001, 0x1c01f000, 0x0401fb82, | ||
| 6751 | 0x4df00000, 0x0401f839, 0x040208c4, 0x04020945, | ||
| 6752 | 0x04020a89, 0x04020005, 0x5c03e000, 0x04000b70, | ||
| 6753 | 0x80000580, 0x1c01f000, 0x5c03e000, 0x04000b6c, | ||
| 6754 | 0x82000540, 0x00000001, 0x1c01f000, 0x4d2c0000, | ||
| 6755 | 0x4d340000, 0x4d300000, 0x41783000, 0x598e6009, | ||
| 6756 | 0x813261c0, 0x04000021, 0x59300406, 0x82000580, | ||
| 6757 | 0x00000006, 0x04020004, 0x8d3e7d18, 0x0402000a, | ||
| 6758 | 0x0401f017, 0x82040580, 0x00000005, 0x04020006, | ||
| 6759 | 0x8d3e7d16, 0x04000004, 0x59300420, 0x8c000500, | ||
| 6760 | 0x0402000f, 0x0401fa4e, 0x59300000, 0x4c000000, | ||
| 6761 | 0x8d3e7d06, 0x04000004, 0x0201f800, 0x001092d7, | ||
| 6762 | 0x04000005, 0x0401f867, 0x4c180000, 0x0401f9bc, | ||
| 6763 | 0x5c003000, 0x5c026000, 0x0401f7e2, 0x41303000, | ||
| 6764 | 0x59326000, 0x0401f7df, 0x5c026000, 0x5c026800, | ||
| 6765 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x4c5c0000, | ||
| 6766 | 0x813261c0, 0x02000800, 0x001005d8, 0x41300000, | ||
| 6767 | 0x598cb809, 0x41783000, 0x805cb9c0, 0x04000013, | ||
| 6768 | 0x805c0d80, 0x04000004, 0x405c3000, 0x5818b800, | ||
| 6769 | 0x0401f7fa, 0x0401f84b, 0x598c000d, 0x81300580, | ||
| 6770 | 0x02000800, 0x001070b9, 0x59300403, 0x82000580, | ||
| 6771 | 0x00000042, 0x04020002, 0x497a6007, 0x80000580, | ||
| 6772 | 0x5c00b800, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 6773 | 0x5c00b800, 0x1c01f000, 0x0401fb27, 0x4df00000, | ||
| 6774 | 0x4d2c0000, 0x4d340000, 0x4d300000, 0x41783000, | ||
| 6775 | 0x598e6009, 0x813261c0, 0x0400002c, 0x59300c06, | ||
| 6776 | 0x82040580, 0x00000006, 0x04020004, 0x8d3e7d18, | ||
| 6777 | 0x0402000a, 0x0401f022, 0x82040580, 0x00000005, | ||
| 6778 | 0x04020006, 0x8d3e7d18, 0x04000004, 0x59300420, | ||
| 6779 | 0x8c000500, 0x0402001a, 0x59326809, 0x59340403, | ||
| 6780 | 0x81440580, 0x04020016, 0x8d3e7d00, 0x04000006, | ||
| 6781 | 0x82040580, 0x00000003, 0x04020011, 0x0401fa35, | ||
| 6782 | 0x0402000f, 0x0401f9f6, 0x59300000, 0x4c000000, | ||
| 6783 | 0x8d3e7d06, 0x04000004, 0x0201f800, 0x001092d7, | ||
| 6784 | 0x04000005, 0x0401f80f, 0x4c180000, 0x0401f964, | ||
| 6785 | 0x5c003000, 0x5c026000, 0x0401f7d7, 0x41303000, | ||
| 6786 | 0x59326000, 0x0401f7d4, 0x5c026000, 0x5c026800, | ||
| 6787 | 0x5c025800, 0x5c03e000, 0x04000ae5, 0x1c01f000, | ||
| 6788 | 0x59300800, 0x497a6000, 0x0401fac8, 0x801831c0, | ||
| 6789 | 0x04020009, 0x598c0008, 0x81300580, 0x04020004, | ||
| 6790 | 0x48031808, 0x48031809, 0x0401f008, 0x48071809, | ||
| 6791 | 0x0401f006, 0x48043000, 0x598c0008, 0x81300580, | ||
| 6792 | 0x04020002, 0x481b1808, 0x0401f2ca, 0x4d2c0000, | ||
| 6793 | 0x4d300000, 0x4d340000, 0x41783000, 0x598e600b, | ||
| 6794 | 0x813261c0, 0x04000013, 0x8d3e7d06, 0x04000005, | ||
| 6795 | 0x59326809, 0x59340200, 0x8c00050e, 0x0402000a, | ||
| 6796 | 0x0401f9bf, 0x59300000, 0x4c000000, 0x0401f853, | ||
| 6797 | 0x4c180000, 0x0401f932, 0x5c003000, 0x5c026000, | ||
| 6798 | 0x0401f7f0, 0x41303000, 0x59326000, 0x0401f7ed, | ||
| 6799 | 0x0201f800, 0x00104773, 0x5c026800, 0x5c026000, | ||
| 6800 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x4c5c0000, | ||
| 6801 | 0x813261c0, 0x02000800, 0x001005d8, 0x41300000, | ||
| 6802 | 0x598cb80b, 0x41783000, 0x805cb9c0, 0x0400000f, | ||
| 6803 | 0x805c0d80, 0x04000004, 0x405c3000, 0x5818b800, | ||
| 6804 | 0x0401f7fa, 0x0401f835, 0x598c000d, 0x81300580, | ||
| 6805 | 0x02000800, 0x001070b9, 0x497a6007, 0x80000580, | ||
| 6806 | 0x5c00b800, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 6807 | 0x5c00b800, 0x1c01f000, 0x0401fa9f, 0x4df00000, | ||
| 6808 | 0x4d340000, 0x4d300000, 0x4d2c0000, 0x0201f800, | ||
| 6809 | 0x00020245, 0x02020800, 0x001005d8, 0x41783000, | ||
| 6810 | 0x598e600b, 0x813261c0, 0x04000014, 0x59300009, | ||
| 6811 | 0x81340580, 0x0402000e, 0x8d3e7d00, 0x04000003, | ||
| 6812 | 0x0401f9bc, 0x0402000a, 0x0401f97d, 0x59300000, | ||
| 6813 | 0x4c000000, 0x0401f811, 0x4c180000, 0x0401f8f0, | ||
| 6814 | 0x5c003000, 0x5c026000, 0x0401f7ef, 0x41303000, | ||
| 6815 | 0x59326000, 0x0401f7ec, 0x0201f800, 0x0010479c, | ||
| 6816 | 0x5c025800, 0x5c026000, 0x5c026800, 0x5c03e000, | ||
| 6817 | 0x04000a6f, 0x1c01f000, 0x59300800, 0x497a6000, | ||
| 6818 | 0x0401fa52, 0x801831c0, 0x04020009, 0x598c000a, | ||
| 6819 | 0x81300580, 0x04020004, 0x4803180a, 0x4803180b, | ||
| 6820 | 0x0401f008, 0x4807180b, 0x0401f006, 0x48043000, | ||
| 6821 | 0x598c000a, 0x81300580, 0x04020002, 0x481b180a, | ||
| 6822 | 0x0401f254, 0x0401fa64, 0x4df00000, 0x4d300000, | ||
| 6823 | 0x598e6005, 0x813261c0, 0x04000020, 0x59300000, | ||
| 6824 | 0x4c000000, 0x59300c06, 0x82040580, 0x00000011, | ||
| 6825 | 0x04020007, 0x833c0500, 0x00001800, 0x04000015, | ||
| 6826 | 0x8d3e7d16, 0x04020013, 0x0401f009, 0x82040580, | ||
| 6827 | 0x00000004, 0x04020006, 0x8d3e7d16, 0x04000004, | ||
| 6828 | 0x59300420, 0x8c000500, 0x0402000a, 0x0201f800, | ||
| 6829 | 0x0010914e, 0x02000800, 0x0010801c, 0x0201f800, | ||
| 6830 | 0x00109326, 0x0201f800, 0x0002077d, 0x0401fa31, | ||
| 6831 | 0x5c026000, 0x0401f7e0, 0x497b1805, 0x497b1804, | ||
| 6832 | 0x5c026000, 0x5c03e000, 0x04000a31, 0x1c01f000, | ||
| 6833 | 0x4933c857, 0x4c5c0000, 0x4c600000, 0x813261c0, | ||
| 6834 | 0x02000800, 0x001005d8, 0x41300000, 0x598cb805, | ||
| 6835 | 0x405cc000, 0x805cb9c0, 0x04000025, 0x805c0d80, | ||
| 6836 | 0x04000004, 0x405cc000, 0x5860b800, 0x0401f7fa, | ||
| 6837 | 0x598c000d, 0x81300580, 0x02000800, 0x001070b9, | ||
| 6838 | 0x0401fa02, 0x598c0005, 0x805c0580, 0x04020009, | ||
| 6839 | 0x585c0000, 0x48031805, 0x4978b800, 0x598c0004, | ||
| 6840 | 0x805c0580, 0x0402000d, 0x497b1804, 0x0401f00b, | ||
| 6841 | 0x598c0004, 0x805c0580, 0x04020005, 0x48631804, | ||
| 6842 | 0x4978b800, 0x4978c000, 0x0401f004, 0x585c0000, | ||
| 6843 | 0x4800c000, 0x4978b800, 0x0401f9fe, 0x80000580, | ||
| 6844 | 0x5c00c000, 0x5c00b800, 0x1c01f000, 0x82000540, | ||
| 6845 | 0x00000001, 0x5c00c000, 0x5c00b800, 0x1c01f000, | ||
| 6846 | 0x4933c857, 0x0401fa04, 0x4df00000, 0x4d2c0000, | ||
| 6847 | 0x4d340000, 0x4d300000, 0x4c5c0000, 0x4178b800, | ||
| 6848 | 0x8d3e7d18, 0x0400000d, 0x8d3e7d16, 0x0402000b, | ||
| 6849 | 0x0201f800, 0x00109037, 0x04000008, 0x0201f800, | ||
| 6850 | 0x00109597, 0x04020005, 0x592c0207, 0x492fc857, | ||
| 6851 | 0x8200bd00, 0x0000000f, 0x41783000, 0x598e6005, | ||
| 6852 | 0x813261c0, 0x04000029, 0x59326809, 0x813669c0, | ||
| 6853 | 0x04000023, 0x59340403, 0x81440580, 0x04020020, | ||
| 6854 | 0x59300c06, 0x82040580, 0x00000011, 0x0400001a, | ||
| 6855 | 0x82040580, 0x00000004, 0x04020004, 0x59300420, | ||
| 6856 | 0x8c000500, 0x04020016, 0x0201f800, 0x00109037, | ||
| 6857 | 0x04000008, 0x0201f800, 0x00109597, 0x04020005, | ||
| 6858 | 0x59300403, 0x82000580, 0x00000043, 0x0400000c, | ||
| 6859 | 0x0401f8c3, 0x59300000, 0x4c000000, 0x0401f812, | ||
| 6860 | 0x4c180000, 0x0401f836, 0x5c003000, 0x5c026000, | ||
| 6861 | 0x0401f7dc, 0x805cb9c0, 0x040207ec, 0x41303000, | ||
| 6862 | 0x59326000, 0x0401f7d7, 0x5c00b800, 0x5c026000, | ||
| 6863 | 0x5c026800, 0x5c025800, 0x5c03e000, 0x040009b4, | ||
| 6864 | 0x1c01f000, 0x59300800, 0x497a6000, 0x0401f997, | ||
| 6865 | 0x801831c0, 0x04020009, 0x598c0004, 0x81300580, | ||
| 6866 | 0x04020004, 0x48031804, 0x48031805, 0x0401f008, | ||
| 6867 | 0x48071805, 0x0401f006, 0x48043000, 0x598c0004, | ||
| 6868 | 0x81300580, 0x04020002, 0x481b1804, 0x0401f199, | ||
| 6869 | 0x4943c857, 0x0401f9a8, 0x4df00000, 0x0401fe34, | ||
| 6870 | 0x0401fecb, 0x5c03e000, 0x04000999, 0x1c01f000, | ||
| 6871 | 0x4947c857, 0x0401f9a0, 0x4df00000, 0x4d3c0000, | ||
| 6872 | 0x853e7d00, 0x0401fe75, 0x0401fefc, 0x5c027800, | ||
| 6873 | 0x5c03e000, 0x0400098e, 0x1c01f000, 0x5c000000, | ||
| 6874 | 0x4c000000, 0x4803c857, 0x4d340000, 0x4d2c0000, | ||
| 6875 | 0x59326809, 0x59325808, 0x59300406, 0x82000c80, | ||
| 6876 | 0x00000012, 0x02021800, 0x001005d8, 0x4933c857, | ||
| 6877 | 0x4943c857, 0x493fc857, 0x4803c857, 0x0c01f804, | ||
| 6878 | 0x5c025800, 0x5c026800, 0x1c01f000, 0x00106ae5, | ||
| 6879 | 0x00106ae7, 0x00106af1, 0x00106b0b, 0x00106ae7, | ||
| 6880 | 0x00106afb, 0x00106b23, 0x00106ae5, 0x00106ae5, | ||
| 6881 | 0x00106b36, 0x00106b2d, 0x00106ae5, 0x00106ae5, | ||
| 6882 | 0x00106ae5, 0x00106ae5, 0x00106ae5, 0x00106b3c, | ||
| 6883 | 0x00106b3c, 0x0201f800, 0x001005d8, 0x0201f800, | ||
| 6884 | 0x00109134, 0x02000800, 0x00102074, 0x0201f800, | ||
| 6885 | 0x00109326, 0x0201f800, 0x0010801c, 0x0201f000, | ||
| 6886 | 0x00107911, 0x812e59c0, 0x02020800, 0x001005d8, | ||
| 6887 | 0x5930021d, 0x82000580, 0x00000003, 0x02000800, | ||
| 6888 | 0x0010912a, 0x0201f000, 0x00107911, 0x0201f800, | ||
| 6889 | 0x00109037, 0x02000000, 0x00107911, 0x592c1204, | ||
| 6890 | 0x82081500, 0x000000ff, 0x82080580, 0x00000055, | ||
| 6891 | 0x02020800, 0x001005d8, 0x49425a06, 0x0201f800, | ||
| 6892 | 0x000202da, 0x0201f000, 0x00107911, 0x59300004, | ||
| 6893 | 0x8400055c, 0x48026004, 0x59300007, 0x8c000500, | ||
| 6894 | 0x02020800, 0x00100e99, 0x0201f800, 0x00109037, | ||
| 6895 | 0x0400000d, 0x4a025a04, 0x00000103, 0x49425a06, | ||
| 6896 | 0x497a5c09, 0x0201f800, 0x001091c6, 0x0201f800, | ||
| 6897 | 0x0010a693, 0x0201f800, 0x000202da, 0x0201f800, | ||
| 6898 | 0x0010912a, 0x0201f000, 0x00107911, 0x59300007, | ||
| 6899 | 0x8c000500, 0x02020800, 0x00100e99, 0x0201f800, | ||
| 6900 | 0x00109037, 0x02020800, 0x0010a3ef, 0x0201f000, | ||
| 6901 | 0x00107911, 0x0201f800, 0x00109037, 0x04000005, | ||
| 6902 | 0x49425a06, 0x497a5c09, 0x0201f800, 0x000202da, | ||
| 6903 | 0x0201f000, 0x00107911, 0x0201f800, 0x00109037, | ||
| 6904 | 0x02020800, 0x0010664f, 0x0201f000, 0x00107911, | ||
| 6905 | 0x0201f800, 0x00109037, 0x04000004, 0x49425a06, | ||
| 6906 | 0x0201f800, 0x000202da, 0x59325817, 0x0201f800, | ||
| 6907 | 0x001007fd, 0x0201f000, 0x00107911, 0x598c000d, | ||
| 6908 | 0x81300580, 0x04000003, 0x497a6007, 0x1c01f000, | ||
| 6909 | 0x59c40004, 0x82000500, 0x0000000c, 0x04000005, | ||
| 6910 | 0x4a038804, 0x0000000c, 0x497b2807, 0x0401f00a, | ||
| 6911 | 0x0401facd, 0x59300403, 0x82000d80, 0x00000040, | ||
| 6912 | 0x04000004, 0x82000580, 0x00000042, 0x04020002, | ||
| 6913 | 0x497a6007, 0x0201f800, 0x001070b9, 0x80000580, | ||
| 6914 | 0x1c01f000, 0x59300804, 0x8c040d3e, 0x04020004, | ||
| 6915 | 0x82000540, 0x00000001, 0x0401f005, 0x4933c857, | ||
| 6916 | 0x84040d3e, 0x48066004, 0x80000580, 0x1c01f000, | ||
| 6917 | 0x59300804, 0x8c040d20, 0x04020004, 0x82000540, | ||
| 6918 | 0x00000001, 0x1c01f000, 0x4933c857, 0x4d380000, | ||
| 6919 | 0x59300804, 0x84040d20, 0x48066004, 0x42027000, | ||
| 6920 | 0x00000049, 0x59300203, 0x82000580, 0x00000003, | ||
| 6921 | 0x04000003, 0x42027000, 0x00000013, 0x0201f800, | ||
| 6922 | 0x000207a1, 0x80000580, 0x5c027000, 0x1c01f000, | ||
| 6923 | 0x59300017, 0x81480580, 0x04020003, 0x59300018, | ||
| 6924 | 0x814c0580, 0x1c01f000, 0x4d2c0000, 0x4d300000, | ||
| 6925 | 0x0401f8c9, 0x4df00000, 0x0201f800, 0x00106062, | ||
| 6926 | 0x59900001, 0x82000500, 0x00000003, 0x0c01f001, | ||
| 6927 | 0x00106bba, 0x00106b9a, 0x00106b98, 0x00106b98, | ||
| 6928 | 0x0201f800, 0x001005d8, 0x59926004, 0x0401f88e, | ||
| 6929 | 0x813261c0, 0x0400001d, 0x59300004, 0x8c000516, | ||
| 6930 | 0x04000004, 0x59325808, 0x497a5808, 0x497a5809, | ||
| 6931 | 0x0401f88e, 0x59300001, 0x800001c0, 0x0400000e, | ||
| 6932 | 0x497a6001, 0x42003000, 0x0000bf2e, 0x58180801, | ||
| 6933 | 0x800409c0, 0x04020004, 0x48003001, 0x48003000, | ||
| 6934 | 0x0401f00a, 0x58180800, 0x48000800, 0x48003000, | ||
| 6935 | 0x0401f006, 0x59300809, 0x800409c0, 0x02000800, | ||
| 6936 | 0x001005d8, 0x4978080c, 0x5c03e000, 0x04000890, | ||
| 6937 | 0x5c026000, 0x5c025800, 0x1c01f000, 0x4d300000, | ||
| 6938 | 0x497b2807, 0x0401f894, 0x4df00000, 0x598c0000, | ||
| 6939 | 0x82000500, 0x00000007, 0x4803c857, 0x0c01f001, | ||
| 6940 | 0x00106bef, 0x00106bd2, 0x00106bdb, 0x00106bdf, | ||
| 6941 | 0x00106bea, 0x00106bef, 0x00106bd0, 0x00106bd0, | ||
| 6942 | 0x0201f800, 0x001005d8, 0x598c000d, 0x80026540, | ||
| 6943 | 0x04000004, 0x0401f81e, 0x02020800, 0x001005d8, | ||
| 6944 | 0x0201f800, 0x001070b9, 0x0401f015, 0x0401f827, | ||
| 6945 | 0x0201f800, 0x001070b9, 0x0401f011, 0x598c000d, | ||
| 6946 | 0x80026540, 0x0400000e, 0x0401f838, 0x04000004, | ||
| 6947 | 0x0401f80f, 0x04000002, 0x0401f81c, 0x0201f800, | ||
| 6948 | 0x001070b9, 0x0401f006, 0x0401f830, 0x02020800, | ||
| 6949 | 0x001005d8, 0x0201f800, 0x001070b9, 0x5c03e000, | ||
| 6950 | 0x0400085b, 0x5c026000, 0x1c01f000, 0x598c0009, | ||
| 6951 | 0x81300580, 0x0402000c, 0x0401f84e, 0x0401f83b, | ||
| 6952 | 0x59300000, 0x800001c0, 0x04000004, 0x48031809, | ||
| 6953 | 0x497a6000, 0x0401f003, 0x497b1809, 0x497b1808, | ||
| 6954 | 0x80000580, 0x1c01f000, 0x4d2c0000, 0x59300406, | ||
| 6955 | 0x82000580, 0x00000003, 0x04020012, 0x598c000b, | ||
| 6956 | 0x81300580, 0x0402000f, 0x0401f83a, 0x59325808, | ||
| 6957 | 0x497a5808, 0x497a5809, 0x0401f824, 0x59300000, | ||
| 6958 | 0x800001c0, 0x04000004, 0x4803180b, 0x497a6000, | ||
| 6959 | 0x0401f003, 0x497b180a, 0x497b180b, 0x80000580, | ||
| 6960 | 0x5c025800, 0x1c01f000, 0x598c0005, 0x81300580, | ||
| 6961 | 0x0402000c, 0x0401f827, 0x0401f814, 0x59300000, | ||
| 6962 | 0x800001c0, 0x04000004, 0x48031805, 0x497a6000, | ||
| 6963 | 0x0401f003, 0x497b1805, 0x497b1804, 0x80000580, | ||
| 6964 | 0x1c01f000, 0x4a032001, 0x00000000, 0x497b2004, | ||
| 6965 | 0x497b2005, 0x59900006, 0x82000500, 0x0000ffff, | ||
| 6966 | 0x48032006, 0x1c01f000, 0x4c040000, 0x59300004, | ||
| 6967 | 0x82000500, 0x7ffeffff, 0x48026004, 0x59bc00e4, | ||
| 6968 | 0x8c000514, 0x04000009, 0x42000800, 0x0000bf00, | ||
| 6969 | 0x58040012, 0x81300580, 0x04020004, 0x49780812, | ||
| 6970 | 0x4a0378e4, 0x00000800, 0x5c000800, 0x1c01f000, | ||
| 6971 | 0x4803c856, 0x598c000c, 0x80000540, 0x04000003, | ||
| 6972 | 0x80000040, 0x4803180c, 0x1c01f000, 0x59bc00ea, | ||
| 6973 | 0x82000500, 0x00000007, 0x82000580, 0x00000003, | ||
| 6974 | 0x04020004, 0x4803c856, 0x4a0378e8, 0x00000001, | ||
| 6975 | 0x1c01f000, 0x59bc00ea, 0x82000500, 0x00000007, | ||
| 6976 | 0x82000580, 0x00000001, 0x04020011, 0x4803c856, | ||
| 6977 | 0x42000800, 0x00000000, 0x0401f80e, 0x42000800, | ||
| 6978 | 0x00001000, 0x59bc00ea, 0x82000500, 0x00000007, | ||
| 6979 | 0x82000580, 0x00000003, 0x04000005, 0x80040840, | ||
| 6980 | 0x040207f9, 0x0201f800, 0x001005d8, 0x1c01f000, | ||
| 6981 | 0x59bc00ea, 0x82000500, 0x00000007, 0x82000580, | ||
| 6982 | 0x00000001, 0x02020800, 0x001005d8, 0x59bc00ea, | ||
| 6983 | 0x8c000516, 0x040207fe, 0x480778e1, 0x1c01f000, | ||
| 6984 | 0x59bc00ea, 0x8c000516, 0x040207fe, 0x480778e1, | ||
| 6985 | 0x59bc00ea, 0x8c000516, 0x040207fe, 0x480b78e1, | ||
| 6986 | 0x1c01f000, 0x82000d00, 0x80000018, 0x02020800, | ||
| 6987 | 0x001005d0, 0x0201f800, 0x001005d8, 0x00106c97, | ||
| 6988 | 0x00106d3b, 0x00106d55, 0x00106c97, 0x00106c99, | ||
| 6989 | 0x00106cba, 0x00106cd9, 0x00106d0d, 0x00106c97, | ||
| 6990 | 0x00106d39, 0x00106c97, 0x00106c97, 0x00106c97, | ||
| 6991 | 0x00106c97, 0x00106c97, 0x00106c97, 0x0201f800, | ||
| 6992 | 0x001005d8, 0x4d300000, 0x4d900000, 0x4dd00000, | ||
| 6993 | 0x4da40000, 0x4d140000, 0x0201f800, 0x001070d8, | ||
| 6994 | 0x59bc00ea, 0x8c000510, 0x040007fe, 0x59be60e0, | ||
| 6995 | 0x59300004, 0x8c000520, 0x04000011, 0x82000500, | ||
| 6996 | 0xfffefeff, 0x48026004, 0x4a026203, 0x00000003, | ||
| 6997 | 0x0401ffa9, 0x0201f800, 0x00100fd0, 0x5c022800, | ||
| 6998 | 0x5c034800, 0x5c03a000, 0x5c032000, 0x5c026000, | ||
| 6999 | 0x4a0378e4, 0x00000008, 0x0401f795, 0x84000510, | ||
| 7000 | 0x48026004, 0x0401f7f6, 0x4d300000, 0x4d900000, | ||
| 7001 | 0x4dd00000, 0x4da40000, 0x4d140000, 0x0201f800, | ||
| 7002 | 0x001070d8, 0x59bc00ea, 0x8c000510, 0x040007fe, | ||
| 7003 | 0x59be60e0, 0x59300004, 0x8c000520, 0x0400000f, | ||
| 7004 | 0x82000500, 0xfffefeff, 0x48026004, 0x0401ff8a, | ||
| 7005 | 0x0201f800, 0x0010100e, 0x5c022800, 0x5c034800, | ||
| 7006 | 0x5c03a000, 0x5c032000, 0x5c026000, 0x4a0378e4, | ||
| 7007 | 0x00000008, 0x0401f776, 0x84000510, 0x48026004, | ||
| 7008 | 0x0401f7f6, 0x4d300000, 0x4d2c0000, 0x4d340000, | ||
| 7009 | 0x4da40000, 0x4cd00000, 0x59bc00ea, 0x8c000510, | ||
| 7010 | 0x040007fe, 0x59be60e0, 0x813261c0, 0x02000800, | ||
| 7011 | 0x001005d8, 0x59300004, 0x8c000520, 0x0400001d, | ||
| 7012 | 0x82000500, 0xfffefeff, 0x48026004, 0x59326809, | ||
| 7013 | 0x42034800, 0x0010b544, 0x04011000, 0x4a03c840, | ||
| 7014 | 0x0010b54b, 0x4a03c842, 0x00000012, 0x04011000, | ||
| 7015 | 0x4a03c840, 0x0010b55d, 0x4a03c842, 0x000000ff, | ||
| 7016 | 0x04011000, 0x4a03c840, 0x0010b65c, 0x4a03c842, | ||
| 7017 | 0x000000ff, 0x0401fbf2, 0x5c01a000, 0x5c034800, | ||
| 7018 | 0x5c026800, 0x5c025800, 0x5c026000, 0x1c01f000, | ||
| 7019 | 0x84000510, 0x48026004, 0x5c01a000, 0x5c034800, | ||
| 7020 | 0x5c026800, 0x5c025800, 0x5c026000, 0x1c01f000, | ||
| 7021 | 0x1c01f000, 0x4d300000, 0x4d2c0000, 0x4d340000, | ||
| 7022 | 0x4cd00000, 0x4d900000, 0x4dd00000, 0x4da40000, | ||
| 7023 | 0x4d140000, 0x0401fbc3, 0x59bc00ea, 0x8c000510, | ||
| 7024 | 0x040007fe, 0x59be60e0, 0x813261c0, 0x02000800, | ||
| 7025 | 0x001005d8, 0x59300004, 0x8c000520, 0x0400000f, | ||
| 7026 | 0x82000500, 0xfffefeff, 0x48026004, 0x0201f800, | ||
| 7027 | 0x0010783a, 0x5c022800, 0x5c034800, 0x5c03a000, | ||
| 7028 | 0x5c032000, 0x5c01a000, 0x5c026800, 0x5c025800, | ||
| 7029 | 0x5c026000, 0x1c01f000, 0x84000510, 0x48026004, | ||
| 7030 | 0x5c022800, 0x5c034800, 0x5c03a000, 0x5c032000, | ||
| 7031 | 0x5c01a000, 0x5c026800, 0x5c025800, 0x5c026000, | ||
| 7032 | 0x1c01f000, 0x0201f800, 0x001005d8, 0x4d300000, | ||
| 7033 | 0x4d380000, 0x42000000, 0x0010b8c4, 0x0201f800, | ||
| 7034 | 0x0010aa47, 0x0401ff14, 0x598e600d, 0x59c40004, | ||
| 7035 | 0x8c000506, 0x04000004, 0x0401f8db, 0x4a038804, | ||
| 7036 | 0x00000008, 0x813261c0, 0x04000006, 0x0401fb87, | ||
| 7037 | 0x42027000, 0x00000014, 0x0201f800, 0x000207a1, | ||
| 7038 | 0x4a0378e4, 0x00000002, 0x5c027000, 0x5c026000, | ||
| 7039 | 0x0401f6f7, 0x4d180000, 0x4d300000, 0x4d380000, | ||
| 7040 | 0x4d900000, 0x4dd00000, 0x4da40000, 0x4d140000, | ||
| 7041 | 0x0401fef9, 0x417a3000, 0x59c40804, 0x83180400, | ||
| 7042 | 0x0010709f, 0x50000000, 0x80040500, 0x0400001b, | ||
| 7043 | 0x42000000, 0x0010b8c5, 0x0201f800, 0x0010aa47, | ||
| 7044 | 0x0401fb70, 0x59926004, 0x0401f859, 0x83180400, | ||
| 7045 | 0x0010709f, 0x50000000, 0x48038804, 0x813261c0, | ||
| 7046 | 0x0400000a, 0x59300004, 0x8c00050c, 0x04020003, | ||
| 7047 | 0x4a026203, 0x00000003, 0x42027000, 0x0000004a, | ||
| 7048 | 0x0201f800, 0x000207a1, 0x59c40004, 0x82000500, | ||
| 7049 | 0x00f80000, 0x04000005, 0x811a3000, 0x83180480, | ||
| 7050 | 0x00000005, 0x040017dd, 0x4a0378e4, 0x00000008, | ||
| 7051 | 0x5c022800, 0x5c034800, 0x5c03a000, 0x5c032000, | ||
| 7052 | 0x5c027000, 0x5c026000, 0x5c023000, 0x0401f6c0, | ||
| 7053 | 0x4d2c0000, 0x4d340000, 0x59326809, 0x598c0800, | ||
| 7054 | 0x82040580, 0x00000004, 0x04020004, 0x838c1400, | ||
| 7055 | 0x00000005, 0x0401f00c, 0x82040580, 0x00000001, | ||
| 7056 | 0x04020004, 0x838c1400, 0x00000009, 0x0401f006, | ||
| 7057 | 0x82040580, 0x00000002, 0x04020022, 0x838c1400, | ||
| 7058 | 0x0000000b, 0x41306800, 0x58340000, 0x80007d40, | ||
| 7059 | 0x0400001c, 0x583c0009, 0x81340580, 0x04020006, | ||
| 7060 | 0x403c6800, 0x583c0000, 0x80007d40, 0x040207fa, | ||
| 7061 | 0x0401f014, 0x4933c857, 0x483fc857, 0x583c0000, | ||
| 7062 | 0x48006800, 0x49307800, 0x443c1000, 0x80000580, | ||
| 7063 | 0x4803180d, 0x4803180f, 0x598c0000, 0x82000580, | ||
| 7064 | 0x00000003, 0x04000003, 0x4a031800, 0x00000000, | ||
| 7065 | 0x80000580, 0x5c026800, 0x5c025800, 0x1c01f000, | ||
| 7066 | 0x82000540, 0x00000001, 0x0401f7fb, 0x491bc857, | ||
| 7067 | 0x59c80840, 0x82040540, 0x00000010, 0x48039040, | ||
| 7068 | 0x59c41008, 0x82080500, 0xffffff7f, 0x48038808, | ||
| 7069 | 0x4c040000, 0x4c080000, 0x0401fabb, 0x04020007, | ||
| 7070 | 0x0401fabf, 0x04000022, 0x48038804, 0x0201f800, | ||
| 7071 | 0x0010107a, 0x0401f042, 0x4a038803, 0x00000008, | ||
| 7072 | 0x59c40003, 0x82000500, 0x00000003, 0x040007fd, | ||
| 7073 | 0x8c000502, 0x04020007, 0x0401fab1, 0x04000014, | ||
| 7074 | 0x48038804, 0x0201f800, 0x0010107a, 0x0401f034, | ||
| 7075 | 0x59c80040, 0x8400056a, 0x48039040, 0x59c80040, | ||
| 7076 | 0x8c00052a, 0x040207fe, 0x59c40005, 0x82000500, | ||
| 7077 | 0xc0000000, 0x04000006, 0x59c400a3, 0x84000540, | ||
| 7078 | 0x480388a3, 0x4a038805, 0xc0000000, 0x0201f800, | ||
| 7079 | 0x0010101d, 0x4a03a005, 0x30000000, 0x59d00006, | ||
| 7080 | 0x4a03a005, 0x30000000, 0x59900006, 0x82000500, | ||
| 7081 | 0xffff0000, 0x48032006, 0x59d00005, 0x8c000504, | ||
| 7082 | 0x040207fe, 0x42000800, 0x00007600, 0x83180540, | ||
| 7083 | 0x60000000, 0x480008a1, 0x811800dc, 0x59c80840, | ||
| 7084 | 0x80040540, 0x48039040, 0x82000540, 0x00003000, | ||
| 7085 | 0x48039040, 0x59c80040, 0x82000500, 0x00003000, | ||
| 7086 | 0x040207fd, 0x0201f800, 0x00101068, 0x83180400, | ||
| 7087 | 0x0010709f, 0x50000000, 0x48038804, 0x80000580, | ||
| 7088 | 0x4df00000, 0x0201f800, 0x00106062, 0x5c03e000, | ||
| 7089 | 0x5c001000, 0x5c000800, 0x480b8808, 0x48079040, | ||
| 7090 | 0x1c01f000, 0x4803c856, 0x59c80840, 0x82040540, | ||
| 7091 | 0x00000010, 0x48039040, 0x59c41008, 0x82080500, | ||
| 7092 | 0xffffff7f, 0x48038808, 0x4c040000, 0x4c080000, | ||
| 7093 | 0x59c40004, 0x82000500, 0x00000003, 0x04020010, | ||
| 7094 | 0x59c40004, 0x82000500, 0x0000000c, 0x04000005, | ||
| 7095 | 0x4a038804, 0x0000000c, 0x8c000504, 0x0401f025, | ||
| 7096 | 0x59c80040, 0x8400056e, 0x48039040, 0x59c80040, | ||
| 7097 | 0x8c00052e, 0x040207fe, 0x0401f01e, 0x4a038803, | ||
| 7098 | 0x00000008, 0x59c40003, 0x82000500, 0x00000003, | ||
| 7099 | 0x040007fd, 0x8c000502, 0x04020006, 0x59c40004, | ||
| 7100 | 0x4a038804, 0x0000000c, 0x8c000504, 0x0401f011, | ||
| 7101 | 0x59c80040, 0x8400056a, 0x48039040, 0x59c80040, | ||
| 7102 | 0x8c00052a, 0x040207fe, 0x59c40005, 0x82000500, | ||
| 7103 | 0xc0000000, 0x04000007, 0x59c400a3, 0x84000540, | ||
| 7104 | 0x480388a3, 0x4a038805, 0xc0000000, 0x80000580, | ||
| 7105 | 0x497b2807, 0x5c001000, 0x5c000800, 0x480b8808, | ||
| 7106 | 0x48079040, 0x1c01f000, 0x4933c857, 0x4d900000, | ||
| 7107 | 0x4dd00000, 0x4da40000, 0x4d140000, 0x0401fdee, | ||
| 7108 | 0x4df00000, 0x0401fa6f, 0x59900004, 0x800001c0, | ||
| 7109 | 0x04000011, 0x81300580, 0x0402000f, 0x59300004, | ||
| 7110 | 0x84000520, 0x48026004, 0x0401ff51, 0x04020009, | ||
| 7111 | 0x5c03e000, 0x04000dd6, 0x80000580, 0x5c022800, | ||
| 7112 | 0x5c034800, 0x5c03a000, 0x5c032000, 0x1c01f000, | ||
| 7113 | 0x0401fd0e, 0x42027000, 0x00000049, 0x59300004, | ||
| 7114 | 0x84000520, 0x48026004, 0x8c00050c, 0x02020800, | ||
| 7115 | 0x000207a1, 0x5c03e000, 0x04000dc5, 0x82000540, | ||
| 7116 | 0x00000001, 0x5c022800, 0x5c034800, 0x5c03a000, | ||
| 7117 | 0x5c032000, 0x1c01f000, 0x4933c857, 0x0401fdc6, | ||
| 7118 | 0x4df00000, 0x598c000d, 0x80026540, 0x04000012, | ||
| 7119 | 0x59300004, 0x84000520, 0x48026004, 0x0401ff8a, | ||
| 7120 | 0x04000017, 0x0401fd26, 0x42027000, 0x00000013, | ||
| 7121 | 0x59300004, 0x8c00050c, 0x02020800, 0x000207a1, | ||
| 7122 | 0x5c03e000, 0x04000daa, 0x82000540, 0x00000001, | ||
| 7123 | 0x1c01f000, 0x836c1580, 0x00000001, 0x040007f9, | ||
| 7124 | 0x836c1580, 0x00000004, 0x040007f6, 0x42001000, | ||
| 7125 | 0x00104148, 0x0201f800, 0x00105f90, 0x5c03e000, | ||
| 7126 | 0x04000d9b, 0x80000580, 0x1c01f000, 0x4d300000, | ||
| 7127 | 0x4d180000, 0x4d3c0000, 0x0401fd9f, 0x4df00000, | ||
| 7128 | 0x4a0378e4, 0x0000000f, 0x0401f9ff, 0x417a3000, | ||
| 7129 | 0x59926004, 0x813261c0, 0x04000010, 0x417a7800, | ||
| 7130 | 0x0201f800, 0x001048d9, 0x0400000a, 0x59300c06, | ||
| 7131 | 0x82040580, 0x00000003, 0x04000004, 0x82040580, | ||
| 7132 | 0x00000006, 0x04020003, 0x42027800, 0x00000002, | ||
| 7133 | 0x0201f800, 0x00108be3, 0x811a3000, 0x83180480, | ||
| 7134 | 0x00000005, 0x040017eb, 0x42000800, 0x00000040, | ||
| 7135 | 0x0201f800, 0x00101345, 0x4a0378e4, 0x0000000a, | ||
| 7136 | 0x5c03e000, 0x04000d72, 0x5c027800, 0x5c023000, | ||
| 7137 | 0x5c026000, 0x1c01f000, 0x4803c856, 0x4d300000, | ||
| 7138 | 0x0401fd75, 0x4df00000, 0x59c80840, 0x82040540, | ||
| 7139 | 0x00000010, 0x48039040, 0x59c41008, 0x82080500, | ||
| 7140 | 0xffffff7f, 0x48038808, 0x4c040000, 0x4c080000, | ||
| 7141 | 0x42001000, 0x00000003, 0x0401f9c2, 0x598e600d, | ||
| 7142 | 0x813261c0, 0x04020f9d, 0x040009c7, 0x497b2807, | ||
| 7143 | 0x0401f80a, 0x5c001000, 0x5c000800, 0x480b8808, | ||
| 7144 | 0x84040d74, 0x48079040, 0x5c03e000, 0x04000d50, | ||
| 7145 | 0x5c026000, 0x1c01f000, 0x4d380000, 0x4d180000, | ||
| 7146 | 0x4d300000, 0x4d900000, 0x4dd00000, 0x4da40000, | ||
| 7147 | 0x4d140000, 0x59c41004, 0x480bc857, 0x82080500, | ||
| 7148 | 0x00003ff0, 0x04000025, 0x417a3000, 0x4c080000, | ||
| 7149 | 0x0201f800, 0x00106062, 0x5c001000, 0x82080500, | ||
| 7150 | 0x00000210, 0x04020004, 0x811a3000, 0x80081102, | ||
| 7151 | 0x0401f7f7, 0x0401f9c3, 0x59926004, 0x4933c857, | ||
| 7152 | 0x813261c0, 0x04020005, 0x59c400a3, 0x8c00051a, | ||
| 7153 | 0x02000800, 0x001005d8, 0x0401fea5, 0x04000009, | ||
| 7154 | 0x0401fc6a, 0x42027000, 0x00000049, 0x59300004, | ||
| 7155 | 0x8c00050c, 0x02020800, 0x000207a1, 0x0401f007, | ||
| 7156 | 0x42027000, 0x0000004a, 0x4a026203, 0x00000003, | ||
| 7157 | 0x0201f800, 0x000207a1, 0x5c022800, 0x5c034800, | ||
| 7158 | 0x5c03a000, 0x5c032000, 0x5c026000, 0x5c023000, | ||
| 7159 | 0x5c027000, 0x1c01f000, 0x4d300000, 0x4d180000, | ||
| 7160 | 0x4d900000, 0x0401fd1c, 0x42001000, 0x00000000, | ||
| 7161 | 0x598c0000, 0x82000580, 0x00000005, 0x04000971, | ||
| 7162 | 0x417a3000, 0x811b20c8, 0x83932400, 0x0000bf32, | ||
| 7163 | 0x59900001, 0x82000580, 0x00000001, 0x0402000d, | ||
| 7164 | 0x42000800, 0x000007d0, 0x59926004, 0x59300011, | ||
| 7165 | 0x82000500, 0xfff00000, 0x80000540, 0x04000003, | ||
| 7166 | 0x42000800, 0x00001b58, 0x0201f800, 0x00106054, | ||
| 7167 | 0x811a3000, 0x83180480, 0x00000005, 0x040017ea, | ||
| 7168 | 0x59c81040, 0x84081534, 0x480b9040, 0x0401fcf0, | ||
| 7169 | 0x5c032000, 0x5c023000, 0x5c026000, 0x1c01f000, | ||
| 7170 | 0x4933c857, 0x4d900000, 0x4dd00000, 0x4da40000, | ||
| 7171 | 0x4d140000, 0x4d380000, 0x0401fcef, 0x4df00000, | ||
| 7172 | 0x59300004, 0x8c00053e, 0x04020007, 0x8c000520, | ||
| 7173 | 0x04000025, 0x0201f800, 0x00106b6c, 0x04000022, | ||
| 7174 | 0x0401f02a, 0x598c000d, 0x81300580, 0x04000011, | ||
| 7175 | 0x0201f800, 0x00108cd6, 0x04020024, 0x0401f918, | ||
| 7176 | 0x04000022, 0x48038804, 0x0401f95e, 0x0201f800, | ||
| 7177 | 0x0010107a, 0x0401fc0d, 0x42027000, 0x00000049, | ||
| 7178 | 0x59300004, 0x8c00050c, 0x0402000d, 0x0401f00e, | ||
| 7179 | 0x59c40004, 0x8c000504, 0x04000014, 0x4a038804, | ||
| 7180 | 0x00000004, 0x0401fc36, 0x42027000, 0x00000013, | ||
| 7181 | 0x59300004, 0x8c00050c, 0x04000003, 0x0201f800, | ||
| 7182 | 0x000207a1, 0x5c03e000, 0x04000cb9, 0x5c027000, | ||
| 7183 | 0x5c022800, 0x5c034800, 0x5c03a000, 0x5c032000, | ||
| 7184 | 0x80000580, 0x1c01f000, 0x5c03e000, 0x04000cb0, | ||
| 7185 | 0x5c027000, 0x5c022800, 0x5c034800, 0x5c03a000, | ||
| 7186 | 0x5c032000, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 7187 | 0x497b2807, 0x0401fcb0, 0x59c400af, 0x800001c0, | ||
| 7188 | 0x04020004, 0x0401fca2, 0x0201f000, 0x001014fb, | ||
| 7189 | 0x598c000f, 0x82001480, 0x00000002, 0x04021007, | ||
| 7190 | 0x80000000, 0x4803180f, 0x80000580, 0x0201f800, | ||
| 7191 | 0x0010604d, 0x0400000e, 0x0401fed8, 0x0402000c, | ||
| 7192 | 0x0401fdd4, 0x0400000a, 0x0201f800, 0x0010a9c7, | ||
| 7193 | 0x0401f916, 0x4d380000, 0x42027000, 0x00000014, | ||
| 7194 | 0x0201f800, 0x000207a1, 0x5c027000, 0x0401fc88, | ||
| 7195 | 0x0201f000, 0x001014fb, 0x4d900000, 0x4dd00000, | ||
| 7196 | 0x4da40000, 0x4d140000, 0x4d300000, 0x0201f800, | ||
| 7197 | 0x00106062, 0x0401fc88, 0x59c400af, 0x800001c0, | ||
| 7198 | 0x04000027, 0x0401f907, 0x59926004, 0x4933c857, | ||
| 7199 | 0x59300004, 0x8c000516, 0x0400000b, 0x0401fe8b, | ||
| 7200 | 0x0402001f, 0x0201f800, 0x00106b8a, 0x0401fc70, | ||
| 7201 | 0x42000800, 0x80000804, 0x0201f800, 0x00106721, | ||
| 7202 | 0x0401f017, 0x42001800, 0x00007530, 0x0401f8c1, | ||
| 7203 | 0x04020004, 0x0201f800, 0x00106052, 0x0401f010, | ||
| 7204 | 0x0401fe7a, 0x0402000e, 0x0201f800, 0x0010a9c7, | ||
| 7205 | 0x59300004, 0x8c00050c, 0x04020003, 0x4a026203, | ||
| 7206 | 0x00000003, 0x4d380000, 0x42027000, 0x0000004a, | ||
| 7207 | 0x0201f800, 0x000207a1, 0x5c027000, 0x0401fc54, | ||
| 7208 | 0x5c026000, 0x5c022800, 0x5c034800, 0x5c03a000, | ||
| 7209 | 0x5c032000, 0x0201f000, 0x001014fb, 0x4d900000, | ||
| 7210 | 0x4dd00000, 0x4da40000, 0x4d140000, 0x4d300000, | ||
| 7211 | 0x4d2c0000, 0x0401fc50, 0x0401f8d2, 0x59926004, | ||
| 7212 | 0x4933c857, 0x0401f880, 0x04000016, 0x0201f800, | ||
| 7213 | 0x00106062, 0x813261c0, 0x04000034, 0x59325808, | ||
| 7214 | 0x812e59c0, 0x02000800, 0x001005d8, 0x0201f800, | ||
| 7215 | 0x0010513b, 0x0402001d, 0x592c0208, 0x84000550, | ||
| 7216 | 0x48025a08, 0x0201f800, 0x00105258, 0x04020027, | ||
| 7217 | 0x592c0208, 0x84000510, 0x48025a08, 0x0401f023, | ||
| 7218 | 0x0201f800, 0x00106052, 0x0401f020, 0x0201f800, | ||
| 7219 | 0x0010a9c7, 0x0401fd9e, 0x592c0208, 0x84000550, | ||
| 7220 | 0x48025a08, 0x4d380000, 0x42027000, 0x0000004a, | ||
| 7221 | 0x4a026203, 0x00000003, 0x0201f800, 0x000207a1, | ||
| 7222 | 0x5c027000, 0x0401f011, 0x59900006, 0x82000500, | ||
| 7223 | 0xffff0000, 0x040207ee, 0x59c408af, 0x82040480, | ||
| 7224 | 0x000003e8, 0x040217ea, 0x59900006, 0x82000400, | ||
| 7225 | 0x00010000, 0x48032006, 0x0201f800, 0x00106052, | ||
| 7226 | 0x0201f800, 0x0010411d, 0x5c025800, 0x5c026000, | ||
| 7227 | 0x5c022800, 0x5c034800, 0x5c03a000, 0x5c032000, | ||
| 7228 | 0x0401f403, 0x4d300000, 0x4d2c0000, 0x0401fc0a, | ||
| 7229 | 0x598e600d, 0x4933c857, 0x59c41004, 0x8c081500, | ||
| 7230 | 0x04000007, 0x0201f800, 0x0010513b, 0x04020007, | ||
| 7231 | 0x0201f800, 0x00105258, 0x0402002f, 0x0201f800, | ||
| 7232 | 0x0010604d, 0x0401f02c, 0x598c000f, 0x80000540, | ||
| 7233 | 0x04020011, 0x59c408af, 0x82040480, 0x000003e8, | ||
| 7234 | 0x0402100d, 0x598c080f, 0x80040800, 0x4807180f, | ||
| 7235 | 0x0201f800, 0x0010604d, 0x42000000, 0x0010b852, | ||
| 7236 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x0010411d, | ||
| 7237 | 0x0401f019, 0x0401fdb4, 0x813261c0, 0x04020003, | ||
| 7238 | 0x0401f849, 0x0401f014, 0x0201f800, 0x0010a9c7, | ||
| 7239 | 0x59300406, 0x82000580, 0x00000003, 0x04020007, | ||
| 7240 | 0x59325808, 0x812e59c0, 0x04000004, 0x592c0208, | ||
| 7241 | 0x84000550, 0x48025a08, 0x0401f854, 0x4d380000, | ||
| 7242 | 0x42027000, 0x00000014, 0x0201f800, 0x000207a1, | ||
| 7243 | 0x5c027000, 0x5c025800, 0x5c026000, 0x0201f000, | ||
| 7244 | 0x00106c4b, 0x59c40804, 0x83180400, 0x00107095, | ||
| 7245 | 0x50000000, 0x80040500, 0x1c01f000, 0x59c40804, | ||
| 7246 | 0x83180400, 0x0010709a, 0x50000000, 0x80040500, | ||
| 7247 | 0x1c01f000, 0x00000210, 0x00000420, 0x00000840, | ||
| 7248 | 0x00001080, 0x00002100, 0x00004000, 0x00008000, | ||
| 7249 | 0x00010000, 0x00020000, 0x00040000, 0x00080000, | ||
| 7250 | 0x00100000, 0x00200000, 0x00400000, 0x00800000, | ||
| 7251 | 0x59900806, 0x80040120, 0x800c0480, 0x04021004, | ||
| 7252 | 0x82000540, 0x00000001, 0x0401f005, 0x82040c00, | ||
| 7253 | 0x00010000, 0x48072006, 0x80000580, 0x1c01f000, | ||
| 7254 | 0x480bc857, 0x0201f800, 0x00106c55, 0x4df00000, | ||
| 7255 | 0x480b1800, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 7256 | 0x1c01f000, 0x4803c856, 0x0201f800, 0x00106c55, | ||
| 7257 | 0x4df00000, 0x497b180d, 0x497b1803, 0x497b180e, | ||
| 7258 | 0x497b180f, 0x497b1810, 0x598c0000, 0x82000580, | ||
| 7259 | 0x00000003, 0x04000009, 0x836c0580, 0x00000002, | ||
| 7260 | 0x04020004, 0x4a031800, 0x00000005, 0x0401f003, | ||
| 7261 | 0x4a031800, 0x00000000, 0x5c03e000, 0x02000800, | ||
| 7262 | 0x00106c4b, 0x1c01f000, 0x59300004, 0x8c00050c, | ||
| 7263 | 0x04020003, 0x4a026203, 0x00000001, 0x1c01f000, | ||
| 7264 | 0x83180480, 0x00000005, 0x02021800, 0x001005d8, | ||
| 7265 | 0x491bc857, 0x811b20c8, 0x83932400, 0x0000bf32, | ||
| 7266 | 0x811ba0ca, 0x83d3a400, 0x00007600, 0x83180400, | ||
| 7267 | 0x001070ea, 0x50034800, 0x811a28c2, 0x83162c00, | ||
| 7268 | 0x00006100, 0x1c01f000, 0x0010b75b, 0x0010b772, | ||
| 7269 | 0x0010b789, 0x0010b7a0, 0x0010b7b7, 0x4933c857, | ||
| 7270 | 0x59300406, 0x82000c80, 0x00000012, 0x04021016, | ||
| 7271 | 0x4803c857, 0x04011000, 0x0c01f001, 0x00107109, | ||
| 7272 | 0x00107198, 0x001074d1, 0x00107556, 0x00107198, | ||
| 7273 | 0x001074d1, 0x00107556, 0x00107109, 0x00107198, | ||
| 7274 | 0x00107109, 0x00107109, 0x00107109, 0x00107109, | ||
| 7275 | 0x00107109, 0x00107109, 0x00107109, 0x0010710f, | ||
| 7276 | 0x0010710f, 0x0201f800, 0x00106c55, 0x0201f800, | ||
| 7277 | 0x00106bbf, 0x0201f000, 0x00106c4b, 0x42001000, | ||
| 7278 | 0x0010b7f6, 0x50081000, 0x4930100c, 0x58080002, | ||
| 7279 | 0x82000580, 0x00000100, 0x04020032, 0x59325808, | ||
| 7280 | 0x812e59c0, 0x02000800, 0x001005d8, 0x59326809, | ||
| 7281 | 0x813669c0, 0x04000019, 0x592c040b, 0x82000500, | ||
| 7282 | 0x0000e000, 0x04000003, 0x0401fba8, 0x0401f002, | ||
| 7283 | 0x0401fb98, 0x42001000, 0x0010b7f6, 0x50081000, | ||
| 7284 | 0x4930100b, 0x492c100a, 0x82d00400, 0x00000006, | ||
| 7285 | 0x48001003, 0x592c000d, 0x80000104, 0x48001004, | ||
| 7286 | 0x592c000e, 0x48001007, 0x592c000f, 0x48001008, | ||
| 7287 | 0x0201f000, 0x00100858, 0x42026800, 0x0010be0d, | ||
| 7288 | 0x592c080a, 0x48066802, 0x82040500, 0x00ffff00, | ||
| 7289 | 0x04000007, 0x497a6a12, 0x59a81010, 0x82081500, | ||
| 7290 | 0x00ffff00, 0x80080580, 0x040207dc, 0x82040d00, | ||
| 7291 | 0x000000ff, 0x800408d0, 0x48066a12, 0x0401f7d7, | ||
| 7292 | 0x1c01f000, 0x4d2c0000, 0x4d300000, 0x4c580000, | ||
| 7293 | 0x4c540000, 0x4c500000, 0x5832580a, 0x812e59c0, | ||
| 7294 | 0x02000800, 0x001005d8, 0x58300002, 0x4a006002, | ||
| 7295 | 0x00000100, 0x82000580, 0x00000100, 0x0402001c, | ||
| 7296 | 0x5830000b, 0x5832600c, 0x81300580, 0x04020010, | ||
| 7297 | 0x0401f828, 0x04020010, 0x592c080d, 0x80040904, | ||
| 7298 | 0x4004b000, 0x4200a000, 0x0010b54b, 0x4050a800, | ||
| 7299 | 0x0201f800, 0x0010ab28, 0x42001000, 0x0000dc00, | ||
| 7300 | 0x0201f800, 0x001078bc, 0x0401f003, 0x0401f819, | ||
| 7301 | 0x04000fa3, 0x5c00a000, 0x5c00a800, 0x5c00b000, | ||
| 7302 | 0x5c026000, 0x5c025800, 0x1c01f000, 0x5830000b, | ||
| 7303 | 0x5832600c, 0x81300580, 0x040207f5, 0x0401f80d, | ||
| 7304 | 0x040207f5, 0x0201f800, 0x001068d3, 0x02020800, | ||
| 7305 | 0x001005d8, 0x4a025a06, 0x00000002, 0x0201f800, | ||
| 7306 | 0x000202da, 0x0201f800, 0x00107911, 0x0401f7ea, | ||
| 7307 | 0x0201f800, 0x00106c55, 0x4df00000, 0x598c000d, | ||
| 7308 | 0x81300580, 0x04020009, 0x598c0005, 0x81300580, | ||
| 7309 | 0x04020006, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 7310 | 0x80000580, 0x1c01f000, 0x5c03e000, 0x02000800, | ||
| 7311 | 0x00106c4b, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 7312 | 0x59300403, 0x82000c80, 0x00000056, 0x02021800, | ||
| 7313 | 0x001005d8, 0x4803c857, 0x0c01f001, 0x00107302, | ||
| 7314 | 0x0010731d, 0x0010732e, 0x00107431, 0x001073f1, | ||
| 7315 | 0x001073f5, 0x00107406, 0x0010741a, 0x0010740f, | ||
| 7316 | 0x0010741a, 0x00107455, 0x0010741a, 0x00107497, | ||
| 7317 | 0x0010741a, 0x001074a5, 0x0010741a, 0x0010740f, | ||
| 7318 | 0x0010741a, 0x001074a9, 0x001071f5, 0x001071f5, | ||
| 7319 | 0x001071f5, 0x001071f5, 0x001071f5, 0x001071f5, | ||
| 7320 | 0x001071f5, 0x001071f5, 0x001071f5, 0x001071f5, | ||
| 7321 | 0x001071f5, 0x00107574, 0x00107593, 0x0010759d, | ||
| 7322 | 0x001071f5, 0x001075b3, 0x00107406, 0x001071f5, | ||
| 7323 | 0x00107406, 0x0010741a, 0x001071f5, 0x0010732e, | ||
| 7324 | 0x00107431, 0x001071f5, 0x00107603, 0x0010741a, | ||
| 7325 | 0x001071f5, 0x00107613, 0x0010741a, 0x001071f5, | ||
| 7326 | 0x0010740f, 0x001072f3, 0x001071f7, 0x001071f5, | ||
| 7327 | 0x0010762a, 0x0010765d, 0x001076d7, 0x001071f5, | ||
| 7328 | 0x001076e7, 0x00107404, 0x001076da, 0x001071f5, | ||
| 7329 | 0x001075bf, 0x00107700, 0x001071f5, 0x00107735, | ||
| 7330 | 0x00107788, 0x001071f5, 0x0010720c, 0x00107265, | ||
| 7331 | 0x00107272, 0x001071f5, 0x00107406, 0x001071f5, | ||
| 7332 | 0x001072b9, 0x001072c4, 0x001071f5, 0x001071f5, | ||
| 7333 | 0x00107220, 0x00107245, 0x001077c7, 0x00107808, | ||
| 7334 | 0x0010782e, 0x001071f5, 0x001071f5, 0x001071f5, | ||
| 7335 | 0x001077fc, 0x0201f800, 0x001005d8, 0x0401fac5, | ||
| 7336 | 0x59325808, 0x592c0009, 0x4801a006, 0x592c000a, | ||
| 7337 | 0x4801a007, 0x592c000b, 0x4801a008, 0x592c000c, | ||
| 7338 | 0x4801a009, 0x592c000d, 0x4801a00a, 0x4979a00b, | ||
| 7339 | 0x592c0809, 0x82040d00, 0x00000fff, 0x80040904, | ||
| 7340 | 0x42001000, 0x0000dc00, 0x0201f000, 0x001078bc, | ||
| 7341 | 0x4a026202, 0x0000ffff, 0x0401faae, 0x4d2c0000, | ||
| 7342 | 0x4a01a006, 0x05000000, 0x59325808, 0x592c0009, | ||
| 7343 | 0x4801a007, 0x592c000a, 0x4801a008, 0x592c000b, | ||
| 7344 | 0x4801a009, 0x42000800, 0x00000004, 0x42001000, | ||
| 7345 | 0x0000dc00, 0x5c025800, 0x0201f000, 0x001078bc, | ||
| 7346 | 0x4c580000, 0x4c500000, 0x4c540000, 0x4d2c0000, | ||
| 7347 | 0x0401fa98, 0x59325808, 0x5930040b, 0x800000c2, | ||
| 7348 | 0x4200a800, 0x0010b54b, 0x592cb205, 0x832ca400, | ||
| 7349 | 0x00000006, 0x0201f800, 0x0010ab17, 0x40580000, | ||
| 7350 | 0x8054ac00, 0x592c0001, 0x80000540, 0x04000003, | ||
| 7351 | 0x40025800, 0x0401f7f5, 0x4200a000, 0x0010b54b, | ||
| 7352 | 0x4050a800, 0x5930b40b, 0x0201f800, 0x0010ab28, | ||
| 7353 | 0x59300c0b, 0x42001000, 0x0000dc00, 0x5c025800, | ||
| 7354 | 0x5c00a800, 0x5c00b000, 0x5c00a000, 0x0201f000, | ||
| 7355 | 0x001078bc, 0x4c580000, 0x4c500000, 0x4c540000, | ||
| 7356 | 0x4d2c0000, 0x42034800, 0x0010b544, 0x0401fa7f, | ||
| 7357 | 0x59325808, 0x4a025805, 0x02000000, 0x592c0802, | ||
| 7358 | 0x82d0ac00, 0x00000006, 0x592cb011, 0x832ca400, | ||
| 7359 | 0x00000005, 0x0201f800, 0x0010ab17, 0x40580000, | ||
| 7360 | 0x8054ac00, 0x592e5801, 0x41780000, 0x812e5d40, | ||
| 7361 | 0x040207f6, 0x42001000, 0x0000dc00, 0x5c025800, | ||
| 7362 | 0x5c00a800, 0x5c00b000, 0x5c00a000, 0x0201f000, | ||
| 7363 | 0x001078bc, 0x0401fa57, 0x4a01a006, 0x78000000, | ||
| 7364 | 0x5930001c, 0x840001c0, 0x4801a407, 0x4979a207, | ||
| 7365 | 0x42000800, 0x00000002, 0x42001000, 0x0000dc00, | ||
| 7366 | 0x0201f000, 0x001078bc, 0x4c580000, 0x4c540000, | ||
| 7367 | 0x4c500000, 0x0401fa55, 0x4a01a006, 0x02000000, | ||
| 7368 | 0x59a80002, 0x4801a008, 0x59a80003, 0x4801a009, | ||
| 7369 | 0x59a80000, 0x4801a00a, 0x59a80001, 0x4801a00b, | ||
| 7370 | 0x5930001c, 0x82000d80, 0x0000e000, 0x04000016, | ||
| 7371 | 0x82000d80, 0x0000df00, 0x04000006, 0x4a01a407, | ||
| 7372 | 0x00000010, 0x42000800, 0x00000006, 0x0401f027, | ||
| 7373 | 0x4a03c840, 0x0010b4eb, 0x4a03c842, 0x0000000d, | ||
| 7374 | 0x42001800, 0x0010b4eb, 0x0201f800, 0x001007af, | ||
| 7375 | 0x42000000, 0x0000df00, 0x4200a000, 0x0010b4eb, | ||
| 7376 | 0x0401f00d, 0x4a03c840, 0x0010b4f8, 0x4a03c842, | ||
| 7377 | 0x0000000d, 0x42001800, 0x0010b4f8, 0x0201f800, | ||
| 7378 | 0x001007af, 0x42000000, 0x0000e000, 0x4200a000, | ||
| 7379 | 0x0010b4f8, 0x82000540, 0x00000010, 0x4801a407, | ||
| 7380 | 0x4a01a207, 0x00000034, 0x4200b000, 0x0000000d, | ||
| 7381 | 0x82d0ac00, 0x0000000c, 0x0201f800, 0x0010ab17, | ||
| 7382 | 0x42000800, 0x00000013, 0x42001000, 0x0000dc00, | ||
| 7383 | 0x5c00a000, 0x5c00a800, 0x5c00b000, 0x0201f000, | ||
| 7384 | 0x001078bc, 0x0401fa03, 0x4a01a006, 0x63000028, | ||
| 7385 | 0x5930001c, 0x4801a007, 0x42000800, 0x00000002, | ||
| 7386 | 0x42001000, 0x0000dc00, 0x0201f000, 0x001078bc, | ||
| 7387 | 0x0401fa06, 0x41780000, 0x41780800, 0x42002000, | ||
| 7388 | 0x00080000, 0x0c01f81b, 0x80000000, 0x80040800, | ||
| 7389 | 0x42001000, 0x0000000c, 0x59841802, 0x8c0c1d00, | ||
| 7390 | 0x04020008, 0x42002000, 0x00050000, 0x0c01f811, | ||
| 7391 | 0x80000000, 0x80040800, 0x82081400, 0x00000004, | ||
| 7392 | 0x82080540, 0x02000000, 0x4801a006, 0x800408e0, | ||
| 7393 | 0x5930001c, 0x80040540, 0x4801a007, 0x80080904, | ||
| 7394 | 0x42001000, 0x0000dc00, 0x0201f000, 0x001078bc, | ||
| 7395 | 0x001072e9, 0x001072eb, 0x001072ed, 0x001072ef, | ||
| 7396 | 0x001072f1, 0x4811a008, 0x1c01f000, 0x4811a009, | ||
| 7397 | 0x1c01f000, 0x4811a00a, 0x1c01f000, 0x4811a00b, | ||
| 7398 | 0x1c01f000, 0x4811a00c, 0x1c01f000, 0x4a026009, | ||
| 7399 | 0x0010be0d, 0x59a80010, 0x82000500, 0x000000ff, | ||
| 7400 | 0x800000d0, 0x42026800, 0x0010be0d, 0x48026a12, | ||
| 7401 | 0x0401fa3b, 0x41780800, 0x42001000, 0x00005c00, | ||
| 7402 | 0x0201f000, 0x001078bc, 0x0401f9ba, 0x4a01a006, | ||
| 7403 | 0x52000000, 0x4979a007, 0x599c0017, 0x8c000500, | ||
| 7404 | 0x04000005, 0x599c0402, 0x0201f800, 0x001015da, | ||
| 7405 | 0x4805a007, 0x59a80002, 0x4801a008, 0x59a80003, | ||
| 7406 | 0x4801a009, 0x59a80000, 0x4801a00a, 0x59a80001, | ||
| 7407 | 0x4801a00b, 0x59a80010, 0x4801a00c, 0x42000800, | ||
| 7408 | 0x00000007, 0x42001000, 0x0000dc00, 0x0201f000, | ||
| 7409 | 0x001078bc, 0x4a026202, 0x0000ffff, 0x0401f99d, | ||
| 7410 | 0x4a01a006, 0x05000000, 0x59a80010, 0x4801a007, | ||
| 7411 | 0x59a80002, 0x59a80803, 0x4801a008, 0x4805a009, | ||
| 7412 | 0x42000800, 0x00000004, 0x42001000, 0x0000dc00, | ||
| 7413 | 0x0201f000, 0x001078bc, 0x4a026202, 0x0000ffff, | ||
| 7414 | 0x0401f98c, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 7415 | 0x001048f6, 0x5c027800, 0x4a01a006, 0x03000000, | ||
| 7416 | 0x59340403, 0x82000580, 0x000007fe, 0x0402006e, | ||
| 7417 | 0x4a01a006, 0x04000000, 0x81a40800, 0x4a000800, | ||
| 7418 | 0x22fffffe, 0x5934000a, 0x84000500, 0x4802680a, | ||
| 7419 | 0x59c41002, 0x8408150c, 0x480b8802, 0x59a80026, | ||
| 7420 | 0x8c000508, 0x04000010, 0x59a8002a, 0x4801a007, | ||
| 7421 | 0x59a8002b, 0x82000500, 0xffff2000, 0x599c0818, | ||
| 7422 | 0x8c040d16, 0x04000002, 0x8400056a, 0x4801a008, | ||
| 7423 | 0x4a01a009, 0x00002710, 0x59a8002d, 0x4801a00a, | ||
| 7424 | 0x0401f039, 0x59a8002a, 0x4801a007, 0x0201f800, | ||
| 7425 | 0x0010513b, 0x04020009, 0x497b8880, 0x82000500, | ||
| 7426 | 0x0000ffff, 0x4c000000, 0x0201f800, 0x00101606, | ||
| 7427 | 0x5c000000, 0x48038880, 0x59a8002b, 0x0201f800, | ||
| 7428 | 0x0010513b, 0x04020004, 0x82000500, 0x37ffffff, | ||
| 7429 | 0x0401f003, 0x82000500, 0x3fffffff, 0x599c0818, | ||
| 7430 | 0x8c040d16, 0x04000002, 0x8400056a, 0x59a80805, | ||
| 7431 | 0x8c040d10, 0x04000019, 0x59300c03, 0x82041580, | ||
| 7432 | 0x00000051, 0x04000015, 0x82041580, 0x00000031, | ||
| 7433 | 0x04000012, 0x4c580000, 0x4c500000, 0x4c540000, | ||
| 7434 | 0x4200b000, 0x00000004, 0x4200a000, 0x0010b8fa, | ||
| 7435 | 0x82d0ac00, 0x0000001f, 0x4c000000, 0x0201f800, | ||
| 7436 | 0x0010ab17, 0x5c000000, 0x5c00a800, 0x5c00a000, | ||
| 7437 | 0x5c00b000, 0x8400057a, 0x4801a008, 0x4979a009, | ||
| 7438 | 0x4979a00a, 0x59a80002, 0x59a80803, 0x4801a00b, | ||
| 7439 | 0x4805a00c, 0x59a80000, 0x59a80801, 0x4801a00d, | ||
| 7440 | 0x4805a00e, 0x4979a00f, 0x4979a010, 0x4979a011, | ||
| 7441 | 0x4979a012, 0x4979a013, 0x4979a014, 0x4979a015, | ||
| 7442 | 0x4979a016, 0x59a8002e, 0x84000576, 0x4801a017, | ||
| 7443 | 0x59a8002f, 0x4801a018, 0x4979a019, 0x4979a01a, | ||
| 7444 | 0x0401f043, 0x59a80026, 0x8c000508, 0x0400000d, | ||
| 7445 | 0x59a8002a, 0x82000500, 0x0000ffff, 0x59c40880, | ||
| 7446 | 0x80040d80, 0x04000007, 0x497b8880, 0x4c000000, | ||
| 7447 | 0x0201f800, 0x00101606, 0x5c000000, 0x48038880, | ||
| 7448 | 0x59a8002a, 0x4801a007, 0x4c640000, 0x4d2c0000, | ||
| 7449 | 0x59a8c82b, 0x0201f800, 0x00109037, 0x0400000d, | ||
| 7450 | 0x0201f800, 0x00109597, 0x0402000a, 0x592c0207, | ||
| 7451 | 0x8c00050e, 0x04000007, 0x8264cd00, 0x0000ffff, | ||
| 7452 | 0x592c0009, 0x82000500, 0xffff0000, 0x8064cd40, | ||
| 7453 | 0x4865a008, 0x5c025800, 0x5c00c800, 0x59a8002c, | ||
| 7454 | 0x4801a009, 0x59a8002d, 0x4801a00a, 0x59a80002, | ||
| 7455 | 0x59a80803, 0x4801a00b, 0x4805a00c, 0x59a80000, | ||
| 7456 | 0x59a80801, 0x4801a00d, 0x4805a00e, 0x4979a00f, | ||
| 7457 | 0x4979a010, 0x4979a011, 0x4979a012, 0x4979a013, | ||
| 7458 | 0x4979a014, 0x4979a015, 0x4979a016, 0x59a8002e, | ||
| 7459 | 0x4801a017, 0x59a8002f, 0x4801a018, 0x59a80030, | ||
| 7460 | 0x4801a019, 0x59a80031, 0x4801a01a, 0x42000800, | ||
| 7461 | 0x0000001d, 0x42001000, 0x0000dc00, 0x0201f000, | ||
| 7462 | 0x001078bc, 0x0401f8cb, 0x4a01a006, 0x50000000, | ||
| 7463 | 0x0401f7b5, 0x0401f8c7, 0x4a01a406, 0x21000010, | ||
| 7464 | 0x4a01a206, 0x00000014, 0x4979a007, 0x4979a008, | ||
| 7465 | 0x4979a009, 0x4979a00a, 0x42000800, 0x00000005, | ||
| 7466 | 0x42001000, 0x0000dc00, 0x0201f000, 0x001078bc, | ||
| 7467 | 0x0401f8bf, 0x0401f002, 0x0401f8c4, 0x4a01a006, | ||
| 7468 | 0x02000000, 0x42000800, 0x00000001, 0x42001000, | ||
| 7469 | 0x0000dc00, 0x0201f000, 0x001078bc, 0x0401f8bb, | ||
| 7470 | 0x4a01a006, 0x02000000, 0x59300403, 0x82000580, | ||
| 7471 | 0x00000031, 0x04020794, 0x81a40800, 0x4a000801, | ||
| 7472 | 0x00fffffe, 0x0401f72b, 0x0401f8b0, 0x4a01a006, | ||
| 7473 | 0x01000000, 0x5930041a, 0x80000540, 0x04000003, | ||
| 7474 | 0x4801a407, 0x0401f003, 0x4a01a407, 0x00000003, | ||
| 7475 | 0x5930021a, 0x80000540, 0x04000003, 0x4801a207, | ||
| 7476 | 0x0401f003, 0x4a01a207, 0x00002a00, 0x42000800, | ||
| 7477 | 0x00000002, 0x42001000, 0x0000dc00, 0x0201f000, | ||
| 7478 | 0x001078bc, 0x4a026202, 0x0000ffff, 0x0401f889, | ||
| 7479 | 0x4a01a406, 0x00002010, 0x4a01a206, 0x00000014, | ||
| 7480 | 0x4a01a407, 0x00000800, 0x4a01a207, 0x00002000, | ||
| 7481 | 0x80000580, 0x599c0817, 0x8c040d0a, 0x04020003, | ||
| 7482 | 0x82000540, 0x00000020, 0x8c040d08, 0x04000003, | ||
| 7483 | 0x82000540, 0x00000010, 0x82000540, 0x00000002, | ||
| 7484 | 0x5934080a, 0x8c040d14, 0x04000005, 0x82040d00, | ||
| 7485 | 0x00000380, 0x80040540, 0x0401f006, 0x599c0818, | ||
| 7486 | 0x8c040d18, 0x04000003, 0x82000540, 0x00000380, | ||
| 7487 | 0x0401f03c, 0x0401f875, 0x4a01a406, 0x00000210, | ||
| 7488 | 0x4a01a206, 0x00000014, 0x4a01a407, 0x00000800, | ||
| 7489 | 0x5934000a, 0x8c000516, 0x04000014, 0x59340c05, | ||
| 7490 | 0x82040500, 0x00000030, 0x04000013, 0x59340a05, | ||
| 7491 | 0x82040500, 0x0000c000, 0x04020009, 0x8c040d1a, | ||
| 7492 | 0x04000004, 0x4a01a207, 0x00002100, 0x0401f00c, | ||
| 7493 | 0x4a01a207, 0x00000100, 0x0401f009, 0x4a01a207, | ||
| 7494 | 0x00000400, 0x0401f006, 0x4a01a207, 0x00000700, | ||
| 7495 | 0x0401f003, 0x4a01a207, 0x00000800, 0x80000580, | ||
| 7496 | 0x599c0817, 0x8c040d0a, 0x04020003, 0x82000540, | ||
| 7497 | 0x00000020, 0x8c040d08, 0x04000003, 0x82000540, | ||
| 7498 | 0x00000010, 0x82000540, 0x00000002, 0x59340a00, | ||
| 7499 | 0x8c040d0e, 0x0400000b, 0x84000550, 0x599c1017, | ||
| 7500 | 0x8c08150a, 0x04020004, 0x8c040d0a, 0x04000002, | ||
| 7501 | 0x8400054e, 0x8c040d1c, 0x04000002, 0x84000552, | ||
| 7502 | 0x4801a20a, 0x42000800, 0x00000005, 0x42001000, | ||
| 7503 | 0x0000dc00, 0x0201f000, 0x001078bc, 0x0401f833, | ||
| 7504 | 0x4a01a006, 0x02100014, 0x4a01a007, 0x01000000, | ||
| 7505 | 0x4979a008, 0x4979a009, 0x4979a00a, 0x42000800, | ||
| 7506 | 0x00000005, 0x42001000, 0x0000dc00, 0x0201f000, | ||
| 7507 | 0x001078bc, 0x0401f825, 0x4a01a006, 0x02000000, | ||
| 7508 | 0x0401f65d, 0x4933c857, 0x0401f820, 0x4a01a006, | ||
| 7509 | 0x01000000, 0x4a01a407, 0x0000000b, 0x42000800, | ||
| 7510 | 0x00000002, 0x42001000, 0x0000dc00, 0x0201f000, | ||
| 7511 | 0x001078bc, 0x42005000, 0x32000000, 0x42006000, | ||
| 7512 | 0x08290000, 0x41786800, 0x41787800, 0x0401f3df, | ||
| 7513 | 0x42005000, 0x22000000, 0x42006000, 0x01290000, | ||
| 7514 | 0x41786800, 0x41787800, 0x0401f3d8, 0x42005000, | ||
| 7515 | 0x33000000, 0x42006000, 0x08980000, 0x41786800, | ||
| 7516 | 0x41787800, 0x0401f3d1, 0x42005000, 0x23000000, | ||
| 7517 | 0x42006000, 0x01980000, 0x41786800, 0x41787800, | ||
| 7518 | 0x0401f3ca, 0x59300403, 0x82000c80, 0x00000085, | ||
| 7519 | 0x02001800, 0x001005d8, 0x82000c80, 0x00000093, | ||
| 7520 | 0x02021800, 0x001005d8, 0x82000480, 0x00000085, | ||
| 7521 | 0x0c01f001, 0x001074eb, 0x001074ed, 0x001074fb, | ||
| 7522 | 0x001074eb, 0x001074eb, 0x001074eb, 0x001074eb, | ||
| 7523 | 0x001074eb, 0x001074eb, 0x001074eb, 0x001074eb, | ||
| 7524 | 0x001074eb, 0x001074eb, 0x00107506, 0x0201f800, | ||
| 7525 | 0x001005d8, 0x4933c857, 0x0401f850, 0x59300402, | ||
| 7526 | 0x4801a407, 0x5930001c, 0x4801a207, 0x4979a408, | ||
| 7527 | 0x4a01a208, 0x0000ffff, 0x42000800, 0x00000003, | ||
| 7528 | 0x42001000, 0x0000dc00, 0x0401f3c2, 0x4933c857, | ||
| 7529 | 0x0401f84e, 0x4a01a406, 0x00000003, 0x4a01a206, | ||
| 7530 | 0x00000300, 0x42000800, 0x00000001, 0x42001000, | ||
| 7531 | 0x0000dc00, 0x0401f3b7, 0x4d2c0000, 0x59325808, | ||
| 7532 | 0x4933c857, 0x492fc857, 0x812e59c0, 0x02000800, | ||
| 7533 | 0x001005d8, 0x59340a12, 0x82040d00, 0x0000ff00, | ||
| 7534 | 0x592c000a, 0x82000500, 0x000000ff, 0x900001c0, | ||
| 7535 | 0x80040540, 0x82000540, 0x00000011, 0x44034800, | ||
| 7536 | 0x81a5a000, 0x42001000, 0x00000009, 0x42000800, | ||
| 7537 | 0x00000003, 0x592c0009, 0x82000500, 0xff000000, | ||
| 7538 | 0x82001d80, 0x84000000, 0x04000009, 0x82001d80, | ||
| 7539 | 0x85000000, 0x02020800, 0x001005d8, 0x42001000, | ||
| 7540 | 0x00000007, 0x42000800, 0x00000001, 0x832c1c00, | ||
| 7541 | 0x00000009, 0x500c0000, 0x4401a000, 0x800c1800, | ||
| 7542 | 0x80d1a000, 0x80081040, 0x040207fb, 0x42001000, | ||
| 7543 | 0x0000dc00, 0x5c025800, 0x0401f386, 0x42005000, | ||
| 7544 | 0x81000000, 0x42006000, 0x00090000, 0x41786800, | ||
| 7545 | 0x41787800, 0x0401f35d, 0x42005000, 0x84000000, | ||
| 7546 | 0x42006000, 0x00990000, 0x59300406, 0x82000580, | ||
| 7547 | 0x00000005, 0x04000002, 0x8430652e, 0x41786800, | ||
| 7548 | 0x41787800, 0x0401f351, 0x42005000, 0x85000000, | ||
| 7549 | 0x42006000, 0x00990000, 0x59300406, 0x82000580, | ||
| 7550 | 0x00000005, 0x04000002, 0x8430652e, 0x41786800, | ||
| 7551 | 0x41787800, 0x0401f345, 0x59300403, 0x82000c80, | ||
| 7552 | 0x00000053, 0x02021800, 0x001005d8, 0x82000480, | ||
| 7553 | 0x0000004b, 0x02001800, 0x001005d8, 0x59326809, | ||
| 7554 | 0x59368c03, 0x4803c857, 0x0c01f001, 0x001075da, | ||
| 7555 | 0x001075e2, 0x001075ea, 0x001075f2, 0x0010756b, | ||
| 7556 | 0x0010756b, 0x0010756b, 0x001075d2, 0x0201f800, | ||
| 7557 | 0x001005d8, 0x42005000, 0x06000000, 0x42006000, | ||
| 7558 | 0x08290000, 0x41786800, 0x41787800, 0x0401f327, | ||
| 7559 | 0x4933c857, 0x0401ff47, 0x4a01a006, 0x12000000, | ||
| 7560 | 0x59300406, 0x82000580, 0x00000004, 0x04020003, | ||
| 7561 | 0x59340002, 0x0401f002, 0x59a80010, 0x82000500, | ||
| 7562 | 0x00ffffff, 0x4801a007, 0x59300419, 0x4801a408, | ||
| 7563 | 0x59300219, 0x4801a208, 0x4979a009, 0x4979a00a, | ||
| 7564 | 0x4979a00b, 0x4979a00c, 0x4979a00d, 0x4979a00e, | ||
| 7565 | 0x4979a00f, 0x4979a010, 0x42000800, 0x0000000b, | ||
| 7566 | 0x42001000, 0x0000dc00, 0x0401f32a, 0x0401ff29, | ||
| 7567 | 0x4a01a006, 0x0f000000, 0x5930001c, 0x4801a007, | ||
| 7568 | 0x42000800, 0x00000002, 0x42001000, 0x0000dc00, | ||
| 7569 | 0x0401f320, 0x0401ff2d, 0x4a01a006, 0x02000000, | ||
| 7570 | 0x59c40085, 0x48031004, 0x59880000, 0x4801a007, | ||
| 7571 | 0x59880001, 0x4801a008, 0x59880002, 0x4801a009, | ||
| 7572 | 0x59880003, 0x4801a00a, 0x59880004, 0x4801a00b, | ||
| 7573 | 0x59880005, 0x4801a00c, 0x42000800, 0x00000007, | ||
| 7574 | 0x42001000, 0x0000dc00, 0x0401f30a, 0x4a026202, | ||
| 7575 | 0x0000ffff, 0x0401ff07, 0x4a01a006, 0x62000000, | ||
| 7576 | 0x5930001c, 0x4801a007, 0x42000800, 0x00000002, | ||
| 7577 | 0x42001000, 0x0000dc00, 0x0401f2fe, 0x0401fefd, | ||
| 7578 | 0x59300808, 0x4c500000, 0x4c540000, 0x4c580000, | ||
| 7579 | 0x8204a400, 0x0000000a, 0x5930b01c, 0x82d0ac00, | ||
| 7580 | 0x00000006, 0x0201f800, 0x0010ab17, 0x5930081c, | ||
| 7581 | 0x42001000, 0x0000dc00, 0x5c00b000, 0x5c00a800, | ||
| 7582 | 0x5c00a000, 0x0401f2eb, 0x0401ff9b, 0x59300017, | ||
| 7583 | 0x4801a006, 0x59300018, 0x4801a007, 0x4a01a008, | ||
| 7584 | 0x00001000, 0x0401f020, 0x0401ff93, 0x59300017, | ||
| 7585 | 0x4801a006, 0x59300018, 0x4801a007, 0x4a01a008, | ||
| 7586 | 0x00004000, 0x0401f018, 0x0401ff8b, 0x59300017, | ||
| 7587 | 0x4801a006, 0x59300018, 0x4801a007, 0x4a01a008, | ||
| 7588 | 0x00002000, 0x0401f010, 0x0401ff83, 0x59300017, | ||
| 7589 | 0x4801a006, 0x59300018, 0x4801a007, 0x4a01a008, | ||
| 7590 | 0x00000400, 0x0401f008, 0x0401ff7b, 0x59300017, | ||
| 7591 | 0x4801a006, 0x59300018, 0x4801a007, 0x4a01a008, | ||
| 7592 | 0x00000200, 0x4979a009, 0x4979a00a, 0x4979a00b, | ||
| 7593 | 0x4979a00c, 0x4979a00d, 0x42000800, 0x00000008, | ||
| 7594 | 0x42001000, 0x0000dc00, 0x0401f2ba, 0x0401fec7, | ||
| 7595 | 0x4a01a006, 0x02000014, 0x4979a407, 0x4979a207, | ||
| 7596 | 0x59a8003a, 0x4801a008, 0x59a8003b, 0x4801a009, | ||
| 7597 | 0x4a01a00a, 0x00047878, 0x42000800, 0x00000005, | ||
| 7598 | 0x42001000, 0x0000dc00, 0x0401f2aa, 0x0401feb7, | ||
| 7599 | 0x4a01a006, 0x02140018, 0x4a01a407, 0x00000800, | ||
| 7600 | 0x5930001c, 0x82000d00, 0xff000000, 0x900409c0, | ||
| 7601 | 0x4805a207, 0x82000500, 0x00ffffff, 0x4801a00a, | ||
| 7602 | 0x4979a408, 0x4979a208, 0x4979a409, 0x4979a209, | ||
| 7603 | 0x4979a00b, 0x42000800, 0x00000006, 0x42001000, | ||
| 7604 | 0x0000dc00, 0x0401f293, 0x4803c856, 0x4d380000, | ||
| 7605 | 0x4d1c0000, 0x42027000, 0x00000035, 0x0201f800, | ||
| 7606 | 0x001093ba, 0x0402001e, 0x0401fe8a, 0x4a01a006, | ||
| 7607 | 0x13000000, 0x5932381e, 0x591c0019, 0x4801a005, | ||
| 7608 | 0x591c0406, 0x82000580, 0x00000003, 0x04000007, | ||
| 7609 | 0x59300809, 0x58040002, 0x82000500, 0x00ffffff, | ||
| 7610 | 0x4801a007, 0x0401f003, 0x59a80010, 0x4801a007, | ||
| 7611 | 0x59300419, 0x4801a408, 0x59300219, 0x4801a208, | ||
| 7612 | 0x42000800, 0x00000003, 0x42001000, 0x0000dc00, | ||
| 7613 | 0x5c023800, 0x5c027000, 0x0401f26e, 0x0201f800, | ||
| 7614 | 0x00106c55, 0x598c000d, 0x81300580, 0x02020800, | ||
| 7615 | 0x001005d8, 0x0201f800, 0x00106bbf, 0x0201f800, | ||
| 7616 | 0x0002077d, 0x5c023800, 0x5c027000, 0x0201f000, | ||
| 7617 | 0x00106c4b, 0x4803c856, 0x4d2c0000, 0x4d1c0000, | ||
| 7618 | 0x5932381e, 0x811e39c0, 0x02000800, 0x001005d8, | ||
| 7619 | 0x591c0c06, 0x82040580, 0x00000006, 0x0400000d, | ||
| 7620 | 0x82040580, 0x00000003, 0x04000036, 0x4a026403, | ||
| 7621 | 0x00000037, 0x4a02641a, 0x00000003, 0x4a02621a, | ||
| 7622 | 0x00001700, 0x5c023800, 0x5c025800, 0x0401f064, | ||
| 7623 | 0x0401f84b, 0x42001000, 0x40000000, 0x591c0203, | ||
| 7624 | 0x591c0804, 0x8c040d3e, 0x04020023, 0x82000c80, | ||
| 7625 | 0x0000000e, 0x0c001003, 0x0201f800, 0x001005d8, | ||
| 7626 | 0x00107691, 0x0010769d, 0x00107693, 0x0010769d, | ||
| 7627 | 0x00107699, 0x00107691, 0x00107691, 0x0010769d, | ||
| 7628 | 0x0010769d, 0x00107691, 0x00107691, 0x00107691, | ||
| 7629 | 0x00107691, 0x00107691, 0x0010769d, 0x00107691, | ||
| 7630 | 0x0010769d, 0x0201f800, 0x001005d8, 0x591c0414, | ||
| 7631 | 0x4803c857, 0x8c000518, 0x04000003, 0x8c000512, | ||
| 7632 | 0x04000003, 0x80001580, 0x0401f003, 0x42001000, | ||
| 7633 | 0x20000000, 0x591c0015, 0x4801a00a, 0x0401f018, | ||
| 7634 | 0x0401f81f, 0x591e5808, 0x812e59c0, 0x02000800, | ||
| 7635 | 0x001005d8, 0x592c100f, 0x591c0011, 0x80080480, | ||
| 7636 | 0x4801a00a, 0x591c0203, 0x591c0804, 0x8c040d3e, | ||
| 7637 | 0x04020007, 0x82000d80, 0x00000002, 0x04000007, | ||
| 7638 | 0x82000d80, 0x00000004, 0x04000004, 0x42001000, | ||
| 7639 | 0x40000000, 0x0401f002, 0x80001580, 0x4809a00b, | ||
| 7640 | 0x42000800, 0x00000006, 0x42001000, 0x0000dc00, | ||
| 7641 | 0x5c023800, 0x5c025800, 0x0401f1fe, 0x4803c856, | ||
| 7642 | 0x0401fe0a, 0x4a01a006, 0x02000000, 0x59300c19, | ||
| 7643 | 0x4805a407, 0x59300a19, 0x4805a207, 0x59a81010, | ||
| 7644 | 0x59300809, 0x58041802, 0x820c1d00, 0x00ffffff, | ||
| 7645 | 0x5930081e, 0x58040406, 0x82000580, 0x00000003, | ||
| 7646 | 0x04020004, 0x4809a008, 0x480da009, 0x0401f003, | ||
| 7647 | 0x480da008, 0x4809a009, 0x1c01f000, 0x4803c856, | ||
| 7648 | 0x0401fdf2, 0x0401f003, 0x4803c856, 0x0401fde8, | ||
| 7649 | 0x4a01a006, 0x01000000, 0x5930041a, 0x4801a407, | ||
| 7650 | 0x5930021a, 0x4801a207, 0x42000800, 0x00000002, | ||
| 7651 | 0x42001000, 0x0000dc00, 0x0401f1d6, 0x4803c856, | ||
| 7652 | 0x4d1c0000, 0x0401fdcc, 0x4a01a006, 0x14000000, | ||
| 7653 | 0x5932381e, 0x591c0019, 0x4801a005, 0x59300419, | ||
| 7654 | 0x4801a407, 0x59300219, 0x4801a207, 0x59300015, | ||
| 7655 | 0x4801a008, 0x59300216, 0x82000500, 0x000000ff, | ||
| 7656 | 0x840001c0, 0x4801a409, 0x42000800, 0x00000004, | ||
| 7657 | 0x42001000, 0x0000dc00, 0x5c023800, 0x0401f1bd, | ||
| 7658 | 0x4803c856, 0x0401f80b, 0x5930041a, 0x900001c0, | ||
| 7659 | 0x4801a005, 0x0401f9ec, 0x41780800, 0x42001000, | ||
| 7660 | 0x00005c00, 0x0401f9b3, 0x0201f000, 0x0010604d, | ||
| 7661 | 0x4803c856, 0x59300817, 0x82041c00, 0x00000005, | ||
| 7662 | 0x46034800, 0x00000021, 0x58040404, 0x82000500, | ||
| 7663 | 0x0000f000, 0x82000580, 0x00003000, 0x04000003, | ||
| 7664 | 0x46034800, 0x00000041, 0x81a5a000, 0x580c0001, | ||
| 7665 | 0x82000d00, 0x00ffffff, 0x82040d40, 0xc2000000, | ||
| 7666 | 0x4805a000, 0x580c0800, 0x82041500, 0x00ffffff, | ||
| 7667 | 0x82000500, 0xff000000, 0x80080540, 0x4801a001, | ||
| 7668 | 0x580c0002, 0x82000580, 0x00c00000, 0x82000500, | ||
| 7669 | 0x00fd0300, 0x4801a002, 0x580c0003, 0x4801a003, | ||
| 7670 | 0x580c0404, 0x4801a404, 0x580c0204, 0x4801a204, | ||
| 7671 | 0x1c01f000, 0x4803c856, 0x59a80026, 0x82000500, | ||
| 7672 | 0x00000028, 0x04020009, 0x59a80026, 0x82000500, | ||
| 7673 | 0x00000028, 0x04000003, 0x497a6a12, 0x0401f003, | ||
| 7674 | 0x4a026a12, 0x0000ff00, 0x42005000, 0x22000000, | ||
| 7675 | 0x42006000, 0x01380000, 0x41786800, 0x41787800, | ||
| 7676 | 0x0401f952, 0x59301008, 0x4a01a006, 0x54000000, | ||
| 7677 | 0x59a80010, 0x82000500, 0x00ffffff, 0x58080c0a, | ||
| 7678 | 0x800408f0, 0x80040540, 0x4801a007, 0x5808000a, | ||
| 7679 | 0x82000500, 0xff000000, 0x4801a008, 0x59a80002, | ||
| 7680 | 0x4801a009, 0x59a80003, 0x4801a00a, 0x59a80000, | ||
| 7681 | 0x4801a00b, 0x59a80001, 0x4801a00c, 0x5808000c, | ||
| 7682 | 0x9c0001c0, 0x4801a00d, 0x5808000d, 0x9c0001c0, | ||
| 7683 | 0x4801a00e, 0x5808000e, 0x9c0001c0, 0x4801a00f, | ||
| 7684 | 0x5808000f, 0x9c0001c0, 0x4801a010, 0x58080010, | ||
| 7685 | 0x9c0001c0, 0x4801a011, 0x58080011, 0x9c0001c0, | ||
| 7686 | 0x4801a012, 0x58080012, 0x9c0001c0, 0x4801a013, | ||
| 7687 | 0x58080013, 0x9c0001c0, 0x4801a014, 0x58080010, | ||
| 7688 | 0x9c0001c0, 0x4801a015, 0x58080011, 0x9c0001c0, | ||
| 7689 | 0x4801a016, 0x58080012, 0x9c0001c0, 0x4801a017, | ||
| 7690 | 0x58080013, 0x9c0001c0, 0x4801a018, 0x42000800, | ||
| 7691 | 0x00000013, 0x42001000, 0x0000dc00, 0x0401f135, | ||
| 7692 | 0x4803c856, 0x42005000, 0x22000000, 0x42006000, | ||
| 7693 | 0x01290000, 0x41786800, 0x41787800, 0x0401f90b, | ||
| 7694 | 0x59301008, 0x4a01a006, 0x55000000, 0x5808000b, | ||
| 7695 | 0x82000500, 0x00ffffff, 0x58080c0a, 0x800408f0, | ||
| 7696 | 0x80040540, 0x4801a007, 0x5808080a, 0x82040d00, | ||
| 7697 | 0xff000000, 0x59a80010, 0x82000500, 0x00ffffff, | ||
| 7698 | 0x80040540, 0x4801a008, 0x5808000c, 0x9c0001c0, | ||
| 7699 | 0x4801a009, 0x5808000d, 0x9c0001c0, 0x4801a00a, | ||
| 7700 | 0x5808000e, 0x9c0001c0, 0x4801a00b, 0x5808000f, | ||
| 7701 | 0x9c0001c0, 0x4801a00c, 0x59a80002, 0x4801a00d, | ||
| 7702 | 0x59a80003, 0x4801a00e, 0x59a80000, 0x4801a00f, | ||
| 7703 | 0x59a80001, 0x4801a010, 0x58080010, 0x4801a011, | ||
| 7704 | 0x58080011, 0x4801a012, 0x58080012, 0x4801a013, | ||
| 7705 | 0x58080013, 0x4801a014, 0x4979a015, 0x4979a016, | ||
| 7706 | 0x4979a017, 0x4979a018, 0x42000800, 0x00000013, | ||
| 7707 | 0x42001000, 0x0000dc00, 0x0401f0f6, 0x0401fd03, | ||
| 7708 | 0x5930001c, 0x800001c0, 0x04000008, 0x4a01a006, | ||
| 7709 | 0x01000000, 0x4a01a407, 0x00000003, 0x42000800, | ||
| 7710 | 0x00000002, 0x0401f028, 0x4a01a006, 0x02000000, | ||
| 7711 | 0x41780800, 0x836c0580, 0x00000004, 0x04020003, | ||
| 7712 | 0x84040d42, 0x0401f00d, 0x0201f800, 0x0010513b, | ||
| 7713 | 0x04020003, 0x84040d4a, 0x0401f002, 0x84040d48, | ||
| 7714 | 0x59a80026, 0x8c000506, 0x04020003, 0x8c00050a, | ||
| 7715 | 0x04000002, 0x84040d46, 0x4805a207, 0x59c40085, | ||
| 7716 | 0x48031004, 0x4c580000, 0x4c500000, 0x4c540000, | ||
| 7717 | 0x4200b000, 0x00000006, 0x8388a400, 0x00000000, | ||
| 7718 | 0x82d0ac00, 0x00000008, 0x0201f800, 0x0010ab17, | ||
| 7719 | 0x5c00a800, 0x5c00a000, 0x5c00b000, 0x42000800, | ||
| 7720 | 0x00000008, 0x42001000, 0x0000dc00, 0x0401f0c1, | ||
| 7721 | 0x0401fcc0, 0x4a01a006, 0x56000000, 0x59340006, | ||
| 7722 | 0x4801a007, 0x59340007, 0x4801a008, 0x42000800, | ||
| 7723 | 0x00000003, 0x42001000, 0x0000dc00, 0x0401f0b5, | ||
| 7724 | 0x4803c856, 0x0401fcc1, 0x5930081c, 0x800409c0, | ||
| 7725 | 0x0400000e, 0x82040580, 0x0000ffff, 0x04000004, | ||
| 7726 | 0x82040480, 0x00000007, 0x04021008, 0x4a01a006, | ||
| 7727 | 0x01000000, 0x4a01a407, 0x00000003, 0x42000800, | ||
| 7728 | 0x00000002, 0x0401f012, 0x4a01a006, 0x0200001c, | ||
| 7729 | 0x4a01a007, 0x00000001, 0x42001000, 0x0010b4f0, | ||
| 7730 | 0x50080000, 0x9c0001c0, 0x4801a009, 0x59a80010, | ||
| 7731 | 0x4801a00a, 0x59a80002, 0x59a80803, 0x4801a00b, | ||
| 7732 | 0x4805a00c, 0x42000800, 0x00000007, 0x42001000, | ||
| 7733 | 0x0000dc00, 0x0401f08f, 0x4d2c0000, 0x0401fc8d, | ||
| 7734 | 0x59325808, 0x592c0008, 0x82000500, 0x00ffffff, | ||
| 7735 | 0x4801a001, 0x4a01a006, 0x51000000, 0x5c025800, | ||
| 7736 | 0x0201f000, 0x00107344, 0x4803c856, 0x59a80810, | ||
| 7737 | 0x82040d00, 0x000000ff, 0x59325808, 0x59326809, | ||
| 7738 | 0x59a83026, 0x8c18350a, 0x04020008, 0x8c00050e, | ||
| 7739 | 0x04020006, 0x80001d80, 0x59a82010, 0x82102500, | ||
| 7740 | 0x000000ff, 0x0401f001, 0x59300406, 0x4803c857, | ||
| 7741 | 0x82000d80, 0x00000009, 0x04000006, 0x82000d80, | ||
| 7742 | 0x0000000a, 0x0400002e, 0x0201f800, 0x001005d8, | ||
| 7743 | 0x59300015, 0x8c00051e, 0x04020020, 0x42005000, | ||
| 7744 | 0x04000000, 0x42006000, 0x05000000, 0x592c040a, | ||
| 7745 | 0x82000500, 0x00000030, 0x800000e0, 0x80306540, | ||
| 7746 | 0x5934000a, 0x8c000508, 0x04000002, 0x84306546, | ||
| 7747 | 0x41786800, 0x41787800, 0x0401f831, 0x59300c14, | ||
| 7748 | 0x80040000, 0x48026414, 0x40040000, 0x800000d0, | ||
| 7749 | 0x82000540, 0x00000020, 0x4801a403, 0x83180d40, | ||
| 7750 | 0x00000038, 0x42001000, 0x0000c920, 0x0401f860, | ||
| 7751 | 0x0201f000, 0x00106052, 0x59a80026, 0x82000500, | ||
| 7752 | 0x00000028, 0x04000003, 0x497a6a12, 0x0401f7dc, | ||
| 7753 | 0x4a026a12, 0x0000ff00, 0x0401f7d9, 0x42005000, | ||
| 7754 | 0x02000000, 0x42006000, 0x20290000, 0x41786800, | ||
| 7755 | 0x41787800, 0x0401f812, 0x83180d40, 0x00000038, | ||
| 7756 | 0x42001000, 0x0000c9a0, 0x0401f849, 0x42000800, | ||
| 7757 | 0x000007d0, 0x59300011, 0x82000500, 0xfff00000, | ||
| 7758 | 0x80000540, 0x04000003, 0x42000800, 0x00001b58, | ||
| 7759 | 0x41781000, 0x0201f000, 0x00106054, 0x4201a000, | ||
| 7760 | 0x00000000, 0x0401f003, 0x4201a000, 0x00000011, | ||
| 7761 | 0x59340a12, 0x82040d00, 0x0000ff00, 0x59a80010, | ||
| 7762 | 0x82000500, 0x000000ff, 0x900001c0, 0x80040540, | ||
| 7763 | 0x80d00540, 0x44034800, 0x81a5a000, 0x59340002, | ||
| 7764 | 0x82000500, 0x00ffffff, 0x80280540, 0x4801a000, | ||
| 7765 | 0x59a80010, 0x4801a001, 0x4831a002, 0x82340540, | ||
| 7766 | 0x00000000, 0x4801a003, 0x59300402, 0x4801a404, | ||
| 7767 | 0x59300a02, 0x4805a204, 0x8c30652e, 0x04000003, | ||
| 7768 | 0x4805a404, 0x4801a204, 0x483da005, 0x1c01f000, | ||
| 7769 | 0x4803c856, 0x4c040000, 0x0401f822, 0x5c000800, | ||
| 7770 | 0x40040000, 0x80081540, 0x800000c4, 0x82000540, | ||
| 7771 | 0x00002000, 0x4803910a, 0x59b400f6, 0x82000500, | ||
| 7772 | 0x00000018, 0x040207fd, 0x4a0368f0, 0x0010b544, | ||
| 7773 | 0x4a0368f1, 0x0010b54b, 0x480b68f3, 0x4a0378e4, | ||
| 7774 | 0x00008000, 0x0201f000, 0x0010604d, 0x4807c857, | ||
| 7775 | 0x480a2800, 0x4c040000, 0x0401f80a, 0x5c000800, | ||
| 7776 | 0x59b400f6, 0x8c00050a, 0x040207fe, 0x49a768f2, | ||
| 7777 | 0x480768f4, 0x4a0378e4, 0x00008000, 0x1c01f000, | ||
| 7778 | 0x4a0378e4, 0x0000c000, 0x59bc00e4, 0x8c000520, | ||
| 7779 | 0x0400000c, 0x4a0378e4, 0x00008000, 0x42007000, | ||
| 7780 | 0x000003e8, 0x59bc00e4, 0x8c000520, 0x040007f5, | ||
| 7781 | 0x80387040, 0x02000800, 0x001005d8, 0x0401f7fa, | ||
| 7782 | 0x1c01f000, 0x82000500, 0xffff0000, 0x82000580, | ||
| 7783 | 0x01050000, 0x0402000d, 0x599c0818, 0x8c040d10, | ||
| 7784 | 0x0400000a, 0x59a80807, 0x8c040d0a, 0x04000007, | ||
| 7785 | 0x42001000, 0x0000804f, 0x41781800, 0x41782000, | ||
| 7786 | 0x0201f800, 0x00103a3e, 0x1c01f000, 0x41781000, | ||
| 7787 | 0x42026000, 0x0010d1c0, 0x59a8180e, 0x480a6402, | ||
| 7788 | 0x4a026202, 0x0000ffff, 0x80081000, 0x800c1840, | ||
| 7789 | 0x04000004, 0x83326400, 0x00000024, 0x0401f7f8, | ||
| 7790 | 0x1c01f000, 0x4933c857, 0x59300203, 0x82000580, | ||
| 7791 | 0x00000000, 0x0400002c, 0x59300406, 0x4803c857, | ||
| 7792 | 0x82000d80, 0x00000004, 0x04000011, 0x82000d80, | ||
| 7793 | 0x00000001, 0x0400000e, 0x82000d80, 0x00000003, | ||
| 7794 | 0x04000006, 0x82000d80, 0x00000006, 0x04020011, | ||
| 7795 | 0x0201f800, 0x0010a5df, 0x5930001c, 0x800001c0, | ||
| 7796 | 0x02020800, 0x0010984e, 0x0401f00a, 0x5930081e, | ||
| 7797 | 0x4807c857, 0x800409c0, 0x04000006, 0x5804001c, | ||
| 7798 | 0x4803c857, 0x81300580, 0x04020002, 0x4978081c, | ||
| 7799 | 0x497a6008, 0x4a026004, 0x00004000, 0x59a80037, | ||
| 7800 | 0x82000c80, 0x00000051, 0x04001002, 0x80000102, | ||
| 7801 | 0x48026206, 0x497a6205, 0x497a6009, 0x4a026406, | ||
| 7802 | 0x00000007, 0x1c01f000, 0x8166c9c0, 0x0400001c, | ||
| 7803 | 0x41626000, 0x41580000, 0x59300a03, 0x82040d80, | ||
| 7804 | 0x00000000, 0x04000008, 0x83326400, 0x00000024, | ||
| 7805 | 0x81300c80, 0x040017f9, 0x42026000, 0x0010d1c0, | ||
| 7806 | 0x0401f7f6, 0x4933c857, 0x8166c840, 0x83300c00, | ||
| 7807 | 0x00000024, 0x80040480, 0x04021006, 0x4006c000, | ||
| 7808 | 0x4a026203, 0x00000008, 0x813261c0, 0x1c01f000, | ||
| 7809 | 0x4202c000, 0x0010d1c0, 0x0401f7fa, 0x42000000, | ||
| 7810 | 0x0010b854, 0x0201f800, 0x0010aa47, 0x4933c856, | ||
| 7811 | 0x417a6000, 0x0401f7f5, 0x4933c857, 0x83380580, | ||
| 7812 | 0x00000013, 0x0402000b, 0x59300004, 0x8c00053e, | ||
| 7813 | 0x04000007, 0x0201f800, 0x00106c55, 0x0201f800, | ||
| 7814 | 0x00106bbf, 0x0201f800, 0x00106c4b, 0x1c01f000, | ||
| 7815 | 0x4933c857, 0x59880052, 0x80000000, 0x48031052, | ||
| 7816 | 0x1c01f000, 0x4933c857, 0x59300203, 0x82003480, | ||
| 7817 | 0x0000000e, 0x02021800, 0x001005d8, 0x4d2c0000, | ||
| 7818 | 0x0c01f803, 0x5c025800, 0x1c01f000, 0x00107991, | ||
| 7819 | 0x00107efd, 0x0010804a, 0x00107991, 0x001080b0, | ||
| 7820 | 0x00107af5, 0x00107991, 0x00107991, 0x00107e93, | ||
| 7821 | 0x00107991, 0x00107991, 0x00107991, 0x00107991, | ||
| 7822 | 0x00107991, 0x0201f800, 0x001005d8, 0x4933c857, | ||
| 7823 | 0x59300203, 0x82003480, 0x0000000e, 0x02021800, | ||
| 7824 | 0x001005d8, 0x0c01f001, 0x001079a8, 0x00108a3d, | ||
| 7825 | 0x001079a8, 0x001079a8, 0x001079a8, 0x001079a8, | ||
| 7826 | 0x001079a8, 0x001079a8, 0x001089e5, 0x00108a58, | ||
| 7827 | 0x00108ac6, 0x00108a58, 0x00108ac6, 0x001079a8, | ||
| 7828 | 0x0201f800, 0x001005d8, 0x0201f800, 0x001005d8, | ||
| 7829 | 0x4933c857, 0x4d2c0000, 0x59325808, 0x59300203, | ||
| 7830 | 0x82003480, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 7831 | 0x0c01f803, 0x5c025800, 0x1c01f000, 0x001079c5, | ||
| 7832 | 0x001079c5, 0x001079c5, 0x001079e1, 0x00107a2d, | ||
| 7833 | 0x001079c5, 0x001079c5, 0x001079c5, 0x001079c7, | ||
| 7834 | 0x001079c5, 0x001079c5, 0x001079c5, 0x001079c5, | ||
| 7835 | 0x001079c5, 0x0201f800, 0x001005d8, 0x4933c857, | ||
| 7836 | 0x83380580, 0x00000040, 0x02020800, 0x001005d8, | ||
| 7837 | 0x4a026007, 0x00082000, 0x4a026203, 0x00000003, | ||
| 7838 | 0x493a6403, 0x4a025c08, 0x00000001, 0x592c000d, | ||
| 7839 | 0x48026011, 0x497a6013, 0x592c0208, 0x800000c2, | ||
| 7840 | 0x800010c4, 0x80081400, 0x480a6206, 0x0201f800, | ||
| 7841 | 0x00100f4e, 0x42000800, 0x80000060, 0x0201f000, | ||
| 7842 | 0x00106721, 0x4933c857, 0x83380480, 0x00000050, | ||
| 7843 | 0x02021800, 0x001005d8, 0x83380480, 0x00000049, | ||
| 7844 | 0x02001800, 0x001005d8, 0x0c01f001, 0x001079f4, | ||
| 7845 | 0x001079ff, 0x001079f2, 0x001079f2, 0x001079f2, | ||
| 7846 | 0x001079f2, 0x00107a0a, 0x0201f800, 0x001005d8, | ||
| 7847 | 0x4a026203, 0x00000004, 0x4a025c08, 0x00000002, | ||
| 7848 | 0x592c0207, 0x48025c09, 0x592c0209, 0x48025a07, | ||
| 7849 | 0x592c000c, 0x4802580d, 0x1c01f000, 0x0201f800, | ||
| 7850 | 0x00106b8a, 0x0201f800, 0x00109037, 0x04000005, | ||
| 7851 | 0x4a025a06, 0x00000006, 0x0201f800, 0x000202da, | ||
| 7852 | 0x0201f000, 0x0002077d, 0x0201f800, 0x00106b8a, | ||
| 7853 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 7854 | 0x5c027800, 0x42003000, 0x00000014, 0x41782800, | ||
| 7855 | 0x42002000, 0x00000002, 0x4d400000, 0x4d440000, | ||
| 7856 | 0x59368c03, 0x42028000, 0x00000029, 0x0201f800, | ||
| 7857 | 0x0010985e, 0x5c028800, 0x5c028000, 0x42000000, | ||
| 7858 | 0x0010b864, 0x0201f800, 0x0010aa47, 0x0201f800, | ||
| 7859 | 0x00109037, 0x02000000, 0x0002077d, 0x4a025a06, | ||
| 7860 | 0x00000029, 0x0201f800, 0x000202da, 0x0201f000, | ||
| 7861 | 0x0002077d, 0x4933c857, 0x83380580, 0x00000048, | ||
| 7862 | 0x04000005, 0x83380580, 0x00000053, 0x02020800, | ||
| 7863 | 0x001005d8, 0x592c0206, 0x82000580, 0x00000007, | ||
| 7864 | 0x04000009, 0x59300011, 0x80000540, 0x04000006, | ||
| 7865 | 0x592c080c, 0x80040480, 0x4802580c, 0x4a025a06, | ||
| 7866 | 0x00000015, 0x592c0206, 0x80000540, 0x04020003, | ||
| 7867 | 0x4a025a06, 0x00000000, 0x0201f800, 0x000202da, | ||
| 7868 | 0x0201f000, 0x0002077d, 0x4933c857, 0x4d2c0000, | ||
| 7869 | 0x4c500000, 0x4c540000, 0x4c580000, 0x0201f800, | ||
| 7870 | 0x001007e4, 0x02000800, 0x001005d8, 0x497a5a06, | ||
| 7871 | 0x59c80017, 0x82000500, 0x0000f000, 0x48025c07, | ||
| 7872 | 0x59a80816, 0x82040c00, 0x00000018, 0x48065a07, | ||
| 7873 | 0x412c7800, 0x4d2c0000, 0x41cca000, 0x42002800, | ||
| 7874 | 0x00000001, 0x42001000, 0x0000002c, 0x82040480, | ||
| 7875 | 0x0000002d, 0x04021006, 0x832cac00, 0x00000009, | ||
| 7876 | 0x0201f800, 0x00108b96, 0x0401f02e, 0x40043000, | ||
| 7877 | 0x42000800, 0x0000002c, 0x832cac00, 0x00000009, | ||
| 7878 | 0x0201f800, 0x00108b96, 0x82183480, 0x0000002c, | ||
| 7879 | 0x0201f800, 0x001007e4, 0x0400001a, 0x80142800, | ||
| 7880 | 0x4a025804, 0x00000110, 0x492c7801, 0x82180c80, | ||
| 7881 | 0x0000003d, 0x04021007, 0x40180800, 0x832cac00, | ||
| 7882 | 0x00000005, 0x0201f800, 0x00108b96, 0x0401f015, | ||
| 7883 | 0x82081400, 0x0000003c, 0x82183480, 0x0000003c, | ||
| 7884 | 0x42000800, 0x0000003c, 0x412c7800, 0x832cac00, | ||
| 7885 | 0x00000005, 0x0201f800, 0x00108b96, 0x0401f7e5, | ||
| 7886 | 0x5c025800, 0x592c0206, 0x8400055e, 0x48025a06, | ||
| 7887 | 0x592c0407, 0x80080540, 0x48025c07, 0x0401f002, | ||
| 7888 | 0x5c025800, 0x813669c0, 0x04000003, 0x59343403, | ||
| 7889 | 0x0401f003, 0x42003000, 0x0000ffff, 0x49325808, | ||
| 7890 | 0x481a5c06, 0x82100580, 0x00000054, 0x04020002, | ||
| 7891 | 0x491e5813, 0x841401c0, 0x80100540, 0x48025804, | ||
| 7892 | 0x592c0001, 0x497a5801, 0x4c000000, 0x0201f800, | ||
| 7893 | 0x000202da, 0x5c025800, 0x812e59c0, 0x040207f9, | ||
| 7894 | 0x5c00b000, 0x5c00a800, 0x5c00a000, 0x5c025800, | ||
| 7895 | 0x1c01f000, 0x4803c856, 0x4c5c0000, 0x4d2c0000, | ||
| 7896 | 0x4c500000, 0x4c540000, 0x4c580000, 0x412cb800, | ||
| 7897 | 0x592c040b, 0x8c000516, 0x04000003, 0x41cca000, | ||
| 7898 | 0x0401f003, 0x83cca400, 0x00000006, 0x4008b000, | ||
| 7899 | 0x41781000, 0x82580480, 0x00000012, 0x04001004, | ||
| 7900 | 0x4200b000, 0x00000012, 0x40001000, 0x4c080000, | ||
| 7901 | 0x4d2c0000, 0x0201f800, 0x001007e4, 0x04000023, | ||
| 7902 | 0x5c001800, 0x492c1801, 0x485a5800, 0x832cac00, | ||
| 7903 | 0x00000002, 0x0201f800, 0x0010ab28, 0x585c040b, | ||
| 7904 | 0x8c000500, 0x0400000e, 0x832c1400, 0x00000002, | ||
| 7905 | 0x8c000516, 0x04000003, 0x82081400, 0x00000006, | ||
| 7906 | 0x46001000, 0x00000001, 0x80081000, 0x46001000, | ||
| 7907 | 0x00000900, 0x84000500, 0x4800bc0b, 0x5c001000, | ||
| 7908 | 0x800811c0, 0x040207da, 0x82000540, 0x00000001, | ||
| 7909 | 0x5c00b000, 0x5c00a800, 0x5c00a000, 0x5c025800, | ||
| 7910 | 0x5c00b800, 0x1c01f000, 0x5c025800, 0x5c001000, | ||
| 7911 | 0x0401f7f8, 0x4933c857, 0x83380d80, 0x00000015, | ||
| 7912 | 0x04020003, 0x0201f000, 0x0002077d, 0x83380d80, | ||
| 7913 | 0x00000016, 0x02020800, 0x001005d8, 0x0201f000, | ||
| 7914 | 0x0002077d, 0x4933c857, 0x4d2c0000, 0x4c500000, | ||
| 7915 | 0x4c540000, 0x4c580000, 0x59325808, 0x83cca400, | ||
| 7916 | 0x00000006, 0x59cc1806, 0x820c0580, 0x01000000, | ||
| 7917 | 0x04020004, 0x4200b000, 0x00000002, 0x0401f00f, | ||
| 7918 | 0x4200b000, 0x00000008, 0x832cac00, 0x00000005, | ||
| 7919 | 0x0201f800, 0x0010ab17, 0x8c0c1d00, 0x0400000b, | ||
| 7920 | 0x4200b000, 0x00000008, 0x592e5801, 0x812e59c0, | ||
| 7921 | 0x02000800, 0x001005d8, 0x832cac00, 0x00000005, | ||
| 7922 | 0x0201f800, 0x0010ab17, 0x0401f816, 0x5c00b000, | ||
| 7923 | 0x5c00a800, 0x5c00a000, 0x5c025800, 0x1c01f000, | ||
| 7924 | 0x4933c857, 0x4c500000, 0x4c540000, 0x4c580000, | ||
| 7925 | 0x83cca400, 0x00000006, 0x5930a808, 0x8254ac00, | ||
| 7926 | 0x00000005, 0x4200b000, 0x00000007, 0x0201f800, | ||
| 7927 | 0x0010ab17, 0x5c00b000, 0x5c00a800, 0x5c00a000, | ||
| 7928 | 0x4933c857, 0x0201f800, 0x00109037, 0x02000000, | ||
| 7929 | 0x0002077d, 0x4d2c0000, 0x0201f800, 0x00109597, | ||
| 7930 | 0x0402000b, 0x41780800, 0x4d400000, 0x42028000, | ||
| 7931 | 0x00000000, 0x0201f800, 0x0010943b, 0x5c028000, | ||
| 7932 | 0x5c025800, 0x0201f000, 0x0002077d, 0x5931d821, | ||
| 7933 | 0x58ef400b, 0x58ee580d, 0x4a025a04, 0x00000103, | ||
| 7934 | 0x58ec0009, 0x0801f800, 0x5c025800, 0x0201f000, | ||
| 7935 | 0x0002077d, 0x4933c857, 0x59cc1806, 0x820c0580, | ||
| 7936 | 0x02000000, 0x04020014, 0x4a026802, 0x00fffffd, | ||
| 7937 | 0x5934000a, 0x84000504, 0x4802680a, 0x59300808, | ||
| 7938 | 0x800409c0, 0x02000000, 0x0002077d, 0x4a000a04, | ||
| 7939 | 0x00000103, 0x480c0805, 0x5931d821, 0x58ef400b, | ||
| 7940 | 0x58ee580d, 0x58ec0009, 0x0801f800, 0x0201f000, | ||
| 7941 | 0x0002077d, 0x42000000, 0x0010b86c, 0x0201f800, | ||
| 7942 | 0x0010aa47, 0x4c0c0000, 0x0401f804, 0x5c001800, | ||
| 7943 | 0x040207eb, 0x1c01f000, 0x4933c857, 0x4d2c0000, | ||
| 7944 | 0x59325808, 0x812e59c0, 0x04020009, 0x497a6206, | ||
| 7945 | 0x497a6205, 0x4d380000, 0x42027000, 0x00000022, | ||
| 7946 | 0x0401fb77, 0x5c027000, 0x80000580, 0x5c025800, | ||
| 7947 | 0x1c01f000, 0x4933c857, 0x4d2c0000, 0x4c500000, | ||
| 7948 | 0x4c540000, 0x4c580000, 0x59325808, 0x592e5801, | ||
| 7949 | 0x832cac00, 0x00000005, 0x83cca400, 0x00000006, | ||
| 7950 | 0x59c80817, 0x82040d00, 0x000003ff, 0x82041480, | ||
| 7951 | 0x0000000f, 0x0400101b, 0x4200b000, 0x0000000f, | ||
| 7952 | 0x0201f800, 0x0010ab17, 0x592e5801, 0x832cac00, | ||
| 7953 | 0x00000005, 0x82080c80, 0x0000000f, 0x0400100d, | ||
| 7954 | 0x4200b000, 0x0000000f, 0x0201f800, 0x0010ab17, | ||
| 7955 | 0x592e5801, 0x832cac00, 0x00000005, 0x82041480, | ||
| 7956 | 0x0000000f, 0x04001007, 0x42001000, 0x0000000f, | ||
| 7957 | 0x4008b000, 0x0201f800, 0x0010ab17, 0x0401f004, | ||
| 7958 | 0x4004b000, 0x0201f800, 0x0010ab17, 0x5931d821, | ||
| 7959 | 0x58ef400b, 0x58ee580d, 0x4a025a04, 0x00000103, | ||
| 7960 | 0x592e5801, 0x58ec0009, 0x0801f800, 0x0201f800, | ||
| 7961 | 0x0002077d, 0x5c00b000, 0x5c00a800, 0x5c00a000, | ||
| 7962 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x4d2c0000, | ||
| 7963 | 0x4c500000, 0x4c540000, 0x4c580000, 0x59cc0006, | ||
| 7964 | 0x82000d80, 0x01000000, 0x0400002c, 0x59cc0007, | ||
| 7965 | 0x9000b1c0, 0x8258b500, 0x000000ff, 0x8058b104, | ||
| 7966 | 0x8258b400, 0x00000002, 0x82580c80, 0x00000007, | ||
| 7967 | 0x04001003, 0x4200b000, 0x00000006, 0x83cca400, | ||
| 7968 | 0x00000006, 0x59301008, 0x800811c0, 0x02000800, | ||
| 7969 | 0x001005d8, 0x8208ac00, 0x00000005, 0x0201f800, | ||
| 7970 | 0x0010ab17, 0x82000d00, 0xff000000, 0x800409c0, | ||
| 7971 | 0x04000019, 0x8200b500, 0x000000ff, 0x8058b104, | ||
| 7972 | 0x82580c80, 0x0000000e, 0x04001003, 0x4200b000, | ||
| 7973 | 0x0000000d, 0x58081001, 0x800811c0, 0x02000800, | ||
| 7974 | 0x001005d8, 0x8208ac00, 0x00000005, 0x0201f800, | ||
| 7975 | 0x0010ab17, 0x0401f008, 0x59301008, 0x800811c0, | ||
| 7976 | 0x02000800, 0x001005d8, 0x48001005, 0x59cc0007, | ||
| 7977 | 0x48001006, 0x0401ff3b, 0x5c00b000, 0x5c00a800, | ||
| 7978 | 0x5c00a000, 0x5c025800, 0x1c01f000, 0x4933c857, | ||
| 7979 | 0x42000800, 0x00000000, 0x59cc0006, 0x82000580, | ||
| 7980 | 0x02000000, 0x04000003, 0x42000800, 0x00000001, | ||
| 7981 | 0x4d2c0000, 0x59325808, 0x812e59c0, 0x02000800, | ||
| 7982 | 0x001005d8, 0x48065a06, 0x0201f800, 0x000202da, | ||
| 7983 | 0x5c025800, 0x0201f000, 0x0002077d, 0x4933c857, | ||
| 7984 | 0x4d2c0000, 0x4c500000, 0x4c540000, 0x4c580000, | ||
| 7985 | 0x4200b000, 0x00000002, 0x59cc0806, 0x82040580, | ||
| 7986 | 0x01000000, 0x04000004, 0x8204b500, 0x0000ffff, | ||
| 7987 | 0x8058b104, 0x83cca400, 0x00000006, 0x59300008, | ||
| 7988 | 0x8200ac00, 0x00000005, 0x0201f800, 0x0010ab17, | ||
| 7989 | 0x0401ff0c, 0x5c00b000, 0x5c00a800, 0x5c00a000, | ||
| 7990 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x4803c857, | ||
| 7991 | 0x4807c857, 0x480bc857, 0x480fc857, 0x4813c857, | ||
| 7992 | 0x481bc857, 0x492fc857, 0x4d2c0000, 0x4c000000, | ||
| 7993 | 0x0201f800, 0x001007d3, 0x5c000000, 0x0400000f, | ||
| 7994 | 0x48025803, 0x5c000000, 0x4802580a, 0x4c000000, | ||
| 7995 | 0x481a5801, 0x48125809, 0x48065804, 0x480a5807, | ||
| 7996 | 0x480e5808, 0x412c1000, 0x0201f800, 0x00100858, | ||
| 7997 | 0x82000540, 0x00000001, 0x5c025800, 0x1c01f000, | ||
| 7998 | 0x4933c857, 0x4d1c0000, 0x59cc0001, 0x82000500, | ||
| 7999 | 0x00ffffff, 0x59341002, 0x82081500, 0x00ffffff, | ||
| 8000 | 0x80080580, 0x0402001f, 0x497a6205, 0x4d380000, | ||
| 8001 | 0x42027000, 0x00000035, 0x0201f800, 0x001093ba, | ||
| 8002 | 0x5c027000, 0x04020012, 0x591c001c, 0x800001c0, | ||
| 8003 | 0x0400000f, 0x497a381c, 0x591c0414, 0x8c000502, | ||
| 8004 | 0x02000800, 0x001005d8, 0x84000502, 0x48023c14, | ||
| 8005 | 0x591c1406, 0x82080580, 0x00000003, 0x04000006, | ||
| 8006 | 0x82080580, 0x00000006, 0x04000005, 0x0401fc9e, | ||
| 8007 | 0x0401f004, 0x0401f805, 0x0401f002, 0x0401f8c0, | ||
| 8008 | 0x5c023800, 0x1c01f000, 0x4d2c0000, 0x591e5808, | ||
| 8009 | 0x4933c857, 0x491fc857, 0x493bc857, 0x492fc857, | ||
| 8010 | 0x83380580, 0x00000015, 0x040000b3, 0x83380580, | ||
| 8011 | 0x00000016, 0x040200ae, 0x4d300000, 0x411e6000, | ||
| 8012 | 0x59cc0207, 0x4803c857, 0x82000d00, 0x0000ff00, | ||
| 8013 | 0x82040580, 0x00001700, 0x04000004, 0x82040580, | ||
| 8014 | 0x00000300, 0x0402005b, 0x591c0203, 0x4803c857, | ||
| 8015 | 0x82000580, 0x0000000d, 0x0400003f, 0x812e59c0, | ||
| 8016 | 0x0400009a, 0x591c0202, 0x4803c857, 0x82000580, | ||
| 8017 | 0x0000ffff, 0x0402007e, 0x592c020a, 0x4803c857, | ||
| 8018 | 0x82000500, 0x00000003, 0x82000580, 0x00000002, | ||
| 8019 | 0x04020007, 0x592c080f, 0x591c0011, 0x4803c857, | ||
| 8020 | 0x4807c857, 0x80040580, 0x04020071, 0x591c0414, | ||
| 8021 | 0x4803c857, 0x8c000500, 0x0402006d, 0x41780800, | ||
| 8022 | 0x591c1206, 0x42000000, 0x0000000a, 0x0201f800, | ||
| 8023 | 0x001066a0, 0x592c0406, 0x4803c857, 0x800001c0, | ||
| 8024 | 0x0400000c, 0x80080c80, 0x04001004, 0x02020800, | ||
| 8025 | 0x001005d8, 0x80001040, 0x480a5c06, 0x800811c0, | ||
| 8026 | 0x04020004, 0x0201f800, 0x00108d88, 0x0401f06b, | ||
| 8027 | 0x0201f800, 0x0010912a, 0x591c0817, 0x591c0018, | ||
| 8028 | 0x48065808, 0x48025809, 0x59300007, 0x8c000500, | ||
| 8029 | 0x02020800, 0x00100e99, 0x497a3808, 0x0201f800, | ||
| 8030 | 0x000201ba, 0x0402004a, 0x411e6000, 0x0401fc3e, | ||
| 8031 | 0x0401f05a, 0x0401fc6d, 0x04000013, 0x49366009, | ||
| 8032 | 0x4a026406, 0x00000003, 0x492e6008, 0x591c0817, | ||
| 8033 | 0x591c1018, 0x48066017, 0x480a6018, 0x4d380000, | ||
| 8034 | 0x591e7403, 0x4d300000, 0x411e6000, 0x0401fc2e, | ||
| 8035 | 0x5c026000, 0x0201f800, 0x000207a1, 0x5c027000, | ||
| 8036 | 0x0401f046, 0x59a80039, 0x48023a05, 0x0401f043, | ||
| 8037 | 0x59cc0407, 0x82000580, 0x0000000b, 0x04020025, | ||
| 8038 | 0x59340a00, 0x84040d0e, 0x48066a00, 0x592c0a04, | ||
| 8039 | 0x82040d00, 0x000000ff, 0x82040d80, 0x00000014, | ||
| 8040 | 0x04000003, 0x4a02621d, 0x00000003, 0x59300007, | ||
| 8041 | 0x8c000500, 0x02020800, 0x00100e99, 0x4d400000, | ||
| 8042 | 0x42028000, 0x00000003, 0x592c0a08, 0x0201f800, | ||
| 8043 | 0x00104e70, 0x0201f800, 0x000202da, 0x5c028000, | ||
| 8044 | 0x497a6008, 0x4a026403, 0x00000085, 0x4a026203, | ||
| 8045 | 0x00000009, 0x4a026406, 0x00000002, 0x42000800, | ||
| 8046 | 0x8000404b, 0x0201f800, 0x00020721, 0x0401f01b, | ||
| 8047 | 0x59cc0207, 0x82000580, 0x00002a00, 0x04020004, | ||
| 8048 | 0x59a80039, 0x48023a05, 0x0401f014, 0x812e59c0, | ||
| 8049 | 0x02000800, 0x001005d8, 0x4a025a04, 0x00000103, | ||
| 8050 | 0x591c0007, 0x8c000500, 0x02020800, 0x00100e99, | ||
| 8051 | 0x591c0402, 0x48025c06, 0x4a025a06, 0x00000003, | ||
| 8052 | 0x0201f800, 0x000202c1, 0x0201f800, 0x00107911, | ||
| 8053 | 0x0201f800, 0x001049b2, 0x5c026000, 0x0201f800, | ||
| 8054 | 0x0002077d, 0x0401f002, 0x5c026000, 0x5c025800, | ||
| 8055 | 0x1c01f000, 0x0401f819, 0x0401f7fd, 0x4933c857, | ||
| 8056 | 0x83380580, 0x00000015, 0x04020004, 0x59a80039, | ||
| 8057 | 0x48023a05, 0x0401f00d, 0x83380580, 0x00000016, | ||
| 8058 | 0x0402000d, 0x4d300000, 0x411e6000, 0x0201f800, | ||
| 8059 | 0x0010a5df, 0x0201f800, 0x000206fd, 0x0201f800, | ||
| 8060 | 0x0002077d, 0x5c026000, 0x497a381c, 0x0201f800, | ||
| 8061 | 0x0002077d, 0x1c01f000, 0x591c0414, 0x84000540, | ||
| 8062 | 0x48023c14, 0x59cc100b, 0x4933c857, 0x491fc857, | ||
| 8063 | 0x492fc857, 0x4803c857, 0x480bc857, 0x8c08153c, | ||
| 8064 | 0x04000006, 0x59a80039, 0x48023a05, 0x497a381c, | ||
| 8065 | 0x0201f000, 0x0002077d, 0x4d300000, 0x411e6000, | ||
| 8066 | 0x0201f800, 0x00108bd7, 0x5c026000, 0x591c0406, | ||
| 8067 | 0x82000580, 0x00000000, 0x02000000, 0x0002077d, | ||
| 8068 | 0x591c0403, 0x82000580, 0x00000050, 0x0402000d, | ||
| 8069 | 0x4d300000, 0x411e6000, 0x4a026203, 0x00000001, | ||
| 8070 | 0x42000800, 0x80000043, 0x0201f800, 0x00020721, | ||
| 8071 | 0x5c026000, 0x497a381c, 0x0201f000, 0x0002077d, | ||
| 8072 | 0x591c0203, 0x82000580, 0x0000000d, 0x04000014, | ||
| 8073 | 0x812e59c0, 0x02000800, 0x001005d8, 0x591c0203, | ||
| 8074 | 0x82000580, 0x00000004, 0x04020011, 0x592c020a, | ||
| 8075 | 0x8c000502, 0x0400000e, 0x4a023812, 0x0fffffff, | ||
| 8076 | 0x592c0208, 0x8400051e, 0x48025a08, 0x42000000, | ||
| 8077 | 0x00000001, 0x48023a14, 0x0401f021, 0x42000000, | ||
| 8078 | 0x00000007, 0x48023a14, 0x0401f01d, 0x592c020a, | ||
| 8079 | 0x4803c857, 0x8c000500, 0x0402000b, 0x8c000502, | ||
| 8080 | 0x040007f7, 0x591c0414, 0x8c00051c, 0x040207eb, | ||
| 8081 | 0x591c0011, 0x4803c857, 0x800001c0, 0x040007f0, | ||
| 8082 | 0x0401f7e6, 0x8c08153a, 0x040207ed, 0x59cc000a, | ||
| 8083 | 0x592c180f, 0x4803c857, 0x480fc857, 0x800c0580, | ||
| 8084 | 0x040007e7, 0x59cc000a, 0x4803c857, 0x48023816, | ||
| 8085 | 0x42000000, 0x00000005, 0x48023a14, 0x0201f000, | ||
| 8086 | 0x00109259, 0x4933c857, 0x4d1c0000, 0x59cc0001, | ||
| 8087 | 0x59341002, 0x80080580, 0x82000500, 0x00ffffff, | ||
| 8088 | 0x04020041, 0x59301419, 0x0201f800, 0x00109410, | ||
| 8089 | 0x02000800, 0x001005d8, 0x591c1406, 0x82080580, | ||
| 8090 | 0x00000007, 0x04000038, 0x82080580, 0x00000002, | ||
| 8091 | 0x04000035, 0x82080580, 0x00000000, 0x04000032, | ||
| 8092 | 0x591c0202, 0x82000d80, 0x0000ffff, 0x04000004, | ||
| 8093 | 0x59301a19, 0x800c0580, 0x0402002b, 0x83380580, | ||
| 8094 | 0x00000015, 0x04000026, 0x4d300000, 0x4d2c0000, | ||
| 8095 | 0x411e6000, 0x59325808, 0x0201f800, 0x00109037, | ||
| 8096 | 0x02000800, 0x001005d8, 0x592c0204, 0x82000500, | ||
| 8097 | 0x000000ff, 0x82000580, 0x00000014, 0x04000003, | ||
| 8098 | 0x4a02621d, 0x00000003, 0x42028000, 0x00000003, | ||
| 8099 | 0x592c0a08, 0x0201f800, 0x00104e70, 0x0201f800, | ||
| 8100 | 0x000202da, 0x5c025800, 0x497a6008, 0x4a026403, | ||
| 8101 | 0x00000085, 0x4a026203, 0x00000009, 0x4a026406, | ||
| 8102 | 0x00000002, 0x42000800, 0x8000404b, 0x0201f800, | ||
| 8103 | 0x00020721, 0x5c026000, 0x0401f003, 0x59a80039, | ||
| 8104 | 0x48023a05, 0x497a381c, 0x0201f800, 0x0002077d, | ||
| 8105 | 0x5c023800, 0x1c01f000, 0x4933c857, 0x4c580000, | ||
| 8106 | 0x4d2c0000, 0x59325808, 0x83383580, 0x00000015, | ||
| 8107 | 0x04000010, 0x59342200, 0x84102502, 0x48126a00, | ||
| 8108 | 0x0201f800, 0x00109037, 0x04000066, 0x0201f800, | ||
| 8109 | 0x00109597, 0x04020005, 0x4200b000, 0x00000002, | ||
| 8110 | 0x0201f800, 0x0010957d, 0x0401fa0a, 0x0401f079, | ||
| 8111 | 0x83cc1400, 0x00000008, 0x4200b000, 0x00000002, | ||
| 8112 | 0x83341c00, 0x00000006, 0x0201f800, 0x0010855a, | ||
| 8113 | 0x04020015, 0x83cc1400, 0x0000000a, 0x4200b000, | ||
| 8114 | 0x00000002, 0x83341c00, 0x00000008, 0x0201f800, | ||
| 8115 | 0x0010855a, 0x0402000c, 0x0201f800, 0x00102074, | ||
| 8116 | 0x59342200, 0x59cc1007, 0x800811c0, 0x04000003, | ||
| 8117 | 0x480a6801, 0x84102542, 0x8410251a, 0x48126a00, | ||
| 8118 | 0x0401f05f, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 8119 | 0x0010203c, 0x5c027800, 0x42000000, 0x0010b864, | ||
| 8120 | 0x0201f800, 0x0010aa47, 0x59340200, 0x84000558, | ||
| 8121 | 0x48026a00, 0x4d300000, 0x0201f800, 0x0002075a, | ||
| 8122 | 0x02000800, 0x001005d8, 0x49366009, 0x497a6008, | ||
| 8123 | 0x4a026406, 0x00000001, 0x4a026403, 0x00000001, | ||
| 8124 | 0x42003000, 0x00000003, 0x0201f800, 0x0010a942, | ||
| 8125 | 0x0201f800, 0x00103b25, 0x04000011, 0x41782800, | ||
| 8126 | 0x42003000, 0x00000001, 0x4d400000, 0x42028000, | ||
| 8127 | 0x00000029, 0x0201f800, 0x0010a43e, 0x5c028000, | ||
| 8128 | 0x4a026406, 0x00000004, 0x4a026203, 0x00000007, | ||
| 8129 | 0x4a026420, 0x00000001, 0x0401f009, 0x4a026203, | ||
| 8130 | 0x00000001, 0x42000800, 0x0000000b, 0x0201f800, | ||
| 8131 | 0x00104571, 0x0201f800, 0x0010672b, 0x5c026000, | ||
| 8132 | 0x0201f800, 0x00109037, 0x04000022, 0x0201f800, | ||
| 8133 | 0x00109597, 0x04020022, 0x0401f9ae, 0x0401f01d, | ||
| 8134 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 8135 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8136 | 0x59340200, 0x84000558, 0x48026a00, 0x42003000, | ||
| 8137 | 0x00000003, 0x41782800, 0x42002000, 0x00000005, | ||
| 8138 | 0x4d400000, 0x4d440000, 0x59368c03, 0x42028000, | ||
| 8139 | 0x00000029, 0x0201f800, 0x0010985e, 0x5c028800, | ||
| 8140 | 0x5c028000, 0x5c027800, 0x0201f800, 0x00102074, | ||
| 8141 | 0x0201f800, 0x0002077d, 0x0401f002, 0x0401fca9, | ||
| 8142 | 0x5c025800, 0x5c00b000, 0x1c01f000, 0x4933c857, | ||
| 8143 | 0x41380000, 0x83383480, 0x00000056, 0x02021800, | ||
| 8144 | 0x001005d8, 0x0c01f001, 0x00107ef7, 0x00107ef2, | ||
| 8145 | 0x00107ef7, 0x00107ef7, 0x00107ef7, 0x00107ef7, | ||
| 8146 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8147 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8148 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8149 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8150 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8151 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8152 | 0x00107ef0, 0x00107ef7, 0x00107ef0, 0x00107ef7, | ||
| 8153 | 0x00107ef7, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8154 | 0x00107ef0, 0x00107ef0, 0x00107ef7, 0x00107ef0, | ||
| 8155 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8156 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8157 | 0x00107ef7, 0x00107ef7, 0x00107ef0, 0x00107ef0, | ||
| 8158 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef0, | ||
| 8159 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef7, | ||
| 8160 | 0x00107ef0, 0x00107ef0, 0x00107ef7, 0x00107ef7, | ||
| 8161 | 0x00107ef0, 0x00107ef7, 0x00107ef7, 0x00107ef0, | ||
| 8162 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef7, | ||
| 8163 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef7, | ||
| 8164 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef7, | ||
| 8165 | 0x00107ef0, 0x00107ef0, 0x00107ef0, 0x00107ef7, | ||
| 8166 | 0x0201f800, 0x001005d8, 0x4a026203, 0x00000001, | ||
| 8167 | 0x493a6403, 0x0201f000, 0x0010672b, 0x4933c857, | ||
| 8168 | 0x4a026203, 0x00000001, 0x493a6403, 0x0201f000, | ||
| 8169 | 0x0010672b, 0x4933c857, 0x59300403, 0x82003480, | ||
| 8170 | 0x00000056, 0x02021800, 0x001005d8, 0x83383580, | ||
| 8171 | 0x00000013, 0x04000093, 0x83383580, 0x00000027, | ||
| 8172 | 0x0402004b, 0x0201f800, 0x00106bbf, 0x0201f800, | ||
| 8173 | 0x00109134, 0x0400000b, 0x0201f800, 0x0010914e, | ||
| 8174 | 0x04000041, 0x59300403, 0x82000d80, 0x00000022, | ||
| 8175 | 0x04020038, 0x0401fc61, 0x0400003a, 0x0401f03a, | ||
| 8176 | 0x0201f800, 0x00102074, 0x42000800, 0x00000007, | ||
| 8177 | 0x0201f800, 0x00104571, 0x0401f8fe, 0x4d440000, | ||
| 8178 | 0x59368c03, 0x83440580, 0x000007fe, 0x04020008, | ||
| 8179 | 0x59a81026, 0x84081540, 0x0201f800, 0x0010513b, | ||
| 8180 | 0x04020002, 0x8408154a, 0x480b5026, 0x42028000, | ||
| 8181 | 0x00000029, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 8182 | 0x0010203c, 0x5c027800, 0x836c0580, 0x00000003, | ||
| 8183 | 0x0400000c, 0x59326809, 0x59340008, 0x800001c0, | ||
| 8184 | 0x04020008, 0x59368c03, 0x4933c857, 0x4937c857, | ||
| 8185 | 0x4947c857, 0x0201f800, 0x001045fb, 0x0401f00c, | ||
| 8186 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8187 | 0x42003000, 0x00000015, 0x41782800, 0x42002000, | ||
| 8188 | 0x00000003, 0x0201f800, 0x0010985e, 0x5c028800, | ||
| 8189 | 0x0201f800, 0x00109326, 0x0201f000, 0x0002077d, | ||
| 8190 | 0x1c01f000, 0x0401f8cb, 0x0401f7fa, 0x83380580, | ||
| 8191 | 0x00000014, 0x0400000b, 0x0201f800, 0x00106f60, | ||
| 8192 | 0x02020000, 0x00107974, 0x59300203, 0x82000580, | ||
| 8193 | 0x00000002, 0x040000ed, 0x0201f800, 0x001005d8, | ||
| 8194 | 0x0201f800, 0x00106bbf, 0x4d3c0000, 0x417a7800, | ||
| 8195 | 0x0201f800, 0x0010203c, 0x5c027800, 0x42003000, | ||
| 8196 | 0x00000016, 0x41782800, 0x4d400000, 0x4d440000, | ||
| 8197 | 0x59368c03, 0x42002000, 0x00000009, 0x42028000, | ||
| 8198 | 0x00000029, 0x0201f800, 0x0010985e, 0x5c028800, | ||
| 8199 | 0x5c028000, 0x42000000, 0x0010b864, 0x0201f800, | ||
| 8200 | 0x0010aa47, 0x0201f800, 0x00109134, 0x0402000c, | ||
| 8201 | 0x0201f800, 0x00102074, 0x0401f89e, 0x59340c03, | ||
| 8202 | 0x82040580, 0x000007fe, 0x040207ca, 0x59a80826, | ||
| 8203 | 0x84040d40, 0x48075026, 0x0401f7c6, 0x0201f800, | ||
| 8204 | 0x0010914e, 0x04020003, 0x0401f892, 0x0401f7c1, | ||
| 8205 | 0x59300403, 0x82000d80, 0x00000032, 0x04020004, | ||
| 8206 | 0x0201f800, 0x0010230c, 0x0401f7ba, 0x59300403, | ||
| 8207 | 0x82000d80, 0x00000022, 0x04000886, 0x0401f7b5, | ||
| 8208 | 0x4803c857, 0x0c01f001, 0x00108016, 0x00108016, | ||
| 8209 | 0x00108016, 0x00108016, 0x00108016, 0x00108016, | ||
| 8210 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8211 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8212 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8213 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8214 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8215 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8216 | 0x00107ff9, 0x00108016, 0x00107ff0, 0x00108016, | ||
| 8217 | 0x00108016, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8218 | 0x00107ff0, 0x00107ff0, 0x00108016, 0x00108016, | ||
| 8219 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8220 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00107ff0, | ||
| 8221 | 0x00108007, 0x00108016, 0x00107ff0, 0x00108000, | ||
| 8222 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108000, | ||
| 8223 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108016, | ||
| 8224 | 0x00108003, 0x00107ff0, 0x00107ff2, 0x00108016, | ||
| 8225 | 0x00107ff0, 0x00108016, 0x00108016, 0x00107ff0, | ||
| 8226 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108016, | ||
| 8227 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108016, | ||
| 8228 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108016, | ||
| 8229 | 0x00107ff0, 0x00107ff0, 0x00107ff0, 0x00108016, | ||
| 8230 | 0x0201f800, 0x001005d8, 0x4d2c0000, 0x59325808, | ||
| 8231 | 0x0201f800, 0x000202da, 0x5c025800, 0x0201f000, | ||
| 8232 | 0x0002077d, 0x4a026203, 0x00000005, 0x59a80039, | ||
| 8233 | 0x48026205, 0x59a80037, 0x48026206, 0x1c01f000, | ||
| 8234 | 0x5930081e, 0x49780a05, 0x0401f014, 0x0201f800, | ||
| 8235 | 0x00109326, 0x0201f000, 0x0002077d, 0x0201f800, | ||
| 8236 | 0x0010230c, 0x0201f800, 0x00106c55, 0x04000005, | ||
| 8237 | 0x0201f800, 0x00106bbf, 0x0201f000, 0x0002077d, | ||
| 8238 | 0x0201f800, 0x00106bbf, 0x0201f800, 0x0002077d, | ||
| 8239 | 0x0201f000, 0x00106c4b, 0x4933c857, 0x4a026203, | ||
| 8240 | 0x00000002, 0x59a80037, 0x48026206, 0x1c01f000, | ||
| 8241 | 0x4933c857, 0x0201f800, 0x00109037, 0x0400002a, | ||
| 8242 | 0x4d2c0000, 0x0201f800, 0x00109597, 0x0402000a, | ||
| 8243 | 0x4d400000, 0x42028000, 0x00000031, 0x42000800, | ||
| 8244 | 0x00000004, 0x0201f800, 0x0010943b, 0x5c028000, | ||
| 8245 | 0x0401f01c, 0x59300c06, 0x82040580, 0x00000010, | ||
| 8246 | 0x04000004, 0x82040580, 0x00000011, 0x0402000a, | ||
| 8247 | 0x4a025a06, 0x00000031, 0x4a02580d, 0x00000004, | ||
| 8248 | 0x4a02580e, 0x000000ff, 0x0201f800, 0x000202da, | ||
| 8249 | 0x0401f00c, 0x592c0404, 0x8c00051e, 0x04000009, | ||
| 8250 | 0x4a025a04, 0x00000103, 0x4a025805, 0x01000000, | ||
| 8251 | 0x5931d821, 0x58ef400b, 0x58ec0009, 0x0801f800, | ||
| 8252 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x59340400, | ||
| 8253 | 0x82000500, 0x000000ff, 0x82003480, 0x0000000c, | ||
| 8254 | 0x02021800, 0x001005d8, 0x59303403, 0x82180d80, | ||
| 8255 | 0x0000004d, 0x02000000, 0x0010938b, 0x82180d80, | ||
| 8256 | 0x00000033, 0x02000000, 0x00109349, 0x82180d80, | ||
| 8257 | 0x00000028, 0x02000000, 0x0010918f, 0x82180d80, | ||
| 8258 | 0x00000029, 0x02000000, 0x001091a3, 0x82180d80, | ||
| 8259 | 0x0000001f, 0x02000000, 0x00107b28, 0x82180d80, | ||
| 8260 | 0x00000055, 0x02000000, 0x00107b01, 0x82180d80, | ||
| 8261 | 0x00000000, 0x04000591, 0x82180d80, 0x00000022, | ||
| 8262 | 0x02000000, 0x00107b55, 0x82180d80, 0x00000035, | ||
| 8263 | 0x02000000, 0x00107c50, 0x82180d80, 0x00000039, | ||
| 8264 | 0x04000539, 0x82180d80, 0x0000003d, 0x02000000, | ||
| 8265 | 0x00107b85, 0x82180d80, 0x00000044, 0x02000000, | ||
| 8266 | 0x00107bc2, 0x82180d80, 0x00000049, 0x02000000, | ||
| 8267 | 0x00107c17, 0x82180d80, 0x00000041, 0x02000000, | ||
| 8268 | 0x00107c03, 0x82180d80, 0x00000043, 0x02000000, | ||
| 8269 | 0x001094dc, 0x82180d80, 0x00000051, 0x02000000, | ||
| 8270 | 0x00109542, 0x82180d80, 0x00000004, 0x04020003, | ||
| 8271 | 0x42000000, 0x00000001, 0x83380d80, 0x00000015, | ||
| 8272 | 0x04000006, 0x83380d80, 0x00000016, 0x02020000, | ||
| 8273 | 0x00107974, 0x0401f20f, 0x4d2c0000, 0x4d3c0000, | ||
| 8274 | 0x0c01f804, 0x5c027800, 0x5c025800, 0x1c01f000, | ||
| 8275 | 0x001080b8, 0x001080bc, 0x001080b8, 0x00108131, | ||
| 8276 | 0x001080b8, 0x00108226, 0x001082bf, 0x001080b8, | ||
| 8277 | 0x001080b8, 0x00108288, 0x001080b8, 0x0010829a, | ||
| 8278 | 0x4933c857, 0x497a6007, 0x59300808, 0x58040000, | ||
| 8279 | 0x4a000a04, 0x00000103, 0x0201f000, 0x0002077d, | ||
| 8280 | 0x4933c857, 0x40000000, 0x40000000, 0x1c01f000, | ||
| 8281 | 0x4933c857, 0x59a80016, 0x82000580, 0x00000074, | ||
| 8282 | 0x0402005c, 0x0201f800, 0x0010a2c8, 0x04020016, | ||
| 8283 | 0x0401f85c, 0x0201f800, 0x00109037, 0x0400000c, | ||
| 8284 | 0x0201f800, 0x00109597, 0x04020009, 0x41780800, | ||
| 8285 | 0x4d400000, 0x42028000, 0x00000000, 0x0201f800, | ||
| 8286 | 0x0010943b, 0x5c028000, 0x0401f003, 0x0201f800, | ||
| 8287 | 0x00102074, 0x0201f800, 0x001048c1, 0x0201f000, | ||
| 8288 | 0x0002077d, 0x0201f800, 0x00109037, 0x04000007, | ||
| 8289 | 0x0201f800, 0x00109597, 0x04020004, 0x0401ff3d, | ||
| 8290 | 0x0201f000, 0x0002077d, 0x417a7800, 0x0201f800, | ||
| 8291 | 0x0010203c, 0x42000000, 0x0010b864, 0x0201f800, | ||
| 8292 | 0x0010aa47, 0x59340200, 0x84000558, 0x48026a00, | ||
| 8293 | 0x42003000, 0x00000003, 0x0201f800, 0x0010a942, | ||
| 8294 | 0x4d300000, 0x0201f800, 0x0002075a, 0x02000800, | ||
| 8295 | 0x001005d8, 0x49366009, 0x497a6008, 0x4a026406, | ||
| 8296 | 0x00000001, 0x4a026403, 0x00000001, 0x0201f800, | ||
| 8297 | 0x00103b25, 0x04000011, 0x4a026406, 0x00000004, | ||
| 8298 | 0x4a026203, 0x00000007, 0x4a026420, 0x00000001, | ||
| 8299 | 0x42003000, 0x00000001, 0x4d400000, 0x42028000, | ||
| 8300 | 0x00000029, 0x41782800, 0x0201f800, 0x0010a43e, | ||
| 8301 | 0x5c028000, 0x0401f009, 0x42000800, 0x0000000b, | ||
| 8302 | 0x0201f800, 0x00104571, 0x4a026203, 0x00000001, | ||
| 8303 | 0x0201f800, 0x0010672b, 0x5c026000, 0x0401ff05, | ||
| 8304 | 0x0201f800, 0x00102074, 0x0201f000, 0x0002077d, | ||
| 8305 | 0x0401ff00, 0x42000000, 0x00000001, 0x0401f0c7, | ||
| 8306 | 0x4933c857, 0x59340200, 0x8c000500, 0x0400000d, | ||
| 8307 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x00104567, | ||
| 8308 | 0x5c027800, 0x0201f800, 0x00103b25, 0x04000005, | ||
| 8309 | 0x42000800, 0x00000006, 0x0201f800, 0x00104571, | ||
| 8310 | 0x1c01f000, 0x4933c857, 0x59a80816, 0x82040580, | ||
| 8311 | 0x00000074, 0x0400000e, 0x4807c857, 0x82040580, | ||
| 8312 | 0x00000100, 0x040200a0, 0x59cc0408, 0x4803c857, | ||
| 8313 | 0x8c000500, 0x0400009c, 0x59341403, 0x82080580, | ||
| 8314 | 0x000007fe, 0x04000006, 0x0401f097, 0x59341403, | ||
| 8315 | 0x82080580, 0x000007fe, 0x04020003, 0x0401fa9c, | ||
| 8316 | 0x0401f04c, 0x0201f800, 0x0010462a, 0x59341403, | ||
| 8317 | 0x82080580, 0x000007fc, 0x0402001f, 0x4a026802, | ||
| 8318 | 0x00fffffc, 0x0201f800, 0x00109037, 0x04000012, | ||
| 8319 | 0x0201f800, 0x00109597, 0x0402000f, 0x0401f8a9, | ||
| 8320 | 0x41780800, 0x4d400000, 0x42028000, 0x00000000, | ||
| 8321 | 0x0201f800, 0x0010943b, 0x5c028000, 0x42000800, | ||
| 8322 | 0x00000004, 0x0201f800, 0x00104571, 0x0201f000, | ||
| 8323 | 0x0002077d, 0x42000800, 0x00000004, 0x0201f800, | ||
| 8324 | 0x00104571, 0x0201f800, 0x00102074, 0x0201f000, | ||
| 8325 | 0x0002077d, 0x59a80005, 0x8c000514, 0x04000011, | ||
| 8326 | 0x0201f800, 0x0010513b, 0x42001000, 0x00000010, | ||
| 8327 | 0x04020009, 0x59340002, 0x82000500, 0x00ff0000, | ||
| 8328 | 0x82000580, 0x00ff0000, 0x04000006, 0x42001000, | ||
| 8329 | 0x00000008, 0x0201f800, 0x00104c6d, 0x0402005a, | ||
| 8330 | 0x0201f800, 0x00109037, 0x0400005b, 0x0201f800, | ||
| 8331 | 0x00109597, 0x04020005, 0x592c0404, 0x8c00051c, | ||
| 8332 | 0x040207c9, 0x0401f877, 0x42000800, 0x00000005, | ||
| 8333 | 0x0201f800, 0x00104571, 0x4a026203, 0x00000001, | ||
| 8334 | 0x4a026403, 0x00000003, 0x0201f000, 0x0010672b, | ||
| 8335 | 0x59cc0408, 0x8c000518, 0x04000010, 0x0201f800, | ||
| 8336 | 0x001092e5, 0x0201f800, 0x0010513b, 0x04000004, | ||
| 8337 | 0x59cc0408, 0x8c000516, 0x040207b3, 0x59a80026, | ||
| 8338 | 0x8400054a, 0x48035026, 0x59a80010, 0x84000570, | ||
| 8339 | 0x48038832, 0x0401f7ac, 0x42001000, 0x000000ef, | ||
| 8340 | 0x480b5010, 0x497b8830, 0x84081570, 0x480b8832, | ||
| 8341 | 0x59c40802, 0x84040d4c, 0x48078802, 0x0201f800, | ||
| 8342 | 0x0010930f, 0x59a80026, 0x84000548, 0x48035026, | ||
| 8343 | 0x0201f800, 0x0010a3da, 0x0402079b, 0x59a80026, | ||
| 8344 | 0x8400054c, 0x48035026, 0x42000800, 0x00000006, | ||
| 8345 | 0x0201f800, 0x00104571, 0x417a7800, 0x0201f800, | ||
| 8346 | 0x00104567, 0x42000000, 0x000000e8, 0x0201f800, | ||
| 8347 | 0x00105c9a, 0x02000800, 0x001045a6, 0x02020800, | ||
| 8348 | 0x001005d8, 0x49366009, 0x59340200, 0x8400051a, | ||
| 8349 | 0x48026a00, 0x42000800, 0x00000003, 0x0201f800, | ||
| 8350 | 0x00104571, 0x4a026406, 0x00000001, 0x4a026203, | ||
| 8351 | 0x00000001, 0x4a026403, 0x00000002, 0x0201f000, | ||
| 8352 | 0x0010672b, 0x0401fe43, 0x42000000, 0x00000001, | ||
| 8353 | 0x0401f00a, 0x599c0017, 0x8c00050a, 0x040007ab, | ||
| 8354 | 0x42000800, 0x00000004, 0x0201f800, 0x00104571, | ||
| 8355 | 0x0201f000, 0x0002077d, 0x4933c857, 0x80003540, | ||
| 8356 | 0x04000005, 0x42000800, 0x00000007, 0x0201f800, | ||
| 8357 | 0x00104571, 0x801831c0, 0x0402000e, 0x59302008, | ||
| 8358 | 0x801021c0, 0x04000004, 0x58100404, 0x8c00051e, | ||
| 8359 | 0x04020008, 0x59341c03, 0x42002000, 0x00000004, | ||
| 8360 | 0x42003000, 0x00000012, 0x0201f800, 0x00103aae, | ||
| 8361 | 0x0201f800, 0x00102074, 0x0201f000, 0x0002077d, | ||
| 8362 | 0x4c5c0000, 0x4d2c0000, 0x59325808, 0x0201f800, | ||
| 8363 | 0x00105755, 0x5c025800, 0x59cc0008, 0x48002805, | ||
| 8364 | 0x59cc0009, 0x48002806, 0x49782807, 0x49782808, | ||
| 8365 | 0x49782809, 0x4978280a, 0x59cc0013, 0x8c00053e, | ||
| 8366 | 0x04000009, 0x59cc0414, 0x900001c0, 0x59ccbc15, | ||
| 8367 | 0x805c0540, 0x48002807, 0x59cc0416, 0x900001c0, | ||
| 8368 | 0x48002808, 0x59cc0017, 0x8c00053e, 0x04000009, | ||
| 8369 | 0x59cc0418, 0x900001c0, 0x59ccbc19, 0x805c0540, | ||
| 8370 | 0x48002809, 0x59cc041a, 0x900001c0, 0x4800280a, | ||
| 8371 | 0x5c00b800, 0x1c01f000, 0x4933c857, 0x59a80016, | ||
| 8372 | 0x82000580, 0x00000014, 0x04020048, 0x59a80005, | ||
| 8373 | 0x8c000514, 0x04000015, 0x0201f800, 0x0010513b, | ||
| 8374 | 0x42001000, 0x00000010, 0x04020009, 0x59340002, | ||
| 8375 | 0x82000500, 0x00ff0000, 0x82000580, 0x00ff0000, | ||
| 8376 | 0x0400000a, 0x42001000, 0x00000008, 0x0201f800, | ||
| 8377 | 0x00104c6d, 0x04000005, 0x59a80005, 0x84000556, | ||
| 8378 | 0x48035005, 0x0401f031, 0x836c0580, 0x00000003, | ||
| 8379 | 0x0402000b, 0x59300008, 0x80000540, 0x04020008, | ||
| 8380 | 0x59341c03, 0x42002000, 0x00000006, 0x42003000, | ||
| 8381 | 0x00000013, 0x0201f800, 0x00103aae, 0x0201f800, | ||
| 8382 | 0x0010468d, 0x0401fecf, 0x0401fa1d, 0x0402001f, | ||
| 8383 | 0x59340404, 0x80000540, 0x0400001c, 0x42000800, | ||
| 8384 | 0x00000006, 0x0201f800, 0x00104571, 0x0201f800, | ||
| 8385 | 0x00109037, 0x04000011, 0x0201f800, 0x00109597, | ||
| 8386 | 0x0402000a, 0x41780800, 0x4d400000, 0x42028000, | ||
| 8387 | 0x00000000, 0x0201f800, 0x0010943b, 0x5c028000, | ||
| 8388 | 0x0201f000, 0x0002077d, 0x4a025a04, 0x00000103, | ||
| 8389 | 0x4a025805, 0x02000000, 0x0201f800, 0x00102074, | ||
| 8390 | 0x0201f000, 0x0002077d, 0x0201f800, 0x00104c19, | ||
| 8391 | 0x0201f800, 0x00109037, 0x04000007, 0x0201f800, | ||
| 8392 | 0x00109597, 0x04020004, 0x0401fda2, 0x0201f000, | ||
| 8393 | 0x0002077d, 0x0401fd9f, 0x80000580, 0x59a80005, | ||
| 8394 | 0x8c000516, 0x04000005, 0x84000516, 0x48035005, | ||
| 8395 | 0x82000540, 0x00000001, 0x0401ff60, 0x1c01f000, | ||
| 8396 | 0x4933c857, 0x59a80016, 0x82000580, 0x00000014, | ||
| 8397 | 0x0402000b, 0x42000800, 0x0000000b, 0x0201f800, | ||
| 8398 | 0x00104571, 0x4a026203, 0x00000001, 0x4a026403, | ||
| 8399 | 0x00000001, 0x0201f000, 0x0010672b, 0x42000000, | ||
| 8400 | 0x00000001, 0x0401f74d, 0x4933c857, 0x40003000, | ||
| 8401 | 0x59a80016, 0x82000580, 0x00000004, 0x0402000a, | ||
| 8402 | 0x82183580, 0x0000000b, 0x04020005, 0x42000800, | ||
| 8403 | 0x00000007, 0x0201f800, 0x00104571, 0x0201f000, | ||
| 8404 | 0x0002077d, 0x42000000, 0x00000001, 0x0401f73b, | ||
| 8405 | 0x4803c857, 0x4d2c0000, 0x4d3c0000, 0x0c01f804, | ||
| 8406 | 0x5c027800, 0x5c025800, 0x1c01f000, 0x001080b8, | ||
| 8407 | 0x001082ce, 0x001080b8, 0x00108323, 0x001080b8, | ||
| 8408 | 0x00108391, 0x001082bf, 0x001080b8, 0x001080b8, | ||
| 8409 | 0x001083b1, 0x001080b8, 0x001083c1, 0x4933c857, | ||
| 8410 | 0x4d1c0000, 0x59301403, 0x82080580, 0x00000003, | ||
| 8411 | 0x04000008, 0x82081580, 0x0000001e, 0x04020003, | ||
| 8412 | 0x0201f800, 0x0002077d, 0x5c023800, 0x1c01f000, | ||
| 8413 | 0x0401ff5a, 0x0401f7fd, 0x4933c857, 0x0201f800, | ||
| 8414 | 0x00109037, 0x0400000b, 0x0201f800, 0x00109597, | ||
| 8415 | 0x04020008, 0x4200b000, 0x00000002, 0x0201f800, | ||
| 8416 | 0x0010957d, 0x0401fd43, 0x0201f000, 0x0002077d, | ||
| 8417 | 0x0401f8f5, 0x04020030, 0x417a7800, 0x0201f800, | ||
| 8418 | 0x00104567, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 8419 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8420 | 0x59340200, 0x84000558, 0x48026a00, 0x4a026403, | ||
| 8421 | 0x00000002, 0x42003000, 0x00000003, 0x0201f800, | ||
| 8422 | 0x0010a942, 0x0201f800, 0x00103b25, 0x04000011, | ||
| 8423 | 0x4d400000, 0x41782800, 0x42003000, 0x00000005, | ||
| 8424 | 0x42028000, 0x00000029, 0x0201f800, 0x0010a43e, | ||
| 8425 | 0x5c028000, 0x4a026203, 0x00000007, 0x4a026406, | ||
| 8426 | 0x00000004, 0x4a026420, 0x00000001, 0x1c01f000, | ||
| 8427 | 0x42000800, 0x00000003, 0x0201f800, 0x00104571, | ||
| 8428 | 0x4a026203, 0x00000001, 0x0201f800, 0x0010672b, | ||
| 8429 | 0x0401f7f7, 0x59cc0407, 0x82000580, 0x00000009, | ||
| 8430 | 0x0402000a, 0x59340412, 0x82000500, 0x000000ff, | ||
| 8431 | 0x0400000c, 0x80000040, 0x48026c12, 0x4a026206, | ||
| 8432 | 0x0000000a, 0x0401f7ea, 0x59cc0207, 0x82000500, | ||
| 8433 | 0x0000ff00, 0x82000580, 0x00001900, 0x040007c2, | ||
| 8434 | 0x0401fcfc, 0x80000580, 0x0401f6c4, 0x4933c857, | ||
| 8435 | 0x59a80032, 0x80000540, 0x04000015, 0x59340403, | ||
| 8436 | 0x82000580, 0x000007fe, 0x04020011, 0x59a80010, | ||
| 8437 | 0x80000000, 0x48035010, 0x417a7800, 0x0201f800, | ||
| 8438 | 0x00104567, 0x42000800, 0x00000003, 0x0201f800, | ||
| 8439 | 0x00104571, 0x4a026203, 0x00000001, 0x4a026403, | ||
| 8440 | 0x00000002, 0x0201f000, 0x0010672b, 0x0201f800, | ||
| 8441 | 0x00109037, 0x04000011, 0x0201f800, 0x00109597, | ||
| 8442 | 0x0402000e, 0x4c580000, 0x4200b000, 0x00000002, | ||
| 8443 | 0x0201f800, 0x0010957d, 0x5c00b000, 0x0401fcd5, | ||
| 8444 | 0x42000800, 0x00000007, 0x0201f800, 0x00104571, | ||
| 8445 | 0x0201f000, 0x0002077d, 0x0401fcce, 0x59cc3407, | ||
| 8446 | 0x82183500, 0x000000ff, 0x82180580, 0x00000005, | ||
| 8447 | 0x0400001c, 0x82180580, 0x0000000b, 0x04000016, | ||
| 8448 | 0x59cc0207, 0x82000500, 0x0000ff00, 0x04020004, | ||
| 8449 | 0x82180580, 0x00000009, 0x04000012, 0x82000580, | ||
| 8450 | 0x00001900, 0x0402000c, 0x82180580, 0x00000009, | ||
| 8451 | 0x0400000c, 0x42000800, 0x00000004, 0x0201f800, | ||
| 8452 | 0x00104571, 0x0201f800, 0x00102074, 0x0201f000, | ||
| 8453 | 0x0002077d, 0x42000000, 0x00000001, 0x0401f677, | ||
| 8454 | 0x0201f800, 0x00109037, 0x59325808, 0x04000008, | ||
| 8455 | 0x592c0204, 0x82000580, 0x00000139, 0x040007f6, | ||
| 8456 | 0x592c0404, 0x8c00051e, 0x040207f3, 0x59340403, | ||
| 8457 | 0x82000580, 0x000007fe, 0x04020007, 0x59a80026, | ||
| 8458 | 0x84000540, 0x48035026, 0x0201f800, 0x00104229, | ||
| 8459 | 0x0401f7e9, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 8460 | 0x42003000, 0x00000005, 0x0201f800, 0x0010a942, | ||
| 8461 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8462 | 0x0401f7dd, 0x4933c857, 0x0401f84d, 0x0402000b, | ||
| 8463 | 0x42000800, 0x00000005, 0x0201f800, 0x00104571, | ||
| 8464 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000003, | ||
| 8465 | 0x0201f000, 0x0010672b, 0x42000800, 0x00000004, | ||
| 8466 | 0x0201f800, 0x00104571, 0x0201f800, 0x00109597, | ||
| 8467 | 0x0402000a, 0x4c580000, 0x4200b000, 0x00000002, | ||
| 8468 | 0x0201f800, 0x0010957d, 0x5c00b000, 0x0401fc71, | ||
| 8469 | 0x0201f000, 0x0002077d, 0x0401fc6e, 0x80000580, | ||
| 8470 | 0x0401f636, 0x4933c857, 0x0401f82d, 0x0402000b, | ||
| 8471 | 0x42000800, 0x00000009, 0x0201f800, 0x00104571, | ||
| 8472 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000005, | ||
| 8473 | 0x0201f000, 0x0010672b, 0x42000000, 0x00000001, | ||
| 8474 | 0x0401f626, 0x4933c857, 0x0401f81d, 0x0402000b, | ||
| 8475 | 0x42000800, 0x0000000b, 0x0201f800, 0x00104571, | ||
| 8476 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000001, | ||
| 8477 | 0x0201f000, 0x0010672b, 0x42000000, 0x00000001, | ||
| 8478 | 0x0401f616, 0x4933c857, 0x59cc0407, 0x82000580, | ||
| 8479 | 0x00000003, 0x04020009, 0x59cc0207, 0x82000500, | ||
| 8480 | 0x0000ff00, 0x82000d80, 0x00002a00, 0x04000003, | ||
| 8481 | 0x82000d80, 0x00001e00, 0x1c01f000, 0x4933c857, | ||
| 8482 | 0x82000540, 0x00000001, 0x1c01f000, 0x4933c857, | ||
| 8483 | 0x4d400000, 0x4c580000, 0x59a80026, 0x82000540, | ||
| 8484 | 0x00000003, 0x48035026, 0x0401f85c, 0x04000038, | ||
| 8485 | 0x4d340000, 0x4d440000, 0x59a80026, 0x84000552, | ||
| 8486 | 0x48035026, 0x0201f800, 0x00103b25, 0x0400000c, | ||
| 8487 | 0x42028000, 0x0000002a, 0x42028800, 0x0000ffff, | ||
| 8488 | 0x42003000, 0x00000002, 0x0201f800, 0x0010a446, | ||
| 8489 | 0x59a80805, 0x84040d44, 0x48075005, 0x42028000, | ||
| 8490 | 0x0000002a, 0x4d3c0000, 0x42027800, 0x00000204, | ||
| 8491 | 0x0201f800, 0x00101fe5, 0x5c027800, 0x42000000, | ||
| 8492 | 0x0010b864, 0x0201f800, 0x0010aa47, 0x0201f800, | ||
| 8493 | 0x00101e45, 0x4200b000, 0x00000010, 0x42028800, | ||
| 8494 | 0x000007f0, 0x4d2c0000, 0x83440580, 0x000007fe, | ||
| 8495 | 0x04000003, 0x0201f800, 0x001045fb, 0x81468800, | ||
| 8496 | 0x8058b040, 0x040207f9, 0x5c025800, 0x59cc0408, | ||
| 8497 | 0x8c00051e, 0x04000004, 0x59a80026, 0x84000512, | ||
| 8498 | 0x48035026, 0x5c028800, 0x5c026800, 0x0201f800, | ||
| 8499 | 0x0010462a, 0x4a026802, 0x00fffffe, 0x59a80826, | ||
| 8500 | 0x84040d50, 0x59cc0013, 0x8c00053e, 0x04000003, | ||
| 8501 | 0x8c000536, 0x04000004, 0x59cc0017, 0x8c000536, | ||
| 8502 | 0x04020002, 0x84040d10, 0x48075026, 0x59cc0800, | ||
| 8503 | 0x82040d00, 0x00ffffff, 0x48075010, 0x80040110, | ||
| 8504 | 0x4803501d, 0x48038881, 0x0201f800, 0x0010513b, | ||
| 8505 | 0x04000007, 0x59cc0009, 0x48035035, 0x59cc000a, | ||
| 8506 | 0x48035036, 0x0201f800, 0x001092e5, 0x5c00b000, | ||
| 8507 | 0x5c028000, 0x1c01f000, 0x4933c857, 0x4c580000, | ||
| 8508 | 0x59a80010, 0x82000500, 0x00ffff00, 0x04000022, | ||
| 8509 | 0x59cc1000, 0x82081500, 0x00ffff00, 0x80080580, | ||
| 8510 | 0x04000004, 0x42000000, 0x0010b83b, 0x0401f016, | ||
| 8511 | 0x83cc1400, 0x0000000b, 0x4200b000, 0x00000002, | ||
| 8512 | 0x83341c00, 0x00000006, 0x0401f900, 0x04000004, | ||
| 8513 | 0x42000000, 0x0010b83c, 0x0401f00b, 0x83cc1400, | ||
| 8514 | 0x0000000d, 0x4200b000, 0x00000002, 0x83341c00, | ||
| 8515 | 0x00000008, 0x0401f8f5, 0x04000007, 0x42000000, | ||
| 8516 | 0x0010b83d, 0x0201f800, 0x0010aa47, 0x82000540, | ||
| 8517 | 0x00000001, 0x5c00b000, 0x1c01f000, 0x4933c857, | ||
| 8518 | 0x59cc0206, 0x82000580, 0x00000014, 0x04020016, | ||
| 8519 | 0x59cc0407, 0x82000580, 0x00000800, 0x04020012, | ||
| 8520 | 0x59cc0207, 0x8c00051a, 0x0400000d, 0x82000500, | ||
| 8521 | 0x00000f00, 0x82000580, 0x00000100, 0x04020008, | ||
| 8522 | 0x59cc020a, 0x8c000508, 0x04020003, 0x8c00050a, | ||
| 8523 | 0x04000003, 0x80000580, 0x1c01f000, 0x82000540, | ||
| 8524 | 0x00000001, 0x1c01f000, 0x4933c857, 0x4943c857, | ||
| 8525 | 0x493fc857, 0x4c5c0000, 0x4d300000, 0x4d340000, | ||
| 8526 | 0x4d2c0000, 0x4d380000, 0x4130b800, 0x42026000, | ||
| 8527 | 0x0010d1c0, 0x59a8000e, 0x81640480, 0x040210bd, | ||
| 8528 | 0x8d3e7d12, 0x04000004, 0x405c0000, 0x81300580, | ||
| 8529 | 0x040000b3, 0x59300406, 0x82000c80, 0x00000012, | ||
| 8530 | 0x04021015, 0x59326809, 0x0c01f001, 0x0010854f, | ||
| 8531 | 0x001084bc, 0x001084d3, 0x001084de, 0x001084b7, | ||
| 8532 | 0x001084ce, 0x00108507, 0x0010854f, 0x001084b5, | ||
| 8533 | 0x0010851b, 0x0010852a, 0x001084b5, 0x001084b5, | ||
| 8534 | 0x001084b5, 0x001084b5, 0x0010854f, 0x00108540, | ||
| 8535 | 0x00108538, 0x0201f800, 0x001005d8, 0x8d3e7d18, | ||
| 8536 | 0x04000004, 0x59300420, 0x8c000500, 0x04020094, | ||
| 8537 | 0x59300403, 0x82000580, 0x00000043, 0x04000090, | ||
| 8538 | 0x0201f800, 0x00109134, 0x02000800, 0x00102074, | ||
| 8539 | 0x0201f800, 0x0010914e, 0x02000800, 0x0010801c, | ||
| 8540 | 0x8d3e7d06, 0x04000084, 0x0201f800, 0x001092d7, | ||
| 8541 | 0x04000083, 0x0401f080, 0x8d3e7d16, 0x04000004, | ||
| 8542 | 0x59300420, 0x8c000500, 0x0402007d, 0x59325808, | ||
| 8543 | 0x0201f800, 0x00109037, 0x04000077, 0x49425a06, | ||
| 8544 | 0x497a5c09, 0x0201f800, 0x000202da, 0x0201f800, | ||
| 8545 | 0x0010912a, 0x0401f070, 0x813669c0, 0x02000800, | ||
| 8546 | 0x001005d8, 0x8d3e7d06, 0x04000004, 0x59340200, | ||
| 8547 | 0x8c00050e, 0x0402006a, 0x59300004, 0x8400055c, | ||
| 8548 | 0x48026004, 0x59300203, 0x82000580, 0x00000004, | ||
| 8549 | 0x02000800, 0x00100e99, 0x59325808, 0x0201f800, | ||
| 8550 | 0x00109037, 0x0400005c, 0x4a025a04, 0x00000103, | ||
| 8551 | 0x59300402, 0x48025c06, 0x592c0408, 0x8c000512, | ||
| 8552 | 0x04000006, 0x4d2c0000, 0x592e5809, 0x0201f800, | ||
| 8553 | 0x001007fd, 0x5c025800, 0x49425a06, 0x497a5c09, | ||
| 8554 | 0x0201f800, 0x0010959c, 0x0201f800, 0x000202da, | ||
| 8555 | 0x0201f800, 0x0010912a, 0x0401f047, 0x8c000518, | ||
| 8556 | 0x04000047, 0x59300203, 0x82000580, 0x00000004, | ||
| 8557 | 0x02000800, 0x00100e99, 0x59325808, 0x0201f800, | ||
| 8558 | 0x00109037, 0x0400003c, 0x49425a06, 0x497a5c09, | ||
| 8559 | 0x0201f800, 0x0010a693, 0x0201f800, 0x0010959c, | ||
| 8560 | 0x0201f800, 0x000202da, 0x0401f033, 0x0201f800, | ||
| 8561 | 0x001062d5, 0x04000032, 0x59300203, 0x82000580, | ||
| 8562 | 0x00000004, 0x04020004, 0x0201f800, 0x00100e99, | ||
| 8563 | 0x0401f02b, 0x42027000, 0x00000047, 0x0201f800, | ||
| 8564 | 0x000207a1, 0x0401f026, 0x59300203, 0x82000580, | ||
| 8565 | 0x00000004, 0x02000800, 0x00100e99, 0x59325808, | ||
| 8566 | 0x0201f800, 0x00109037, 0x0400001b, 0x49425a06, | ||
| 8567 | 0x497a5c09, 0x0201f800, 0x000202da, 0x0401f016, | ||
| 8568 | 0x833c0500, 0x00001800, 0x04000015, 0x8d3e7d16, | ||
| 8569 | 0x04020013, 0x59325817, 0x0201f800, 0x001007fd, | ||
| 8570 | 0x59300203, 0x82000580, 0x00000004, 0x02000800, | ||
| 8571 | 0x00100e99, 0x59325808, 0x0201f800, 0x00109037, | ||
| 8572 | 0x04000005, 0x49425a06, 0x497a5c09, 0x0201f800, | ||
| 8573 | 0x000202da, 0x0201f800, 0x00107911, 0x83326400, | ||
| 8574 | 0x00000024, 0x41580000, 0x81300480, 0x04001742, | ||
| 8575 | 0x5c027000, 0x5c025800, 0x5c026800, 0x5c026000, | ||
| 8576 | 0x5c00b800, 0x1c01f000, 0x5c000000, 0x4c000000, | ||
| 8577 | 0x4803c857, 0x480bc857, 0x480fc857, 0x485bc857, | ||
| 8578 | 0x50080800, 0x500c0000, 0x80042580, 0x04020007, | ||
| 8579 | 0x80081000, 0x800c1800, 0x8058b040, 0x040207f9, | ||
| 8580 | 0x80000580, 0x1c01f000, 0x4803c857, 0x4807c857, | ||
| 8581 | 0x480bc857, 0x480fc857, 0x80040480, 0x04001006, | ||
| 8582 | 0x42000000, 0x00000001, 0x82040d40, 0x00000001, | ||
| 8583 | 0x1c01f000, 0x41780000, 0x0401f7fc, 0x83380480, | ||
| 8584 | 0x00000053, 0x02021800, 0x001005d8, 0x83380480, | ||
| 8585 | 0x0000004b, 0x02001800, 0x001005d8, 0x0c01f001, | ||
| 8586 | 0x0010858a, 0x0010858a, 0x0010858a, 0x0010858a, | ||
| 8587 | 0x00108588, 0x00108588, 0x00108588, 0x0010858a, | ||
| 8588 | 0x0201f800, 0x001005d8, 0x493bc857, 0x4a026203, | ||
| 8589 | 0x0000000d, 0x493a6403, 0x42000800, 0x80000000, | ||
| 8590 | 0x0201f000, 0x00020721, 0x83380580, 0x00000013, | ||
| 8591 | 0x04020008, 0x59300403, 0x82000580, 0x00000050, | ||
| 8592 | 0x02020800, 0x001005d8, 0x0201f000, 0x0002077d, | ||
| 8593 | 0x4933c857, 0x83380580, 0x00000027, 0x04020030, | ||
| 8594 | 0x4933c857, 0x0201f800, 0x00106bbf, 0x4d3c0000, | ||
| 8595 | 0x417a7800, 0x0201f800, 0x0010203c, 0x5c027800, | ||
| 8596 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8597 | 0x4d2c0000, 0x59325808, 0x0201f800, 0x00109037, | ||
| 8598 | 0x492fc857, 0x0400000d, 0x4a025a04, 0x00000103, | ||
| 8599 | 0x59300c02, 0x48065c06, 0x4a025a06, 0x00000029, | ||
| 8600 | 0x497a5c09, 0x592c0c08, 0x84040d50, 0x48065c08, | ||
| 8601 | 0x0201f800, 0x000202da, 0x5c025800, 0x42003000, | ||
| 8602 | 0x00000015, 0x41782800, 0x42002000, 0x00000003, | ||
| 8603 | 0x4d400000, 0x4d440000, 0x59368c03, 0x42028000, | ||
| 8604 | 0x00000029, 0x0201f800, 0x0010985e, 0x5c028800, | ||
| 8605 | 0x5c028000, 0x0201f000, 0x0002077d, 0x83380580, | ||
| 8606 | 0x00000014, 0x0402000c, 0x59300403, 0x82000c80, | ||
| 8607 | 0x00000053, 0x02021800, 0x001005d8, 0x82000480, | ||
| 8608 | 0x00000040, 0x02001800, 0x001005d8, 0x4803c857, | ||
| 8609 | 0x0c01f00e, 0x83380580, 0x00000053, 0x0400000a, | ||
| 8610 | 0x83380580, 0x00000048, 0x02020800, 0x001005d8, | ||
| 8611 | 0x59300403, 0x82000580, 0x00000050, 0x02020800, | ||
| 8612 | 0x001005d8, 0x1c01f000, 0x001085ff, 0x001085fd, | ||
| 8613 | 0x001085fd, 0x001085fd, 0x001085fd, 0x001085fd, | ||
| 8614 | 0x001085fd, 0x001085fd, 0x001085fd, 0x001085fd, | ||
| 8615 | 0x001085fd, 0x00108616, 0x00108616, 0x00108616, | ||
| 8616 | 0x00108616, 0x001085fd, 0x00108616, 0x001085fd, | ||
| 8617 | 0x00108616, 0x0201f800, 0x001005d8, 0x4933c857, | ||
| 8618 | 0x0201f800, 0x00106bbf, 0x0201f800, 0x00109037, | ||
| 8619 | 0x02000000, 0x0002077d, 0x4d2c0000, 0x59325808, | ||
| 8620 | 0x4a025a04, 0x00000103, 0x59300402, 0x48025c06, | ||
| 8621 | 0x4a025a06, 0x00000006, 0x497a5c09, 0x0201f800, | ||
| 8622 | 0x000202da, 0x5c025800, 0x0201f800, 0x0010912a, | ||
| 8623 | 0x0201f000, 0x0002077d, 0x4933c857, 0x0201f800, | ||
| 8624 | 0x00106bbf, 0x0201f000, 0x0002077d, 0x0201f800, | ||
| 8625 | 0x001005d8, 0x5930001c, 0x800001c0, 0x02020800, | ||
| 8626 | 0x0010984e, 0x59300004, 0x8c00053e, 0x04020029, | ||
| 8627 | 0x59325808, 0x592c0c08, 0x59cc2a08, 0x82141d00, | ||
| 8628 | 0x00000c00, 0x04000002, 0x59cc1809, 0x84040d58, | ||
| 8629 | 0x48065c08, 0x82143500, 0x00000fff, 0x04020027, | ||
| 8630 | 0x59340200, 0x8c00050e, 0x04020080, 0x0201f800, | ||
| 8631 | 0x0002082b, 0x04020006, 0x4a025a06, 0x00000000, | ||
| 8632 | 0x59300811, 0x800409c0, 0x0402094b, 0x4a025a04, | ||
| 8633 | 0x00000103, 0x48065807, 0x480e580a, 0x48165c09, | ||
| 8634 | 0x59300c02, 0x48065c06, 0x0201f800, 0x000202c1, | ||
| 8635 | 0x0201f800, 0x001049b2, 0x59cc0208, 0x8c000518, | ||
| 8636 | 0x02020000, 0x001091d1, 0x0201f000, 0x0002077d, | ||
| 8637 | 0x0201f800, 0x00106f60, 0x040007d6, 0x4d3c0000, | ||
| 8638 | 0x42027800, 0x00000002, 0x0201f800, 0x00108be3, | ||
| 8639 | 0x5c027800, 0x0401f7cf, 0x4817c857, 0x480fc857, | ||
| 8640 | 0x82180500, 0x000000ff, 0x0400000e, 0x592c0204, | ||
| 8641 | 0x82000500, 0x000000ff, 0x82000580, 0x00000048, | ||
| 8642 | 0x04020008, 0x592c0407, 0x800001c0, 0x04000005, | ||
| 8643 | 0x0201f800, 0x0010973f, 0x0201f000, 0x00109787, | ||
| 8644 | 0x82180d00, 0x00000c00, 0x04000004, 0x59340200, | ||
| 8645 | 0x8c00050e, 0x04020032, 0x4a025a06, 0x00000000, | ||
| 8646 | 0x41782000, 0x8c183510, 0x04000007, 0x59cc000c, | ||
| 8647 | 0x82000500, 0x000000ff, 0x04000002, 0x4803c857, | ||
| 8648 | 0x59cc200b, 0x4812580c, 0x41780000, 0x8c183512, | ||
| 8649 | 0x04000002, 0x59cc000a, 0x4802580b, 0x80100c00, | ||
| 8650 | 0x040007b8, 0x82041480, 0x0000001d, 0x04001006, | ||
| 8651 | 0x592c0404, 0x8c00051e, 0x0400000e, 0x42000800, | ||
| 8652 | 0x0000001c, 0x4c500000, 0x4c540000, 0x83cca400, | ||
| 8653 | 0x0000000c, 0x832cac00, 0x0000000d, 0x0201f800, | ||
| 8654 | 0x00108b9f, 0x5c00a800, 0x5c00a000, 0x0401f7a5, | ||
| 8655 | 0x59300011, 0x59301402, 0x480a5c06, 0x48025807, | ||
| 8656 | 0x480e580a, 0x48165c09, 0x0201f800, 0x00108b48, | ||
| 8657 | 0x0201f800, 0x00108b84, 0x0401f7a6, 0x592c020a, | ||
| 8658 | 0x8c000502, 0x040007cd, 0x592c0208, 0x8c00050e, | ||
| 8659 | 0x040207ca, 0x59300011, 0x800c0d80, 0x040007c7, | ||
| 8660 | 0x4803c857, 0x480fc857, 0x8c183514, 0x02000000, | ||
| 8661 | 0x0010920f, 0x80000540, 0x040007c0, 0x4807c856, | ||
| 8662 | 0x0201f000, 0x0010920f, 0x592c020a, 0x8c000502, | ||
| 8663 | 0x04000782, 0x59300011, 0x800001c0, 0x0400077f, | ||
| 8664 | 0x592c0208, 0x8c00050e, 0x0402077c, 0x0201f000, | ||
| 8665 | 0x0010920f, 0x59cc2006, 0x59cc2807, 0x0401f035, | ||
| 8666 | 0x0401f034, 0x1c01f000, 0x4933c857, 0x5930001c, | ||
| 8667 | 0x800001c0, 0x02020800, 0x0010984e, 0x59325808, | ||
| 8668 | 0x592c0c08, 0x41782800, 0x41781800, 0x84040d58, | ||
| 8669 | 0x48065c08, 0x41783000, 0x59340200, 0x8c00050e, | ||
| 8670 | 0x04020018, 0x0201f800, 0x0002082b, 0x04020007, | ||
| 8671 | 0x4a025a06, 0x00000000, 0x59300811, 0x4807c857, | ||
| 8672 | 0x800409c0, 0x040208ac, 0x4a025a04, 0x00000103, | ||
| 8673 | 0x48065807, 0x480e580a, 0x48165c09, 0x4933c857, | ||
| 8674 | 0x59300c02, 0x48065c06, 0x0201f800, 0x000202c1, | ||
| 8675 | 0x0201f800, 0x001049b2, 0x0201f000, 0x0002077d, | ||
| 8676 | 0x592c020a, 0x8c000502, 0x040007ea, 0x59300011, | ||
| 8677 | 0x4803c857, 0x800001c0, 0x040007e6, 0x592c0208, | ||
| 8678 | 0x8c00050e, 0x040207e3, 0x0201f000, 0x0010920f, | ||
| 8679 | 0x5930001c, 0x800001c0, 0x4c100000, 0x4c140000, | ||
| 8680 | 0x02020800, 0x0010984e, 0x5c002800, 0x5c002000, | ||
| 8681 | 0x4a026203, 0x00000002, 0x4a026403, 0x00000043, | ||
| 8682 | 0x59325808, 0x592c020a, 0x8c000502, 0x04020018, | ||
| 8683 | 0x40100000, 0x592c080f, 0x80040c80, 0x40140000, | ||
| 8684 | 0x80040480, 0x04001014, 0x48126013, 0x48166011, | ||
| 8685 | 0x59300004, 0x8c00053e, 0x04020008, 0x497a6205, | ||
| 8686 | 0x0201f800, 0x00100f93, 0x04020009, 0x59300804, | ||
| 8687 | 0x0201f000, 0x00106721, 0x0201f800, 0x00106f60, | ||
| 8688 | 0x040007f7, 0x0201f000, 0x00107974, 0x4933c857, | ||
| 8689 | 0x1c01f000, 0x4807c857, 0x40042800, 0x0401f7eb, | ||
| 8690 | 0x83380480, 0x00000058, 0x04021005, 0x83380480, | ||
| 8691 | 0x00000040, 0x04001002, 0x0c01f002, 0x1c01f000, | ||
| 8692 | 0x00108740, 0x00108740, 0x00108740, 0x00108740, | ||
| 8693 | 0x00108740, 0x00108740, 0x00108740, 0x00108740, | ||
| 8694 | 0x00108740, 0x00108740, 0x00108742, 0x00108740, | ||
| 8695 | 0x00108740, 0x00108740, 0x00108740, 0x0010874f, | ||
| 8696 | 0x00108740, 0x00108740, 0x00108740, 0x00108740, | ||
| 8697 | 0x0010877d, 0x00108740, 0x00108740, 0x00108740, | ||
| 8698 | 0x0201f800, 0x001005d8, 0x4933c857, 0x0201f800, | ||
| 8699 | 0x00106dc3, 0x4a026203, 0x00000002, 0x59a80039, | ||
| 8700 | 0x48026205, 0x59300011, 0x59300815, 0x80040c80, | ||
| 8701 | 0x48066015, 0x0201f000, 0x00106b8a, 0x4933c857, | ||
| 8702 | 0x0201f800, 0x00106b8a, 0x4d3c0000, 0x417a7800, | ||
| 8703 | 0x0201f800, 0x0010203c, 0x5c027800, 0x42000000, | ||
| 8704 | 0x0010b864, 0x0201f800, 0x0010aa47, 0x0201f800, | ||
| 8705 | 0x00109037, 0x04000010, 0x4d2c0000, 0x59325808, | ||
| 8706 | 0x4a025a04, 0x00000103, 0x59300402, 0x48025c06, | ||
| 8707 | 0x4a025a06, 0x00000029, 0x497a5c09, 0x592c0c08, | ||
| 8708 | 0x84040d50, 0x48065c08, 0x0201f800, 0x000202da, | ||
| 8709 | 0x5c025800, 0x42003000, 0x00000014, 0x41782800, | ||
| 8710 | 0x4d400000, 0x4d440000, 0x59368c03, 0x42002000, | ||
| 8711 | 0x00000002, 0x42028000, 0x00000029, 0x0201f800, | ||
| 8712 | 0x0010985e, 0x5c028800, 0x5c028000, 0x0201f000, | ||
| 8713 | 0x0002077d, 0x4933c857, 0x59300808, 0x49780c09, | ||
| 8714 | 0x4978080a, 0x58041408, 0x84081558, 0x48080c08, | ||
| 8715 | 0x1c01f000, 0x4807c857, 0x8c040d3e, 0x04020023, | ||
| 8716 | 0x497a5a06, 0x5930001f, 0x80000540, 0x04000017, | ||
| 8717 | 0x497a5a06, 0x4c040000, 0x4c080000, 0x4c0c0000, | ||
| 8718 | 0x4c100000, 0x4c140000, 0x58f41003, 0x40040000, | ||
| 8719 | 0x80081480, 0x5930001f, 0x4809e803, 0x0201f800, | ||
| 8720 | 0x00100d56, 0x5c002800, 0x5c002000, 0x5c001800, | ||
| 8721 | 0x5c001000, 0x5c000800, 0x592c0206, 0x80000540, | ||
| 8722 | 0x04020009, 0x0401f005, 0x592c0408, 0x8c00051c, | ||
| 8723 | 0x04000002, 0x592c0803, 0x4807c857, 0x4a025a06, | ||
| 8724 | 0x00000015, 0x1c01f000, 0x5930001f, 0x80000540, | ||
| 8725 | 0x04000009, 0x4a025a06, 0x00000011, 0x5930001f, | ||
| 8726 | 0x4c040000, 0x0201f800, 0x00100d56, 0x5c000800, | ||
| 8727 | 0x0401f7f5, 0x4807c856, 0x4a025a06, 0x00000007, | ||
| 8728 | 0x1c01f000, 0x83380480, 0x00000058, 0x04021007, | ||
| 8729 | 0x83380480, 0x00000040, 0x04001004, 0x4d2c0000, | ||
| 8730 | 0x0c01f803, 0x5c025800, 0x1c01f000, 0x001087db, | ||
| 8731 | 0x001087db, 0x001087db, 0x001087db, 0x001087db, | ||
| 8732 | 0x001087dd, 0x001087db, 0x001087db, 0x00108860, | ||
| 8733 | 0x001087db, 0x001087db, 0x001087db, 0x001087db, | ||
| 8734 | 0x001087db, 0x001087db, 0x001087db, 0x001087db, | ||
| 8735 | 0x001087db, 0x001087db, 0x00108910, 0x00108939, | ||
| 8736 | 0x00108918, 0x001087db, 0x00108945, 0x0201f800, | ||
| 8737 | 0x001005d8, 0x5930001c, 0x800001c0, 0x02020800, | ||
| 8738 | 0x0010984e, 0x59300007, 0x8c00050e, 0x0400007c, | ||
| 8739 | 0x8c000500, 0x0400006e, 0x8c00051c, 0x04000009, | ||
| 8740 | 0x84000500, 0x48026007, 0x59325808, 0x592c3c08, | ||
| 8741 | 0x841c3d58, 0x481e5c08, 0x0201f000, 0x000207dd, | ||
| 8742 | 0x59325808, 0x592c3c08, 0x841c3d58, 0x59300007, | ||
| 8743 | 0x8c00051c, 0x040207f3, 0x481e5c08, 0x42000000, | ||
| 8744 | 0x00000005, 0x40000000, 0x80000040, 0x040207fe, | ||
| 8745 | 0x59300007, 0x8c00051c, 0x040207ea, 0x59cc0a08, | ||
| 8746 | 0x592c0204, 0x82000500, 0x000000ff, 0x82000580, | ||
| 8747 | 0x00000048, 0x0402000c, 0x497a580b, 0x82040500, | ||
| 8748 | 0x000000ff, 0x04000008, 0x592c0407, 0x800001c0, | ||
| 8749 | 0x04000005, 0x0201f800, 0x0010973f, 0x0201f000, | ||
| 8750 | 0x00100e56, 0x48065c09, 0x41782000, 0x82040500, | ||
| 8751 | 0x00000c00, 0x04000002, 0x59cc2009, 0x82043500, | ||
| 8752 | 0x00000fff, 0x04020027, 0x481e5c08, 0x4a025a06, | ||
| 8753 | 0x00000000, 0x801831c0, 0x02000000, 0x00100e56, | ||
| 8754 | 0x41782000, 0x8c183510, 0x04000002, 0x59cc200b, | ||
| 8755 | 0x4812580c, 0x41780000, 0x8c183512, 0x04000002, | ||
| 8756 | 0x59cc000a, 0x4802580b, 0x80100c00, 0x02001800, | ||
| 8757 | 0x001005d8, 0x02000000, 0x00100e56, 0x82041480, | ||
| 8758 | 0x0000001d, 0x0402100c, 0x4c500000, 0x4c540000, | ||
| 8759 | 0x83cca400, 0x0000000c, 0x832cac00, 0x0000000d, | ||
| 8760 | 0x0401fb67, 0x5c00a800, 0x5c00a000, 0x0201f000, | ||
| 8761 | 0x00100e56, 0x0401fb0b, 0x0201f000, 0x00100e56, | ||
| 8762 | 0x412c7800, 0x0201f800, 0x001007e4, 0x02000800, | ||
| 8763 | 0x001005d8, 0x492c7809, 0x841c3d52, 0x481c7c08, | ||
| 8764 | 0x4a025a04, 0x00000103, 0x4812580a, 0x48065c09, | ||
| 8765 | 0x583c0404, 0x583c1005, 0x583c2208, 0x48025c04, | ||
| 8766 | 0x480a5805, 0x48125a08, 0x0401f7c8, 0x8c000524, | ||
| 8767 | 0x04000794, 0x59325808, 0x4c000000, 0x592c0408, | ||
| 8768 | 0x8c00051c, 0x5c000000, 0x04020003, 0x4a026011, | ||
| 8769 | 0xffffffff, 0x84000524, 0x0401f78a, 0x1c01f000, | ||
| 8770 | 0x59a80039, 0x48026205, 0x59325808, 0x4a026203, | ||
| 8771 | 0x00000002, 0x592c2408, 0x59300807, 0x4933c857, | ||
| 8772 | 0x4807c857, 0x592c0204, 0x82000500, 0x000000ff, | ||
| 8773 | 0x82000580, 0x00000048, 0x04020004, 0x8c102500, | ||
| 8774 | 0x02020000, 0x00109787, 0x4a025a06, 0x00000000, | ||
| 8775 | 0x8c040d1e, 0x04000027, 0x41780800, 0x497a5c09, | ||
| 8776 | 0x592c1c09, 0x59300011, 0x59341200, 0x497a6205, | ||
| 8777 | 0x8c08150e, 0x0402006e, 0x4807c857, 0x4806580a, | ||
| 8778 | 0x80000d40, 0x04020f04, 0x59300402, 0x48025c06, | ||
| 8779 | 0x48065807, 0x4a025a04, 0x00000103, 0x4c040000, | ||
| 8780 | 0x4c0c0000, 0x4c100000, 0x0201f800, 0x0010959c, | ||
| 8781 | 0x5c002000, 0x5c001800, 0x5c000800, 0x8c102512, | ||
| 8782 | 0x0402001a, 0x4c0c0000, 0x0201f800, 0x000202c1, | ||
| 8783 | 0x0201f800, 0x001049b2, 0x5c001800, 0x8c0c1d18, | ||
| 8784 | 0x02000000, 0x0002077d, 0x0201f000, 0x001091d1, | ||
| 8785 | 0x4813c857, 0x8c102518, 0x0400004b, 0x41780800, | ||
| 8786 | 0x592c1c09, 0x820c0580, 0x00001000, 0x040007d6, | ||
| 8787 | 0x8c102512, 0x040007d4, 0x592c7809, 0x583c080a, | ||
| 8788 | 0x583c1c09, 0x0401f7d0, 0x4807c857, 0x592c7809, | ||
| 8789 | 0x59300402, 0x592c1404, 0x8c08151e, 0x0402000d, | ||
| 8790 | 0x592c1206, 0x48007c06, 0x48047807, 0x48087a06, | ||
| 8791 | 0x84102512, 0x48107c08, 0x4c0c0000, 0x0201f800, | ||
| 8792 | 0x001007fd, 0x403e5800, 0x0401faca, 0x0401f7d9, | ||
| 8793 | 0x48025c06, 0x48065807, 0x583c080c, 0x583c000b, | ||
| 8794 | 0x80040c00, 0x82041480, 0x0000001d, 0x04001006, | ||
| 8795 | 0x583c1001, 0x480a5801, 0x49787801, 0x42000800, | ||
| 8796 | 0x0000001c, 0x82040c00, 0x00000014, 0x4c0c0000, | ||
| 8797 | 0x4c500000, 0x4c540000, 0x823ca400, 0x00000008, | ||
| 8798 | 0x832cac00, 0x00000008, 0x4c100000, 0x4c3c0000, | ||
| 8799 | 0x0401facb, 0x5c007800, 0x5c002000, 0x5c00a800, | ||
| 8800 | 0x5c00a000, 0x84102512, 0x48125c08, 0x403e5800, | ||
| 8801 | 0x0201f800, 0x001007fd, 0x42034000, 0x0010b4a4, | ||
| 8802 | 0x59a1d81e, 0x80edd9c0, 0x02000800, 0x001005d8, | ||
| 8803 | 0x48efc857, 0x58ec0009, 0x4803c857, 0x0801f800, | ||
| 8804 | 0x0401f7ac, 0x4933c857, 0x1c01f000, 0x59301414, | ||
| 8805 | 0x480bc857, 0x8c08151c, 0x0402000e, 0x80000540, | ||
| 8806 | 0x4803c857, 0x0400078d, 0x80042c80, 0x0402178b, | ||
| 8807 | 0x8c081514, 0x04020005, 0x592c080f, 0x4807c857, | ||
| 8808 | 0x80040480, 0x48026016, 0x8408155c, 0x480a6414, | ||
| 8809 | 0x59301007, 0x8408151e, 0x480a6007, 0x4a025c09, | ||
| 8810 | 0x00000001, 0x0201f800, 0x0010959c, 0x497a5c09, | ||
| 8811 | 0x8c102512, 0x04000006, 0x4d2c0000, 0x403e5800, | ||
| 8812 | 0x0201f800, 0x001007fd, 0x5c025800, 0x82102500, | ||
| 8813 | 0xffffedff, 0x48125c08, 0x0201f000, 0x0010920f, | ||
| 8814 | 0x59325808, 0x592c0408, 0x8c000518, 0x04000004, | ||
| 8815 | 0x412df800, 0x0201f000, 0x00100e6f, 0x1c01f000, | ||
| 8816 | 0x4933c857, 0x59325808, 0x497a5c09, 0x4a025a06, | ||
| 8817 | 0x00000000, 0x4a025a04, 0x00000103, 0x59300811, | ||
| 8818 | 0x4807c857, 0x800409c0, 0x0402000a, 0x48065807, | ||
| 8819 | 0x59300c02, 0x48065c06, 0x0201f800, 0x000202c1, | ||
| 8820 | 0x0201f800, 0x001049b2, 0x0201f000, 0x0002077d, | ||
| 8821 | 0x59340200, 0x8c00050e, 0x04020005, 0x59300811, | ||
| 8822 | 0x0401fe55, 0x48065807, 0x0401f7f2, 0x592c0208, | ||
| 8823 | 0x8c00050e, 0x040207fa, 0x4933c857, 0x0201f000, | ||
| 8824 | 0x0010920f, 0x4933c857, 0x59325808, 0x812e59c0, | ||
| 8825 | 0x02000800, 0x001005d8, 0x592c020a, 0x8c000502, | ||
| 8826 | 0x02000800, 0x001005d8, 0x4a026206, 0x00000002, | ||
| 8827 | 0x1c01f000, 0x5930001c, 0x800001c0, 0x02020800, | ||
| 8828 | 0x0010984e, 0x59300007, 0x4933c857, 0x4803c857, | ||
| 8829 | 0x8c00050e, 0x04000037, 0x8c000500, 0x04000029, | ||
| 8830 | 0x8c00051c, 0x0400000a, 0x84000500, 0x48026007, | ||
| 8831 | 0x59325808, 0x592c3c08, 0x481fc857, 0x841c3d58, | ||
| 8832 | 0x481e5c08, 0x0201f000, 0x000207dd, 0x59325808, | ||
| 8833 | 0x592c3c08, 0x841c3d58, 0x59300007, 0x8c00051c, | ||
| 8834 | 0x040207f2, 0x481e5c08, 0x42000000, 0x00000005, | ||
| 8835 | 0x40000000, 0x80000040, 0x040207fe, 0x59300007, | ||
| 8836 | 0x8c00051c, 0x040207e9, 0x592c0204, 0x82000500, | ||
| 8837 | 0x000000ff, 0x82000580, 0x00000048, 0x04020003, | ||
| 8838 | 0x497a580b, 0x0401f002, 0x497a5c09, 0x481e5c08, | ||
| 8839 | 0x4a025a06, 0x00000000, 0x0201f000, 0x00100e56, | ||
| 8840 | 0x8c000524, 0x040007d9, 0x59325808, 0x4c000000, | ||
| 8841 | 0x592c0408, 0x8c00051c, 0x5c000000, 0x04020003, | ||
| 8842 | 0x4a026011, 0xffffffff, 0x84000524, 0x0401f7cf, | ||
| 8843 | 0x1c01f000, 0x4933c857, 0x41780800, 0x83380480, | ||
| 8844 | 0x00000058, 0x0402100b, 0x83380480, 0x00000040, | ||
| 8845 | 0x04001008, 0x4d2c0000, 0x59325808, 0x812e59c0, | ||
| 8846 | 0x0c020806, 0x5c025800, 0x0201f000, 0x0002077d, | ||
| 8847 | 0x493bc857, 0x1c01f000, 0x001089ae, 0x001089ae, | ||
| 8848 | 0x001089ae, 0x001089ae, 0x001089ae, 0x001089b0, | ||
| 8849 | 0x001089ae, 0x001089ae, 0x001089ae, 0x001089ae, | ||
| 8850 | 0x001089ae, 0x001089ae, 0x001089ae, 0x001089ae, | ||
| 8851 | 0x001089ae, 0x001089ae, 0x001089ae, 0x001089ae, | ||
| 8852 | 0x001089ae, 0x001089ae, 0x001089b5, 0x001089ae, | ||
| 8853 | 0x001089ae, 0x001089ae, 0x0201f800, 0x001005d8, | ||
| 8854 | 0x59cc0a08, 0x497a5807, 0x4807c857, 0x82040d00, | ||
| 8855 | 0x00000fff, 0x59300402, 0x48025c06, 0x4a025a04, | ||
| 8856 | 0x00000103, 0x48065c09, 0x4a025a06, 0x00000000, | ||
| 8857 | 0x800409c0, 0x02000000, 0x000202c1, 0x59cc0009, | ||
| 8858 | 0x4802580a, 0x82042500, 0x00000100, 0x04000002, | ||
| 8859 | 0x59cc200b, 0x4812580c, 0x82040500, 0x00000200, | ||
| 8860 | 0x04000002, 0x59cc000a, 0x4802580b, 0x80100c00, | ||
| 8861 | 0x02001800, 0x001005d8, 0x02000000, 0x000202da, | ||
| 8862 | 0x82041480, 0x0000001d, 0x04001006, 0x592c0404, | ||
| 8863 | 0x8c00051e, 0x0400000e, 0x42000800, 0x0000001c, | ||
| 8864 | 0x4c500000, 0x4c540000, 0x83cca400, 0x0000000c, | ||
| 8865 | 0x832cac00, 0x0000000d, 0x0401f9c1, 0x5c00a800, | ||
| 8866 | 0x5c00a000, 0x0201f000, 0x000202da, 0x0401f965, | ||
| 8867 | 0x0401f1a0, 0x83380480, 0x00000093, 0x02021800, | ||
| 8868 | 0x001005d8, 0x83380480, 0x00000085, 0x02001800, | ||
| 8869 | 0x001005d8, 0x0c01f001, 0x001089fd, 0x001089fb, | ||
| 8870 | 0x001089fb, 0x00108a04, 0x001089fb, 0x001089fb, | ||
| 8871 | 0x001089fb, 0x001089fb, 0x001089fb, 0x001089fb, | ||
| 8872 | 0x001089fb, 0x001089fb, 0x001089fb, 0x0201f800, | ||
| 8873 | 0x001005d8, 0x4a026203, 0x00000001, 0x493a6403, | ||
| 8874 | 0x42000800, 0x80000040, 0x0201f000, 0x00020721, | ||
| 8875 | 0x4933c857, 0x59cc1204, 0x480a601c, 0x59cc1404, | ||
| 8876 | 0x0201f800, 0x00109410, 0x0400001b, 0x591c0203, | ||
| 8877 | 0x82000580, 0x00000000, 0x04000017, 0x591c0009, | ||
| 8878 | 0x81340580, 0x04020014, 0x4d300000, 0x4d1c0000, | ||
| 8879 | 0x411e6000, 0x0401f9c2, 0x5c023800, 0x5c026000, | ||
| 8880 | 0x0400000b, 0x59cc0005, 0x8c000500, 0x04020003, | ||
| 8881 | 0x0401f98c, 0x0401f003, 0x4a023a03, 0x00000002, | ||
| 8882 | 0x4a026403, 0x00000086, 0x0401f005, 0x0401f9a6, | ||
| 8883 | 0x040007f5, 0x4a026403, 0x00000087, 0x4a026203, | ||
| 8884 | 0x00000001, 0x42000800, 0x80000040, 0x0201f800, | ||
| 8885 | 0x00020721, 0x59340200, 0x8c00050e, 0x0400000d, | ||
| 8886 | 0x59cc1404, 0x0201f800, 0x00109410, 0x04000009, | ||
| 8887 | 0x591c0414, 0x8c00051a, 0x04000006, 0x4d300000, | ||
| 8888 | 0x411e6000, 0x0201f800, 0x0010921e, 0x5c026000, | ||
| 8889 | 0x1c01f000, 0x83380580, 0x00000013, 0x0402000a, | ||
| 8890 | 0x59300403, 0x82000d80, 0x00000086, 0x04000012, | ||
| 8891 | 0x82000d80, 0x00000087, 0x02020800, 0x001005d8, | ||
| 8892 | 0x0401f00d, 0x83380580, 0x00000027, 0x04000005, | ||
| 8893 | 0x83380580, 0x00000014, 0x02020800, 0x001005d8, | ||
| 8894 | 0x493bc857, 0x0201f800, 0x00106bbf, 0x0201f000, | ||
| 8895 | 0x00107911, 0x4933c857, 0x0201f000, 0x00107911, | ||
| 8896 | 0x83380580, 0x00000013, 0x04020005, 0x59300403, | ||
| 8897 | 0x82000480, 0x00000085, 0x0c01f04d, 0x83380580, | ||
| 8898 | 0x00000027, 0x04020041, 0x4933c857, 0x0201f800, | ||
| 8899 | 0x00106bbf, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 8900 | 0x0010203c, 0x5c027800, 0x42003000, 0x00000015, | ||
| 8901 | 0x41782800, 0x42002000, 0x00000003, 0x42028000, | ||
| 8902 | 0x00000029, 0x4d400000, 0x4d440000, 0x59368c03, | ||
| 8903 | 0x0201f800, 0x0010985e, 0x5c028800, 0x5c028000, | ||
| 8904 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 8905 | 0x0201f800, 0x00109037, 0x0400000c, 0x4d2c0000, | ||
| 8906 | 0x59325808, 0x4a025a04, 0x00000103, 0x59300402, | ||
| 8907 | 0x48025c06, 0x497a5c09, 0x49425a06, 0x0201f800, | ||
| 8908 | 0x000202da, 0x5c025800, 0x0201f800, 0x0010912a, | ||
| 8909 | 0x0201f000, 0x0002077d, 0x83380580, 0x00000089, | ||
| 8910 | 0x04000005, 0x83380580, 0x0000008a, 0x02020000, | ||
| 8911 | 0x00107974, 0x0201f800, 0x00106f60, 0x02020000, | ||
| 8912 | 0x00107974, 0x59300a03, 0x82040580, 0x0000000a, | ||
| 8913 | 0x0400002a, 0x82040580, 0x0000000c, 0x04000027, | ||
| 8914 | 0x0201f800, 0x001005d8, 0x83380580, 0x00000014, | ||
| 8915 | 0x040207ea, 0x4933c857, 0x0201f800, 0x00106bbf, | ||
| 8916 | 0x42028000, 0x00000006, 0x0401f7d2, 0x00108aba, | ||
| 8917 | 0x00108ab8, 0x00108ab8, 0x00108ab8, 0x00108ab8, | ||
| 8918 | 0x00108ab8, 0x00108ac0, 0x00108ab8, 0x00108ab8, | ||
| 8919 | 0x00108ab8, 0x00108ab8, 0x00108ab8, 0x00108ab8, | ||
| 8920 | 0x0201f800, 0x001005d8, 0x4933c857, 0x59a80037, | ||
| 8921 | 0x48026206, 0x4a026203, 0x0000000a, 0x1c01f000, | ||
| 8922 | 0x4933c857, 0x59a80037, 0x48026206, 0x4a026203, | ||
| 8923 | 0x0000000c, 0x1c01f000, 0x83380580, 0x00000089, | ||
| 8924 | 0x04000008, 0x83380580, 0x0000008a, 0x04000032, | ||
| 8925 | 0x4933c857, 0x493bc857, 0x0201f000, 0x00107974, | ||
| 8926 | 0x4933c857, 0x59325808, 0x59300a1d, 0x82040580, | ||
| 8927 | 0x00000003, 0x04020004, 0x0201f800, 0x001049b2, | ||
| 8928 | 0x0401f00c, 0x5930021d, 0x82000580, 0x00000001, | ||
| 8929 | 0x04020008, 0x59300c16, 0x82040580, 0x00000039, | ||
| 8930 | 0x0400002c, 0x82040580, 0x00000035, 0x04000029, | ||
| 8931 | 0x4c340000, 0x41306800, 0x0201f800, 0x0002075a, | ||
| 8932 | 0x04000010, 0x4a026203, 0x00000001, 0x4a026403, | ||
| 8933 | 0x0000001e, 0x59cc0c07, 0x48066419, 0x59cc0a07, | ||
| 8934 | 0x48066219, 0x49366009, 0x4a026406, 0x00000001, | ||
| 8935 | 0x42000800, 0x80000040, 0x0201f800, 0x00020721, | ||
| 8936 | 0x40366000, 0x0201f800, 0x0002077d, 0x5c006800, | ||
| 8937 | 0x1c01f000, 0x4933c857, 0x5930021d, 0x82000580, | ||
| 8938 | 0x00000001, 0x04020040, 0x59300c16, 0x82040580, | ||
| 8939 | 0x00000035, 0x04000007, 0x82040580, 0x0000001e, | ||
| 8940 | 0x04000004, 0x82040580, 0x00000039, 0x04020036, | ||
| 8941 | 0x4933c857, 0x4c500000, 0x4d1c0000, 0x4130a000, | ||
| 8942 | 0x40067000, 0x0201f800, 0x001093ba, 0x04020029, | ||
| 8943 | 0x0201f800, 0x0002075a, 0x04000026, 0x491fc857, | ||
| 8944 | 0x4933c857, 0x83380580, 0x00000035, 0x04000004, | ||
| 8945 | 0x83380580, 0x00000039, 0x04020002, 0x4932381c, | ||
| 8946 | 0x493a6403, 0x4a026203, 0x00000001, 0x4a026406, | ||
| 8947 | 0x00000001, 0x58500809, 0x4807c857, 0x48066009, | ||
| 8948 | 0x58500c15, 0x4807c857, 0x48066415, 0x58500a15, | ||
| 8949 | 0x4807c857, 0x48066215, 0x58500a16, 0x4807c857, | ||
| 8950 | 0x48066216, 0x58500c19, 0x4807c857, 0x48066419, | ||
| 8951 | 0x58500a19, 0x4807c857, 0x48066219, 0x491e601e, | ||
| 8952 | 0x42000800, 0x80000040, 0x0201f800, 0x00020721, | ||
| 8953 | 0x40526000, 0x5c023800, 0x5c00a000, 0x0201f000, | ||
| 8954 | 0x0002077d, 0x5930021d, 0x82000580, 0x00000003, | ||
| 8955 | 0x02000800, 0x001049b2, 0x0201f000, 0x0002077d, | ||
| 8956 | 0x4803c856, 0x4c500000, 0x4c540000, 0x412c7800, | ||
| 8957 | 0x4c3c0000, 0x42002800, 0x00000001, 0x82040480, | ||
| 8958 | 0x00000101, 0x04001003, 0x42000800, 0x00000100, | ||
| 8959 | 0x40043000, 0x42000800, 0x0000001c, 0x83cca400, | ||
| 8960 | 0x0000000c, 0x832cac00, 0x0000000d, 0x0401f844, | ||
| 8961 | 0x82183480, 0x0000001c, 0x592e5801, 0x812e59c0, | ||
| 8962 | 0x02020800, 0x001007fd, 0x0201f800, 0x001007e4, | ||
| 8963 | 0x04000017, 0x80142800, 0x4a025a04, 0x00000110, | ||
| 8964 | 0x497a5c04, 0x492c7801, 0x82180c80, 0x0000003d, | ||
| 8965 | 0x04021006, 0x40180800, 0x832cac00, 0x00000005, | ||
| 8966 | 0x0401f82f, 0x0401f00a, 0x82183480, 0x0000003c, | ||
| 8967 | 0x42000800, 0x0000003c, 0x412c7800, 0x832cac00, | ||
| 8968 | 0x00000005, 0x0401f826, 0x0401f7e8, 0x5c007800, | ||
| 8969 | 0x841429c0, 0x82142d40, 0x00000003, 0x48147a04, | ||
| 8970 | 0x403e5800, 0x5c00a800, 0x5c00a000, 0x1c01f000, | ||
| 8971 | 0x492fc857, 0x812e59c0, 0x0400000f, 0x4d2c0000, | ||
| 8972 | 0x4c3c0000, 0x592c7801, 0x803c79c0, 0x04000006, | ||
| 8973 | 0x497a5801, 0x0201f800, 0x000202da, 0x403e5800, | ||
| 8974 | 0x0401f7f9, 0x5c007800, 0x0201f800, 0x000202da, | ||
| 8975 | 0x5c025800, 0x1c01f000, 0x4803c856, 0x4c580000, | ||
| 8976 | 0x82040c00, 0x00000003, 0x8004b104, 0x0201f800, | ||
| 8977 | 0x0010ab17, 0x5c00b000, 0x1c01f000, 0x4803c856, | ||
| 8978 | 0x4c580000, 0x82040c00, 0x00000003, 0x8004b104, | ||
| 8979 | 0x0201f800, 0x0010ab17, 0x5c00b000, 0x1c01f000, | ||
| 8980 | 0x591c0c06, 0x82040580, 0x00000003, 0x04000004, | ||
| 8981 | 0x82040580, 0x00000002, 0x0402001a, 0x4d300000, | ||
| 8982 | 0x4d2c0000, 0x411e6000, 0x59325808, 0x0201f800, | ||
| 8983 | 0x00109037, 0x0400000f, 0x4d400000, 0x42028000, | ||
| 8984 | 0x00000013, 0x592c0a08, 0x84040d54, 0x0201f800, | ||
| 8985 | 0x00104e70, 0x5c028000, 0x0201f800, 0x0010959c, | ||
| 8986 | 0x0201f800, 0x000202da, 0x0201f800, 0x0010912a, | ||
| 8987 | 0x0201f800, 0x00107911, 0x5c025800, 0x5c026000, | ||
| 8988 | 0x1c01f000, 0x59cc0005, 0x8c000500, 0x0402000b, | ||
| 8989 | 0x591c0406, 0x82000580, 0x00000002, 0x04020007, | ||
| 8990 | 0x591c0c03, 0x82040580, 0x00000085, 0x04000003, | ||
| 8991 | 0x82040580, 0x0000008b, 0x1c01f000, 0x4933c857, | ||
| 8992 | 0x4d3c0000, 0x42027800, 0x00000002, 0x59300406, | ||
| 8993 | 0x82000c80, 0x00000012, 0x02021800, 0x001005d8, | ||
| 8994 | 0x0c01f80a, 0x5c027800, 0x1c01f000, 0x4933c857, | ||
| 8995 | 0x59300406, 0x82000c80, 0x00000012, 0x02021800, | ||
| 8996 | 0x001005d8, 0x0c01f001, 0x00108c01, 0x00108bfe, | ||
| 8997 | 0x00108bfe, 0x00108c29, 0x00108bfc, 0x00108bfe, | ||
| 8998 | 0x00108c1a, 0x00108bfe, 0x00108bfc, 0x001065f4, | ||
| 8999 | 0x00108bfe, 0x00108bfe, 0x00108bfe, 0x00108bfc, | ||
| 9000 | 0x00108bfc, 0x00108bfc, 0x00108cf9, 0x00108bfe, | ||
| 9001 | 0x0201f800, 0x001005d8, 0x4803c856, 0x80000580, | ||
| 9002 | 0x1c01f000, 0x4803c856, 0x8d3e7d02, 0x04020016, | ||
| 9003 | 0x0201f800, 0x00109037, 0x0400000f, 0x59325808, | ||
| 9004 | 0x41780800, 0x4d400000, 0x42028000, 0x00000005, | ||
| 9005 | 0x0201f800, 0x00104e70, 0x5c028000, 0x0201f800, | ||
| 9006 | 0x0010959c, 0x0201f800, 0x001091cc, 0x0201f800, | ||
| 9007 | 0x000202da, 0x0201f800, 0x00107911, 0x82000540, | ||
| 9008 | 0x00000001, 0x1c01f000, 0x4933c857, 0x0201f800, | ||
| 9009 | 0x001048d9, 0x0402000c, 0x4d400000, 0x42028000, | ||
| 9010 | 0x00000010, 0x0201f800, 0x0010a1d1, 0x4a026406, | ||
| 9011 | 0x00000006, 0x4a026203, 0x00000007, 0x5c028000, | ||
| 9012 | 0x1c01f000, 0x4933c857, 0x0201f800, 0x00106c55, | ||
| 9013 | 0x4df00000, 0x0401f8b8, 0x82000c80, 0x0000000e, | ||
| 9014 | 0x02021800, 0x001005d8, 0x0c01f001, 0x00108c43, | ||
| 9015 | 0x00108cb0, 0x00108c5a, 0x00108cc3, 0x00108cab, | ||
| 9016 | 0x00108c41, 0x00108c43, 0x00108c43, 0x00108c47, | ||
| 9017 | 0x00108c43, 0x00108c43, 0x00108c43, 0x00108c43, | ||
| 9018 | 0x00108c5a, 0x0201f800, 0x001005d8, 0x5c03e000, | ||
| 9019 | 0x02000800, 0x00106c4b, 0x0401f7b8, 0x5c03e000, | ||
| 9020 | 0x02000800, 0x00106c4b, 0x59300406, 0x82000580, | ||
| 9021 | 0x00000003, 0x040207b4, 0x59300203, 0x82000580, | ||
| 9022 | 0x0000000d, 0x040007b0, 0x8d3e7d02, 0x040207ae, | ||
| 9023 | 0x4d340000, 0x59326809, 0x0201f800, 0x001049b2, | ||
| 9024 | 0x5c026800, 0x0401f7a8, 0x59300004, 0x8400055c, | ||
| 9025 | 0x48026004, 0x0201f800, 0x00106c4b, 0x59300406, | ||
| 9026 | 0x82000580, 0x00000006, 0x04000043, 0x8d3e7d02, | ||
| 9027 | 0x04020041, 0x497a621d, 0x59300203, 0x82000580, | ||
| 9028 | 0x0000000d, 0x04000003, 0x4a02621d, 0x00000003, | ||
| 9029 | 0x0401fbcb, 0x04000024, 0x4d2c0000, 0x4d400000, | ||
| 9030 | 0x59325808, 0x0201f800, 0x001091cc, 0x592c0408, | ||
| 9031 | 0x8c000512, 0x04000009, 0x4d2c0000, 0x84000512, | ||
| 9032 | 0x48025c08, 0x592c0809, 0x40065800, 0x0201f800, | ||
| 9033 | 0x001007fd, 0x5c025800, 0x4d400000, 0x42028000, | ||
| 9034 | 0x00000005, 0x592c0a08, 0x8c040d0e, 0x04000004, | ||
| 9035 | 0x42028000, 0x00000002, 0x0401f001, 0x0201f800, | ||
| 9036 | 0x00104e70, 0x5c028000, 0x0201f800, 0x0010959c, | ||
| 9037 | 0x0201f800, 0x000202da, 0x497a6008, 0x5c028000, | ||
| 9038 | 0x5c025800, 0x8d3e7d00, 0x04000009, 0x4d340000, | ||
| 9039 | 0x59326809, 0x0201f800, 0x001049b2, 0x5c026800, | ||
| 9040 | 0x0201f800, 0x00107911, 0x0401f00b, 0x4a026403, | ||
| 9041 | 0x00000085, 0x4a026203, 0x00000009, 0x4a026406, | ||
| 9042 | 0x00000002, 0x42000800, 0x8000404b, 0x0201f800, | ||
| 9043 | 0x00020721, 0x5c03e000, 0x02020800, 0x00106c55, | ||
| 9044 | 0x82000540, 0x00000001, 0x1c01f000, 0x0201f800, | ||
| 9045 | 0x00106c4b, 0x0201f800, 0x00100e99, 0x0401f7ab, | ||
| 9046 | 0x598c000d, 0x81300580, 0x04020004, 0x0201f800, | ||
| 9047 | 0x00106e8e, 0x0402001b, 0x0201f800, 0x001068d3, | ||
| 9048 | 0x04020006, 0x59300c03, 0x82040580, 0x00000040, | ||
| 9049 | 0x0400078b, 0x0401f79d, 0x0201f800, 0x00106b6c, | ||
| 9050 | 0x04000010, 0x0201f800, 0x001005d8, 0x0401f813, | ||
| 9051 | 0x04020004, 0x0201f800, 0x00106e62, 0x04020009, | ||
| 9052 | 0x0201f800, 0x001067ae, 0x040207f4, 0x59300c03, | ||
| 9053 | 0x82040580, 0x00000040, 0x04000779, 0x0401f78b, | ||
| 9054 | 0x59300203, 0x82000c80, 0x0000000e, 0x02021800, | ||
| 9055 | 0x001005d8, 0x0c01f75e, 0x417a3000, 0x42032000, | ||
| 9056 | 0x0000bf32, 0x59900004, 0x81300580, 0x04000009, | ||
| 9057 | 0x83932400, 0x00000010, 0x811a3000, 0x83180480, | ||
| 9058 | 0x00000005, 0x040017f8, 0x82000540, 0x00000001, | ||
| 9059 | 0x1c01f000, 0x59300004, 0x8c00053e, 0x04000010, | ||
| 9060 | 0x8c00050c, 0x0402000e, 0x8c000516, 0x04020006, | ||
| 9061 | 0x82000d00, 0x0000001f, 0x82040580, 0x00000005, | ||
| 9062 | 0x04020004, 0x42000000, 0x00000003, 0x0401f005, | ||
| 9063 | 0x42000000, 0x00000001, 0x0401f002, 0x59300203, | ||
| 9064 | 0x1c01f000, 0x4933c857, 0x0201f800, 0x00106c55, | ||
| 9065 | 0x4df00000, 0x59300203, 0x82000c80, 0x0000000e, | ||
| 9066 | 0x02021800, 0x001005d8, 0x0c01f001, 0x00108d13, | ||
| 9067 | 0x00108d30, 0x00108d17, 0x00108d11, 0x00108d11, | ||
| 9068 | 0x00108d11, 0x00108d11, 0x00108d11, 0x00108d11, | ||
| 9069 | 0x00108d11, 0x00108d11, 0x00108d11, 0x00108d11, | ||
| 9070 | 0x00108d11, 0x0201f800, 0x001005d8, 0x5c03e000, | ||
| 9071 | 0x02000800, 0x00106c4b, 0x0401f6e8, 0x5c03e000, | ||
| 9072 | 0x02000800, 0x00106c4b, 0x4d2c0000, 0x59325808, | ||
| 9073 | 0x59300403, 0x82000580, 0x00000052, 0x02000800, | ||
| 9074 | 0x00101231, 0x0401fb16, 0x02000800, 0x001005d8, | ||
| 9075 | 0x4a025a06, 0x00000005, 0x0201f800, 0x000202da, | ||
| 9076 | 0x0201f800, 0x00104c19, 0x0201f800, 0x00107911, | ||
| 9077 | 0x5c025800, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 9078 | 0x598c000d, 0x81300580, 0x0402001a, 0x59300004, | ||
| 9079 | 0x8c000520, 0x04000004, 0x84000520, 0x48026004, | ||
| 9080 | 0x0401f01a, 0x42001000, 0x0010b7f6, 0x50081000, | ||
| 9081 | 0x58080002, 0x82000580, 0x00000100, 0x0400000a, | ||
| 9082 | 0x5808000c, 0x81300580, 0x02020800, 0x001005d8, | ||
| 9083 | 0x0201f800, 0x001068d3, 0x02020800, 0x001005d8, | ||
| 9084 | 0x0401f7cf, 0x0201f800, 0x00106e8e, 0x0402000c, | ||
| 9085 | 0x59300004, 0x8c000520, 0x04000004, 0x84000520, | ||
| 9086 | 0x48026004, 0x0401f7c6, 0x0201f800, 0x001068d3, | ||
| 9087 | 0x040007c3, 0x0201f800, 0x001005d8, 0x59300203, | ||
| 9088 | 0x82000c80, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 9089 | 0x0c01f7a7, 0x59300406, 0x4933c857, 0x4803c857, | ||
| 9090 | 0x82000c80, 0x00000012, 0x02021800, 0x001005d8, | ||
| 9091 | 0x0c01f001, 0x00108d7c, 0x00108e41, 0x00108f79, | ||
| 9092 | 0x00108d88, 0x00107911, 0x00108d7c, 0x0010a1c0, | ||
| 9093 | 0x0002077d, 0x00108e41, 0x001065ce, 0x00108fda, | ||
| 9094 | 0x00108d77, 0x00108d77, 0x00108d77, 0x00108d77, | ||
| 9095 | 0x00108d77, 0x001096eb, 0x001096eb, 0x0201f800, | ||
| 9096 | 0x001005d8, 0x0401fbd5, 0x02000000, 0x0010801c, | ||
| 9097 | 0x1c01f000, 0x0201f800, 0x00106c55, 0x0201f800, | ||
| 9098 | 0x00106bbf, 0x0201f800, 0x00106c4b, 0x0201f000, | ||
| 9099 | 0x0002077d, 0x4a026206, 0x00000001, 0x1c01f000, | ||
| 9100 | 0x42000000, 0x0010b872, 0x0201f800, 0x0010aa47, | ||
| 9101 | 0x4d2c0000, 0x4d400000, 0x417a5800, 0x0401faa8, | ||
| 9102 | 0x04000007, 0x59325808, 0x592c0208, 0x8400054c, | ||
| 9103 | 0x48025a08, 0x42028000, 0x00000006, 0x0201f800, | ||
| 9104 | 0x00106c55, 0x0401ff4c, 0x4803c857, 0x82000c80, | ||
| 9105 | 0x0000000e, 0x02021800, 0x001005d8, 0x0c01f806, | ||
| 9106 | 0x0201f800, 0x00106c4b, 0x5c028000, 0x5c025800, | ||
| 9107 | 0x1c01f000, 0x00108e40, 0x00108db5, 0x00108dc3, | ||
| 9108 | 0x00108de5, 0x00108e11, 0x00108db3, 0x00108d7c, | ||
| 9109 | 0x00108d7c, 0x00108d7c, 0x00108db3, 0x00108db3, | ||
| 9110 | 0x00108db3, 0x00108db3, 0x00108dc3, 0x0201f800, | ||
| 9111 | 0x001005d8, 0x598c000d, 0x81300580, 0x04020004, | ||
| 9112 | 0x0201f800, 0x00106e8e, 0x04020038, 0x0201f800, | ||
| 9113 | 0x001068d3, 0x0400003b, 0x0201f800, 0x00106b6c, | ||
| 9114 | 0x04000032, 0x0201f800, 0x001005d8, 0x497a621d, | ||
| 9115 | 0x812e59c0, 0x02000800, 0x001005d8, 0x592c0204, | ||
| 9116 | 0x82000500, 0x000000ff, 0x82000580, 0x00000014, | ||
| 9117 | 0x04000003, 0x4a02621d, 0x00000003, 0x592c0a08, | ||
| 9118 | 0x0201f800, 0x00104e70, 0x0201f800, 0x0010959c, | ||
| 9119 | 0x0201f800, 0x000202da, 0x497a6008, 0x4a026403, | ||
| 9120 | 0x00000085, 0x4a026203, 0x00000009, 0x4a026406, | ||
| 9121 | 0x00000002, 0x4a026004, 0x8000404b, 0x0201f800, | ||
| 9122 | 0x00106c4b, 0x42000800, 0x8000404b, 0x0201f000, | ||
| 9123 | 0x00020721, 0x0401fef1, 0x04020004, 0x0201f800, | ||
| 9124 | 0x00106e62, 0x04020009, 0x0201f800, 0x001067ae, | ||
| 9125 | 0x040207d2, 0x59300c03, 0x82040580, 0x00000040, | ||
| 9126 | 0x04000008, 0x0401f7d2, 0x59300203, 0x82000c80, | ||
| 9127 | 0x0000000e, 0x02021800, 0x001005d8, 0x0c01f7ae, | ||
| 9128 | 0x0201f800, 0x00106c4b, 0x812e59c0, 0x04000013, | ||
| 9129 | 0x592c0a08, 0x0201f800, 0x00104e70, 0x0201f800, | ||
| 9130 | 0x0010959c, 0x0201f800, 0x000202da, 0x59300203, | ||
| 9131 | 0x82000580, 0x0000000d, 0x04000008, 0x0201f800, | ||
| 9132 | 0x00106c4b, 0x4d340000, 0x59326809, 0x0201f800, | ||
| 9133 | 0x001049b2, 0x5c026800, 0x0201f800, 0x00107911, | ||
| 9134 | 0x0401f030, 0x812e59c0, 0x02000800, 0x001005d8, | ||
| 9135 | 0x0201f800, 0x0010940a, 0x04020004, 0x0201f800, | ||
| 9136 | 0x00100e99, 0x0401f7aa, 0x0201f800, 0x00106c4b, | ||
| 9137 | 0x592c0208, 0x8400050c, 0x48025a08, 0x592c0406, | ||
| 9138 | 0x800000c2, 0x800008c4, 0x80040c00, 0x48066206, | ||
| 9139 | 0x42000000, 0x10000000, 0x41300800, 0x0201f800, | ||
| 9140 | 0x00100b94, 0x0400000d, 0x592c0208, 0x8c00051c, | ||
| 9141 | 0x04020006, 0x8400055c, 0x48025a08, 0x4a026206, | ||
| 9142 | 0x00000002, 0x0401f00f, 0x4d300000, 0x0201f800, | ||
| 9143 | 0x001012e5, 0x5c026000, 0x59300203, 0x82000580, | ||
| 9144 | 0x00000004, 0x04020007, 0x4d380000, 0x42027000, | ||
| 9145 | 0x00000048, 0x0201f800, 0x000207a1, 0x5c027000, | ||
| 9146 | 0x1c01f000, 0x42000000, 0x0010b86e, 0x0201f800, | ||
| 9147 | 0x0010aa47, 0x59300203, 0x82000c80, 0x0000000e, | ||
| 9148 | 0x02021800, 0x001005d8, 0x4803c857, 0x0c01f001, | ||
| 9149 | 0x00108e5a, 0x00108d85, 0x00108e5c, 0x00108e5a, | ||
| 9150 | 0x00108e5c, 0x00108e5c, 0x00108d7d, 0x00108e5a, | ||
| 9151 | 0x00108d79, 0x00108e5a, 0x00108e5a, 0x00108e5a, | ||
| 9152 | 0x00108e5a, 0x00108e5a, 0x0201f800, 0x001005d8, | ||
| 9153 | 0x4d340000, 0x4d2c0000, 0x59326809, 0x59340400, | ||
| 9154 | 0x82000500, 0x000000ff, 0x82000c80, 0x0000000c, | ||
| 9155 | 0x02021800, 0x001005d8, 0x59303403, 0x82180d80, | ||
| 9156 | 0x00000004, 0x04020004, 0x42000000, 0x00000001, | ||
| 9157 | 0x0401f006, 0x82180d80, 0x00000000, 0x04020003, | ||
| 9158 | 0x42000000, 0x00000001, 0x4803c857, 0x0c01f804, | ||
| 9159 | 0x5c025800, 0x5c026800, 0x1c01f000, 0x00108e83, | ||
| 9160 | 0x00108f22, 0x00108e85, 0x00108eba, 0x00108e85, | ||
| 9161 | 0x00108f3f, 0x00108e85, 0x00108e8f, 0x00108e83, | ||
| 9162 | 0x00108f3f, 0x00108e83, 0x00108e9e, 0x0201f800, | ||
| 9163 | 0x001005d8, 0x59300403, 0x82000d80, 0x00000016, | ||
| 9164 | 0x0400002e, 0x82000d80, 0x00000004, 0x0400002b, | ||
| 9165 | 0x82000d80, 0x00000002, 0x04000028, 0x0401fabf, | ||
| 9166 | 0x04000079, 0x59300403, 0x82000d80, 0x00000022, | ||
| 9167 | 0x040000ae, 0x82000d80, 0x00000039, 0x040000b3, | ||
| 9168 | 0x82000d80, 0x00000035, 0x040000b0, 0x82000d80, | ||
| 9169 | 0x0000001e, 0x0400001b, 0x0401f999, 0x04000007, | ||
| 9170 | 0x0201f800, 0x00109597, 0x04020004, 0x0201f800, | ||
| 9171 | 0x00104a14, 0x0401f011, 0x59300403, 0x82000d80, | ||
| 9172 | 0x00000001, 0x04020004, 0x0201f800, 0x001049e7, | ||
| 9173 | 0x0400000a, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 9174 | 0x0010203c, 0x5c027800, 0x42000000, 0x0010b864, | ||
| 9175 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x0010801c, | ||
| 9176 | 0x0201f000, 0x00107911, 0x0401f97d, 0x04000004, | ||
| 9177 | 0x0201f800, 0x00109597, 0x040000a9, 0x59300c03, | ||
| 9178 | 0x82040580, 0x00000016, 0x04000056, 0x82040580, | ||
| 9179 | 0x00000002, 0x04020034, 0x59a80026, 0x8c000502, | ||
| 9180 | 0x04020013, 0x0201f800, 0x0010513b, 0x04020010, | ||
| 9181 | 0x0201f800, 0x00105151, 0x04020006, 0x42000000, | ||
| 9182 | 0x00000001, 0x0201f800, 0x00105113, 0x0401f094, | ||
| 9183 | 0x4a035033, 0x00000001, 0x4202d800, 0x00000001, | ||
| 9184 | 0x0201f800, 0x001050a2, 0x0401f08d, 0x59340403, | ||
| 9185 | 0x82000580, 0x000007fc, 0x04000008, 0x59a80026, | ||
| 9186 | 0x8c00050a, 0x04020084, 0x59340212, 0x82000500, | ||
| 9187 | 0x0000ff00, 0x04000082, 0x59340412, 0x82000500, | ||
| 9188 | 0x000000ff, 0x04000010, 0x80000040, 0x48026c12, | ||
| 9189 | 0x497a6008, 0x4a026406, 0x00000007, 0x4a026206, | ||
| 9190 | 0x00000398, 0x497a6205, 0x0201f800, 0x0002075a, | ||
| 9191 | 0x04000005, 0x49366009, 0x4a026406, 0x00000001, | ||
| 9192 | 0x0401f020, 0x59300403, 0x82000d80, 0x00000002, | ||
| 9193 | 0x0402000d, 0x59340403, 0x82000580, 0x000007fe, | ||
| 9194 | 0x04020009, 0x59a80026, 0x84000540, 0x48035026, | ||
| 9195 | 0x0201f800, 0x00104237, 0x0201f800, 0x0010801c, | ||
| 9196 | 0x0401f00c, 0x0201f800, 0x0010801c, 0x4d3c0000, | ||
| 9197 | 0x417a7800, 0x0201f800, 0x0010203c, 0x5c027800, | ||
| 9198 | 0x42000000, 0x0010b864, 0x0201f800, 0x0010aa47, | ||
| 9199 | 0x0201f800, 0x00102074, 0x0201f000, 0x00107911, | ||
| 9200 | 0x42000800, 0x00000003, 0x0201f800, 0x00104571, | ||
| 9201 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000002, | ||
| 9202 | 0x0201f000, 0x0010672b, 0x0401f915, 0x04020793, | ||
| 9203 | 0x0201f800, 0x00102074, 0x4d3c0000, 0x417a7800, | ||
| 9204 | 0x0201f800, 0x0010203c, 0x5c027800, 0x42000000, | ||
| 9205 | 0x0010b864, 0x0201f800, 0x0010aa47, 0x42003000, | ||
| 9206 | 0x00000018, 0x41782800, 0x42002000, 0x00000000, | ||
| 9207 | 0x4d400000, 0x4d440000, 0x59368c03, 0x42028000, | ||
| 9208 | 0x00000029, 0x0201f800, 0x0010985e, 0x5c028800, | ||
| 9209 | 0x5c028000, 0x0201f000, 0x00107911, 0x0201f800, | ||
| 9210 | 0x00104a14, 0x0401f7c8, 0x42000000, 0x0010b86d, | ||
| 9211 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x00107b76, | ||
| 9212 | 0x040207c1, 0x1c01f000, 0x4d380000, 0x59327403, | ||
| 9213 | 0x0201f800, 0x001093ba, 0x5c027000, 0x02020000, | ||
| 9214 | 0x0002077d, 0x836c0580, 0x00000003, 0x04000004, | ||
| 9215 | 0x4a026206, 0x00000002, 0x1c01f000, 0x59300403, | ||
| 9216 | 0x48026416, 0x4a02621d, 0x00000001, 0x4a026403, | ||
| 9217 | 0x00000085, 0x4a026203, 0x00000009, 0x4a026406, | ||
| 9218 | 0x00000002, 0x42000800, 0x8000004b, 0x0201f000, | ||
| 9219 | 0x00020721, 0x0201f800, 0x00102074, 0x0201f800, | ||
| 9220 | 0x0010801c, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 9221 | 0x0010203c, 0x5c027800, 0x42000000, 0x0010b864, | ||
| 9222 | 0x0201f800, 0x0010aa47, 0x497a6008, 0x4a026406, | ||
| 9223 | 0x00000007, 0x4a026206, 0x00000398, 0x497a6205, | ||
| 9224 | 0x1c01f000, 0x42000000, 0x0010b870, 0x0201f800, | ||
| 9225 | 0x0010aa47, 0x4d340000, 0x59326809, 0x59300203, | ||
| 9226 | 0x82000c80, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 9227 | 0x4803c857, 0x0c01f803, 0x5c026800, 0x1c01f000, | ||
| 9228 | 0x00108f96, 0x00108d85, 0x00108f96, 0x00108f96, | ||
| 9229 | 0x00108f96, 0x00108f96, 0x00108f96, 0x00108f96, | ||
| 9230 | 0x00108f96, 0x00108d85, 0x00108f98, 0x00108d85, | ||
| 9231 | 0x00108fa0, 0x00108f96, 0x0201f800, 0x001005d8, | ||
| 9232 | 0x4a026403, 0x0000008b, 0x4a026203, 0x0000000b, | ||
| 9233 | 0x42000800, 0x8000404b, 0x0201f000, 0x00020721, | ||
| 9234 | 0x59300a1d, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 9235 | 0x0010203c, 0x5c027800, 0x42003000, 0x00000011, | ||
| 9236 | 0x0201f800, 0x0010a942, 0x42000000, 0x0010b864, | ||
| 9237 | 0x0201f800, 0x0010aa47, 0x41306800, 0x0201f800, | ||
| 9238 | 0x0002075a, 0x04000008, 0x49366009, 0x4d300000, | ||
| 9239 | 0x40366000, 0x0201f800, 0x00107911, 0x5c026000, | ||
| 9240 | 0x0401f002, 0x40366000, 0x497a6008, 0x4a026406, | ||
| 9241 | 0x00000001, 0x4a026403, 0x00000001, 0x0201f800, | ||
| 9242 | 0x00103b25, 0x04000011, 0x4a026406, 0x00000004, | ||
| 9243 | 0x4a026203, 0x00000007, 0x4a026420, 0x00000001, | ||
| 9244 | 0x42003000, 0x00000004, 0x4d400000, 0x42028000, | ||
| 9245 | 0x00000029, 0x41782800, 0x0201f800, 0x0010a43e, | ||
| 9246 | 0x5c028000, 0x1c01f000, 0x42000800, 0x0000000b, | ||
| 9247 | 0x0201f800, 0x00104571, 0x4a026203, 0x00000001, | ||
| 9248 | 0x0201f000, 0x0010672b, 0x42000000, 0x0010b876, | ||
| 9249 | 0x0201f800, 0x0010aa47, 0x59300203, 0x82000c80, | ||
| 9250 | 0x0000000e, 0x02021800, 0x001005d8, 0x4803c857, | ||
| 9251 | 0x0c01f001, 0x0010900b, 0x00108ff3, 0x00108ff7, | ||
| 9252 | 0x0010900c, 0x00108ff5, 0x00108ff3, 0x00108ff3, | ||
| 9253 | 0x00108ff3, 0x00108ff3, 0x00108ff3, 0x00108ff3, | ||
| 9254 | 0x00108ff3, 0x00108ff3, 0x00108ff3, 0x0201f800, | ||
| 9255 | 0x001005d8, 0x0201f800, 0x00100e99, 0x4d2c0000, | ||
| 9256 | 0x59325808, 0x4a025a06, 0x00000006, 0x0201f800, | ||
| 9257 | 0x000202da, 0x5c025800, 0x497a6008, 0x4a02621d, | ||
| 9258 | 0x0000000a, 0x4a026403, 0x00000085, 0x4a026203, | ||
| 9259 | 0x00000009, 0x4a026406, 0x00000002, 0x42000800, | ||
| 9260 | 0x8000404b, 0x0201f000, 0x00020721, 0x1c01f000, | ||
| 9261 | 0x0201f800, 0x00106c55, 0x4df00000, 0x0401fcc7, | ||
| 9262 | 0x04020004, 0x0201f800, 0x00106e62, 0x0402000c, | ||
| 9263 | 0x0201f800, 0x001067ae, 0x04020005, 0x5c03e000, | ||
| 9264 | 0x0201f800, 0x00106c4b, 0x0401f7dd, 0x0201f800, | ||
| 9265 | 0x00106b6c, 0x02020800, 0x001005d8, 0x5c03e000, | ||
| 9266 | 0x0201f800, 0x00106c4b, 0x59300203, 0x82000d80, | ||
| 9267 | 0x00000003, 0x02000800, 0x001005d8, 0x82000c80, | ||
| 9268 | 0x0000000e, 0x02021800, 0x001005d8, 0x0c01f7ba, | ||
| 9269 | 0x4803c856, 0x59a8000e, 0x59a80867, 0x80040400, | ||
| 9270 | 0x80080480, 0x04021004, 0x82000540, 0x00000001, | ||
| 9271 | 0x1c01f000, 0x80000580, 0x1c01f000, 0x4803c856, | ||
| 9272 | 0x4c080000, 0x59301008, 0x82081500, 0xfff00000, | ||
| 9273 | 0x5c001000, 0x1c01f000, 0x4803c856, 0x4d300000, | ||
| 9274 | 0x0201f800, 0x0002075a, 0x0400000a, 0x0401f82f, | ||
| 9275 | 0x4d380000, 0x42027000, 0x0000004b, 0x0201f800, | ||
| 9276 | 0x000207a1, 0x5c027000, 0x82000540, 0x00000001, | ||
| 9277 | 0x5c026000, 0x1c01f000, 0x4803c856, 0x4d300000, | ||
| 9278 | 0x0201f800, 0x00107942, 0x0400001b, 0x0401f81f, | ||
| 9279 | 0x4d300000, 0x0201f800, 0x00106c55, 0x4d3c0000, | ||
| 9280 | 0x417a7800, 0x0201f800, 0x00106ab4, 0x0201f800, | ||
| 9281 | 0x001067fd, 0x5c027800, 0x0201f800, 0x0010a2ff, | ||
| 9282 | 0x0201f800, 0x00106c4b, 0x5c026000, 0x8d3e7d3e, | ||
| 9283 | 0x0402000b, 0x4d380000, 0x42027000, 0x0000004c, | ||
| 9284 | 0x0201f800, 0x000207a1, 0x5c027000, 0x82000540, | ||
| 9285 | 0x00000001, 0x5c026000, 0x1c01f000, 0x0201f800, | ||
| 9286 | 0x0002077d, 0x0401f7fa, 0x592c0407, 0x494a6017, | ||
| 9287 | 0x494e6018, 0x49366009, 0x492e6008, 0x4a026406, | ||
| 9288 | 0x00000003, 0x800000c2, 0x800008c4, 0x80040400, | ||
| 9289 | 0x48026206, 0x1c01f000, 0x493bc857, 0x4d300000, | ||
| 9290 | 0x0201f800, 0x0002075a, 0x0400000d, 0x0401ffef, | ||
| 9291 | 0x4d400000, 0x42028000, 0x00000005, 0x0401f80d, | ||
| 9292 | 0x5c028000, 0x8d3e7d3e, 0x04020007, 0x0201f800, | ||
| 9293 | 0x000207a1, 0x82000540, 0x00000001, 0x5c026000, | ||
| 9294 | 0x1c01f000, 0x0201f800, 0x0002077d, 0x0401f7fa, | ||
| 9295 | 0x4803c856, 0x0201f800, 0x00106c55, 0x4d3c0000, | ||
| 9296 | 0x4d440000, 0x59368c03, 0x42027800, 0x00000001, | ||
| 9297 | 0x0201f800, 0x001069b6, 0x0201f800, 0x0010692e, | ||
| 9298 | 0x0201f800, 0x001067fd, 0x0201f800, 0x0010a2ff, | ||
| 9299 | 0x5c028800, 0x5c027800, 0x0201f000, 0x00106c4b, | ||
| 9300 | 0x4803c856, 0x4d300000, 0x0201f800, 0x0002075a, | ||
| 9301 | 0x0400000f, 0x481a601c, 0x48ee6021, 0x49366009, | ||
| 9302 | 0x4a026406, 0x00000001, 0x492e6008, 0x4d380000, | ||
| 9303 | 0x42027000, 0x0000001f, 0x0201f800, 0x000207a1, | ||
| 9304 | 0x5c027000, 0x82000540, 0x00000001, 0x5c026000, | ||
| 9305 | 0x1c01f000, 0x4803c856, 0x4d300000, 0x0201f800, | ||
| 9306 | 0x0002075a, 0x0400000e, 0x48ee6021, 0x49366009, | ||
| 9307 | 0x4a026406, 0x00000001, 0x492e6008, 0x4d380000, | ||
| 9308 | 0x42027000, 0x00000055, 0x0201f800, 0x000207a1, | ||
| 9309 | 0x5c027000, 0x82000540, 0x00000001, 0x5c026000, | ||
| 9310 | 0x1c01f000, 0x4803c856, 0x4d300000, 0x0201f800, | ||
| 9311 | 0x0002075a, 0x0400000f, 0x481a601c, 0x48ee6021, | ||
| 9312 | 0x49366009, 0x4a026406, 0x00000001, 0x492e6008, | ||
| 9313 | 0x4d380000, 0x42027000, 0x0000003d, 0x0201f800, | ||
| 9314 | 0x000207a1, 0x5c027000, 0x82000540, 0x00000001, | ||
| 9315 | 0x5c026000, 0x1c01f000, 0x4803c856, 0x4d300000, | ||
| 9316 | 0x0201f800, 0x00107942, 0x04000014, 0x49366009, | ||
| 9317 | 0x492fc857, 0x4933c857, 0x592c0404, 0x8c00051e, | ||
| 9318 | 0x04000003, 0x48efc857, 0x48ee6021, 0x4a026406, | ||
| 9319 | 0x00000001, 0x492e6008, 0x4d380000, 0x42027000, | ||
| 9320 | 0x00000000, 0x0201f800, 0x000207a1, 0x5c027000, | ||
| 9321 | 0x82000540, 0x00000001, 0x5c026000, 0x1c01f000, | ||
| 9322 | 0x4803c856, 0x4d300000, 0x0201f800, 0x0002075a, | ||
| 9323 | 0x0400000f, 0x48ee6021, 0x481a601c, 0x49366009, | ||
| 9324 | 0x4a026406, 0x00000001, 0x492e6008, 0x4d380000, | ||
| 9325 | 0x42027000, 0x00000044, 0x0201f800, 0x000207a1, | ||
| 9326 | 0x5c027000, 0x82000540, 0x00000001, 0x5c026000, | ||
| 9327 | 0x1c01f000, 0x4803c856, 0x4d300000, 0x0201f800, | ||
| 9328 | 0x0002075a, 0x0400000f, 0x481a601c, 0x48ee6021, | ||
| 9329 | 0x49366009, 0x4a026406, 0x00000001, 0x492e6008, | ||
| 9330 | 0x4d380000, 0x42027000, 0x00000049, 0x0201f800, | ||
| 9331 | 0x000207a1, 0x5c027000, 0x82000540, 0x00000001, | ||
| 9332 | 0x5c026000, 0x1c01f000, 0x59300009, 0x80001540, | ||
| 9333 | 0x02000800, 0x001005d8, 0x5808040b, 0x4803c856, | ||
| 9334 | 0x80000040, 0x04001002, 0x4800140b, 0x1c01f000, | ||
| 9335 | 0x4803c856, 0x59300403, 0x82000d80, 0x00000002, | ||
| 9336 | 0x04000015, 0x82000d80, 0x00000003, 0x04000012, | ||
| 9337 | 0x82000d80, 0x00000004, 0x0400000f, 0x82000d80, | ||
| 9338 | 0x00000008, 0x0400000c, 0x82000d80, 0x0000000a, | ||
| 9339 | 0x04000009, 0x599c0819, 0x8c040d0e, 0x04000004, | ||
| 9340 | 0x82000d80, 0x00000000, 0x04000003, 0x82000540, | ||
| 9341 | 0x00000001, 0x1c01f000, 0x4803c856, 0x4c000000, | ||
| 9342 | 0x4d2c0000, 0x59300406, 0x82000580, 0x00000004, | ||
| 9343 | 0x0400001d, 0x59300008, 0x80025d40, 0x800001c0, | ||
| 9344 | 0x04000019, 0x0201f800, 0x00109597, 0x04000014, | ||
| 9345 | 0x59300406, 0x82004580, 0x00000010, 0x04000010, | ||
| 9346 | 0x82004580, 0x00000011, 0x0400000d, 0x82004580, | ||
| 9347 | 0x00000003, 0x0400000c, 0x82004580, 0x00000002, | ||
| 9348 | 0x04000009, 0x82004580, 0x0000000a, 0x04000006, | ||
| 9349 | 0x592c0404, 0x8c00051e, 0x04000003, 0x80000580, | ||
| 9350 | 0x0401f003, 0x82000540, 0x00000001, 0x5c025800, | ||
| 9351 | 0x5c000000, 0x1c01f000, 0x4803c856, 0x4d300000, | ||
| 9352 | 0x0201f800, 0x00107942, 0x04000013, 0x49366009, | ||
| 9353 | 0x48ee6021, 0x4a026406, 0x00000001, 0x492e6008, | ||
| 9354 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 9355 | 0x5c027800, 0x4d380000, 0x42027000, 0x00000028, | ||
| 9356 | 0x0201f800, 0x000207a1, 0x5c027000, 0x82000540, | ||
| 9357 | 0x00000001, 0x5c026000, 0x1c01f000, 0x4803c856, | ||
| 9358 | 0x83380580, 0x00000015, 0x0402000d, 0x59a80016, | ||
| 9359 | 0x82000580, 0x00000074, 0x04020009, 0x0201f800, | ||
| 9360 | 0x0010462a, 0x4a026203, 0x00000001, 0x4a026403, | ||
| 9361 | 0x00000029, 0x0201f000, 0x0010672b, 0x0201f800, | ||
| 9362 | 0x0010801c, 0x0201f000, 0x0002077d, 0x4803c856, | ||
| 9363 | 0x83380580, 0x00000016, 0x04020007, 0x42000800, | ||
| 9364 | 0x00000004, 0x0201f800, 0x00104571, 0x0201f000, | ||
| 9365 | 0x00107b38, 0x83380580, 0x00000015, 0x04020013, | ||
| 9366 | 0x59a80016, 0x82000580, 0x00000014, 0x0402000f, | ||
| 9367 | 0x0201f800, 0x0010468d, 0x0201f800, 0x0010846f, | ||
| 9368 | 0x0402000a, 0x59340404, 0x80000540, 0x04000007, | ||
| 9369 | 0x42000800, 0x00000006, 0x0201f800, 0x00104571, | ||
| 9370 | 0x0201f000, 0x00107b38, 0x0201f800, 0x0010801c, | ||
| 9371 | 0x0201f000, 0x0002077d, 0x4803c856, 0x592c0206, | ||
| 9372 | 0x82000580, 0x00000005, 0x04000002, 0x1c01f000, | ||
| 9373 | 0x4803c856, 0x592c0208, 0x8400054a, 0x48025a08, | ||
| 9374 | 0x1c01f000, 0x497a6205, 0x497a6008, 0x4a026203, | ||
| 9375 | 0x00000001, 0x4a026403, 0x00000050, 0x42000800, | ||
| 9376 | 0x80000043, 0x0201f000, 0x00020721, 0x4933c857, | ||
| 9377 | 0x4d340000, 0x59326809, 0x59340200, 0x8c00050e, | ||
| 9378 | 0x04000006, 0x59300406, 0x82000c80, 0x00000012, | ||
| 9379 | 0x04021004, 0x0c01f806, 0x5c026800, 0x1c01f000, | ||
| 9380 | 0x0201f800, 0x00108d7c, 0x0401f7fc, 0x00108d7c, | ||
| 9381 | 0x001091fd, 0x00109201, 0x00109204, 0x0010a49b, | ||
| 9382 | 0x0010a4b8, 0x0010a4bc, 0x00108d7c, 0x00108d7c, | ||
| 9383 | 0x00108d7c, 0x00108d7c, 0x00108d7c, 0x00108d7c, | ||
| 9384 | 0x00108d7c, 0x00108d7c, 0x00108d7c, 0x00108d7c, | ||
| 9385 | 0x00108d7c, 0x4803c856, 0x40000000, 0x40000000, | ||
| 9386 | 0x1c01f000, 0x40000000, 0x40000000, 0x1c01f000, | ||
| 9387 | 0x5930001c, 0x4803c857, 0x59300414, 0x4933c857, | ||
| 9388 | 0x4803c857, 0x8c000502, 0x04000005, 0x84000502, | ||
| 9389 | 0x84000540, 0x48026414, 0x1c01f000, 0x42000000, | ||
| 9390 | 0xd0000000, 0x41300800, 0x0201f800, 0x00100b94, | ||
| 9391 | 0x0401f80a, 0x04020008, 0x59a80037, 0x82000400, | ||
| 9392 | 0x0000000a, 0x48026205, 0x59300414, 0x84000542, | ||
| 9393 | 0x48026414, 0x1c01f000, 0x4933c857, 0x4d340000, | ||
| 9394 | 0x59326809, 0x59340200, 0x8c00050e, 0x02000800, | ||
| 9395 | 0x001005d8, 0x5930001c, 0x80000540, 0x0402002f, | ||
| 9396 | 0x59a80021, 0x80000540, 0x0402002a, 0x4d1c0000, | ||
| 9397 | 0x41323800, 0x0201f800, 0x0002075a, 0x04000023, | ||
| 9398 | 0x4932381c, 0x591c0414, 0x84000542, 0x48023c14, | ||
| 9399 | 0x49366009, 0x591c0406, 0x82000580, 0x00000003, | ||
| 9400 | 0x04000006, 0x591c0202, 0x48026419, 0x591c0402, | ||
| 9401 | 0x48026219, 0x0401f005, 0x591c0202, 0x48026219, | ||
| 9402 | 0x591c0402, 0x48026419, 0x491e601e, 0x4a026406, | ||
| 9403 | 0x00000001, 0x4a026403, 0x00000035, 0x4a026203, | ||
| 9404 | 0x00000001, 0x42000800, 0x80000040, 0x0201f800, | ||
| 9405 | 0x00020721, 0x411e6000, 0x5c023800, 0x80000580, | ||
| 9406 | 0x5c026800, 0x1c01f000, 0x411e6000, 0x5c023800, | ||
| 9407 | 0x59a80039, 0x48026205, 0x82000540, 0x00000001, | ||
| 9408 | 0x0401f7f8, 0x4933c857, 0x4d2c0000, 0x4932381c, | ||
| 9409 | 0x4a026202, 0x0000ffff, 0x591e5808, 0x591c0007, | ||
| 9410 | 0x8c00051e, 0x04000005, 0x8400051e, 0x48023807, | ||
| 9411 | 0x497a5c09, 0x0401f014, 0x592c0408, 0x8c000518, | ||
| 9412 | 0x04000011, 0x84000518, 0x48025c08, 0x4a025c09, | ||
| 9413 | 0x00000001, 0x0401fb2f, 0x497a5c09, 0x592c0408, | ||
| 9414 | 0x8c000512, 0x04000008, 0x4d2c0000, 0x84000512, | ||
| 9415 | 0x48025c08, 0x592e5809, 0x0201f800, 0x001007fd, | ||
| 9416 | 0x5c025800, 0x59a80039, 0x48026205, 0x591c0214, | ||
| 9417 | 0x48026216, 0x82000d80, 0x00000001, 0x04000008, | ||
| 9418 | 0x4a023a03, 0x00000002, 0x82000580, 0x00000005, | ||
| 9419 | 0x04000008, 0x497a6015, 0x0401f01e, 0x591c0007, | ||
| 9420 | 0x84000540, 0x48023807, 0x4a023a03, 0x00000004, | ||
| 9421 | 0x591c0414, 0x4803c857, 0x8400051c, 0x84000554, | ||
| 9422 | 0x48023c14, 0x592c000f, 0x40001000, 0x591c0816, | ||
| 9423 | 0x80040480, 0x040217f0, 0x591c0016, 0x82000500, | ||
| 9424 | 0xfffffffc, 0x48026015, 0x48023816, 0x591c0a14, | ||
| 9425 | 0x4807c857, 0x82040d80, 0x00000005, 0x04020005, | ||
| 9426 | 0x480bc857, 0x4803c857, 0x4a023812, 0xffffffff, | ||
| 9427 | 0x591c0402, 0x48026419, 0x591c0202, 0x48026219, | ||
| 9428 | 0x591e6809, 0x49366009, 0x4a026406, 0x00000001, | ||
| 9429 | 0x4a026403, 0x00000039, 0x4a026203, 0x00000001, | ||
| 9430 | 0x42000800, 0x80000040, 0x0201f800, 0x00020721, | ||
| 9431 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x59300414, | ||
| 9432 | 0x8c000514, 0x04000015, 0x8c00051c, 0x04020012, | ||
| 9433 | 0x59300016, 0x80100480, 0x04001006, 0x04000005, | ||
| 9434 | 0x59300414, 0x84000514, 0x8400055c, 0x0401f009, | ||
| 9435 | 0x48126016, 0x48126012, 0x40100000, 0x592c180f, | ||
| 9436 | 0x800c0480, 0x48026011, 0x59300414, 0x84000514, | ||
| 9437 | 0x48026414, 0x1c01f000, 0x4933c857, 0x8c00051c, | ||
| 9438 | 0x04020006, 0x59300012, 0x48026016, 0x59300414, | ||
| 9439 | 0x8400055c, 0x48026414, 0x1c01f000, 0x59300c03, | ||
| 9440 | 0x4933c857, 0x4807c857, 0x82040480, 0x00000034, | ||
| 9441 | 0x04001006, 0x82040480, 0x0000003c, 0x04021003, | ||
| 9442 | 0x80000580, 0x1c01f000, 0x82000540, 0x00000001, | ||
| 9443 | 0x0401f7fd, 0x41780800, 0x59a81035, 0x42000000, | ||
| 9444 | 0x00000032, 0x0201f800, 0x001066a0, 0x800811c0, | ||
| 9445 | 0x04020003, 0x42001000, 0x00000014, 0x480b5037, | ||
| 9446 | 0x59a81036, 0x480b502d, 0x41780800, 0x42000000, | ||
| 9447 | 0x00000064, 0x0201f800, 0x001066a0, 0x800811c0, | ||
| 9448 | 0x04020003, 0x42001000, 0x00000014, 0x480b5038, | ||
| 9449 | 0x82081400, 0x0000000a, 0x480b5039, 0x42000800, | ||
| 9450 | 0x00000001, 0x0201f800, 0x00106c78, 0x42000000, | ||
| 9451 | 0x30000000, 0x40080800, 0x0201f800, 0x00100b68, | ||
| 9452 | 0x42000800, 0x00000003, 0x59a81010, 0x0201f800, | ||
| 9453 | 0x00106c78, 0x0201f000, 0x00104906, 0x4a035037, | ||
| 9454 | 0x00000028, 0x4a035038, 0x00000014, 0x4a03502d, | ||
| 9455 | 0x000007d0, 0x42001000, 0x0000001e, 0x480b5039, | ||
| 9456 | 0x42000800, 0x00000001, 0x0201f800, 0x00106c78, | ||
| 9457 | 0x42000000, 0x30000000, 0x40080800, 0x0201f800, | ||
| 9458 | 0x00100b68, 0x42000800, 0x00000003, 0x59a81010, | ||
| 9459 | 0x0201f000, 0x00106c78, 0x4933c857, 0x4d2c0000, | ||
| 9460 | 0x59300403, 0x82000580, 0x0000003e, 0x04020005, | ||
| 9461 | 0x59325817, 0x812e59c0, 0x02020800, 0x001007f4, | ||
| 9462 | 0x5c025800, 0x1c01f000, 0x4937c857, 0x4d300000, | ||
| 9463 | 0x0201f800, 0x0002075a, 0x04000011, 0x49366009, | ||
| 9464 | 0x4a026406, 0x00000001, 0x492e6008, 0x42000800, | ||
| 9465 | 0x00000009, 0x0201f800, 0x00104571, 0x4d380000, | ||
| 9466 | 0x42027000, 0x00000033, 0x0201f800, 0x000207a1, | ||
| 9467 | 0x5c027000, 0x82000540, 0x00000001, 0x5c026000, | ||
| 9468 | 0x1c01f000, 0x4933c857, 0x4d2c0000, 0x4c580000, | ||
| 9469 | 0x4d3c0000, 0x59325808, 0x83380580, 0x00000015, | ||
| 9470 | 0x04020022, 0x59a8b016, 0x82580c80, 0x00000019, | ||
| 9471 | 0x04001003, 0x4200b000, 0x00000018, 0x8058b104, | ||
| 9472 | 0x0401fa07, 0x80000580, 0x0401fa17, 0x832cac00, | ||
| 9473 | 0x00000009, 0x83cca400, 0x00000006, 0x0201f800, | ||
| 9474 | 0x0010ab17, 0x42027800, 0x00000001, 0x592c100a, | ||
| 9475 | 0x8c081518, 0x04020006, 0x59a80010, 0x592c100d, | ||
| 9476 | 0x80080580, 0x04020006, 0x417a7800, 0x59301009, | ||
| 9477 | 0x58081403, 0x0201f800, 0x001020a1, 0x0201f800, | ||
| 9478 | 0x00107b38, 0x0401f008, 0x4200b000, 0x00000002, | ||
| 9479 | 0x0401fa09, 0x0201f800, 0x0010801c, 0x0201f800, | ||
| 9480 | 0x0002077d, 0x5c027800, 0x5c00b000, 0x5c025800, | ||
| 9481 | 0x1c01f000, 0x4933c856, 0x49366009, 0x4a026406, | ||
| 9482 | 0x00000001, 0x492e6008, 0x4d380000, 0x42027000, | ||
| 9483 | 0x0000004d, 0x0201f800, 0x000207a1, 0x5c027000, | ||
| 9484 | 0x82000540, 0x00000001, 0x1c01f000, 0x4803c856, | ||
| 9485 | 0x4d2c0000, 0x83380580, 0x00000015, 0x04020027, | ||
| 9486 | 0x59a80816, 0x59325808, 0x5930040b, 0x800000c4, | ||
| 9487 | 0x80040580, 0x04020021, 0x4c500000, 0x4c540000, | ||
| 9488 | 0x4c580000, 0x83cca400, 0x00000006, 0x4050a800, | ||
| 9489 | 0x5930b40b, 0x0201f800, 0x0010ab28, 0x83cca400, | ||
| 9490 | 0x00000006, 0x592cb205, 0x832cac00, 0x00000006, | ||
| 9491 | 0x0201f800, 0x0010ab17, 0x592e5801, 0x812e59c0, | ||
| 9492 | 0x040207f9, 0x5931d821, 0x58ef400b, 0x58ee580d, | ||
| 9493 | 0x4a025a04, 0x00000103, 0x58ec0009, 0x0801f800, | ||
| 9494 | 0x59300402, 0x5c00b000, 0x5c00a800, 0x5c00a000, | ||
| 9495 | 0x5c025800, 0x1c01f000, 0x0201f800, 0x0010801c, | ||
| 9496 | 0x5c025800, 0x1c01f000, 0x4933c857, 0x83380580, | ||
| 9497 | 0x00000035, 0x04000005, 0x59301419, 0x0401f851, | ||
| 9498 | 0x04000027, 0x0401f006, 0x4d300000, 0x5932601e, | ||
| 9499 | 0x0401f856, 0x5c026000, 0x04000020, 0x591c0c06, | ||
| 9500 | 0x82040580, 0x00000003, 0x04000004, 0x82040580, | ||
| 9501 | 0x00000006, 0x0402001c, 0x591c0c02, 0x59300419, | ||
| 9502 | 0x80040580, 0x04000009, 0x59300219, 0x80040580, | ||
| 9503 | 0x04020015, 0x591c0a02, 0x59300419, 0x80040580, | ||
| 9504 | 0x04020011, 0x0401f009, 0x59300a19, 0x82040580, | ||
| 9505 | 0x0000ffff, 0x04000005, 0x591c0202, 0x59300a19, | ||
| 9506 | 0x80040580, 0x04020008, 0x591c0009, 0x59300809, | ||
| 9507 | 0x80040580, 0x1c01f000, 0x417a3800, 0x82000540, | ||
| 9508 | 0x00000001, 0x1c01f000, 0x4803c856, 0x59b800e4, | ||
| 9509 | 0x8c000538, 0x02020800, 0x001005d8, 0x42000800, | ||
| 9510 | 0x0000012c, 0x4a0370e4, 0x20000000, 0x59b800e4, | ||
| 9511 | 0x80040840, 0x02000800, 0x001005d8, 0x8c00053c, | ||
| 9512 | 0x040207f9, 0x4a0370e4, 0x30000000, 0x40000000, | ||
| 9513 | 0x40000000, 0x40000000, 0x59b800e4, 0x8c00053c, | ||
| 9514 | 0x040207f1, 0x1c01f000, 0x4803c856, 0x4a0370e4, | ||
| 9515 | 0x20000000, 0x40000000, 0x59b800e4, 0x8c000538, | ||
| 9516 | 0x040207fb, 0x1c01f000, 0x59300807, 0x8c040d1e, | ||
| 9517 | 0x592c0c08, 0x04020002, 0x8c040d18, 0x1c01f000, | ||
| 9518 | 0x0401fc1c, 0x04000008, 0x42000800, 0x00000024, | ||
| 9519 | 0x0201f800, 0x00106681, 0x82063c00, 0x0010d1c0, | ||
| 9520 | 0x491fc857, 0x1c01f000, 0x83300480, 0x0010d1c0, | ||
| 9521 | 0x0400100a, 0x59a8000b, 0x81300480, 0x04021007, | ||
| 9522 | 0x59301402, 0x0401ffef, 0x04000007, 0x411c0000, | ||
| 9523 | 0x81300580, 0x04000003, 0x81780500, 0x0401f002, | ||
| 9524 | 0x81300540, 0x1c01f000, 0x4947c857, 0x4d300000, | ||
| 9525 | 0x0201f800, 0x00020245, 0x0402000a, 0x42026000, | ||
| 9526 | 0x0010bde9, 0x49366009, 0x492e6008, 0x0201f800, | ||
| 9527 | 0x0010203c, 0x80000580, 0x5c026000, 0x1c01f000, | ||
| 9528 | 0x82000540, 0x00000001, 0x0401f7fc, 0x4933c857, | ||
| 9529 | 0x0201f800, 0x00109037, 0x02000800, 0x001005d8, | ||
| 9530 | 0x4d2c0000, 0x4d340000, 0x4d440000, 0x4c580000, | ||
| 9531 | 0x59325808, 0x59326809, 0x49425a06, 0x0201f800, | ||
| 9532 | 0x00105755, 0x592e8c06, 0x592c4207, 0x82200500, | ||
| 9533 | 0x0000000f, 0x0c01f806, 0x5c00b000, 0x5c028800, | ||
| 9534 | 0x5c026800, 0x5c025800, 0x1c01f000, 0x00109466, | ||
| 9535 | 0x00109488, 0x0010948f, 0x00109493, 0x0010949c, | ||
| 9536 | 0x00109463, 0x00109463, 0x00109463, 0x001094a0, | ||
| 9537 | 0x001094ac, 0x001094ac, 0x00109463, 0x00109463, | ||
| 9538 | 0x00109463, 0x00109463, 0x00109463, 0x4803c857, | ||
| 9539 | 0x0201f800, 0x001005d8, 0x814281c0, 0x04020012, | ||
| 9540 | 0x41785800, 0x592c0404, 0x8c00051c, 0x04020002, | ||
| 9541 | 0x59345c05, 0x442c2800, 0x59340008, 0x48002802, | ||
| 9542 | 0x59340009, 0x48002801, 0x59340006, 0x48002804, | ||
| 9543 | 0x59340007, 0x48002803, 0x4200b000, 0x0000000b, | ||
| 9544 | 0x0401f037, 0x592c0207, 0x8c00051e, 0x4200b000, | ||
| 9545 | 0x00000002, 0x04020032, 0x8204b540, 0x00000000, | ||
| 9546 | 0x0400002f, 0x44042800, 0x59326809, 0x59340400, | ||
| 9547 | 0x48002801, 0x4200b000, 0x00000002, 0x0401f028, | ||
| 9548 | 0x814281c0, 0x04020030, 0x59345c05, 0x442c2800, | ||
| 9549 | 0x4200b000, 0x00000001, 0x0401f021, 0x8340b540, | ||
| 9550 | 0x00000000, 0x0400001e, 0x0401f027, 0x814281c0, | ||
| 9551 | 0x04020025, 0x59340200, 0x44002800, 0x59340001, | ||
| 9552 | 0x48002801, 0x4200b000, 0x00000002, 0x0401f014, | ||
| 9553 | 0x8340b540, 0x00000000, 0x0402001b, 0x0401f010, | ||
| 9554 | 0x8340b540, 0x00000000, 0x0400000d, 0x0201f800, | ||
| 9555 | 0x00104a1f, 0x04000014, 0x8c20450e, 0x04000002, | ||
| 9556 | 0x497a6009, 0x4178b000, 0x497a5a06, 0x0401f004, | ||
| 9557 | 0x8340b540, 0x00000000, 0x0402000b, 0x592c0404, | ||
| 9558 | 0x8400051c, 0x48025c04, 0x592c0207, 0x8400051e, | ||
| 9559 | 0x48025a07, 0x0401f8aa, 0x497a6008, 0x0201f000, | ||
| 9560 | 0x000202da, 0x592c0207, 0x8c00051e, 0x4200b000, | ||
| 9561 | 0x00000002, 0x040207f2, 0x8204b540, 0x00000000, | ||
| 9562 | 0x040007ef, 0x44042800, 0x4200b000, 0x00000001, | ||
| 9563 | 0x0401f7eb, 0x4937c857, 0x4d300000, 0x0201f800, | ||
| 9564 | 0x0002075a, 0x04000011, 0x49366009, 0x4a026406, | ||
| 9565 | 0x00000001, 0x492e6008, 0x42000800, 0x0000000b, | ||
| 9566 | 0x0201f800, 0x00104571, 0x4d380000, 0x42027000, | ||
| 9567 | 0x00000043, 0x0201f800, 0x000207a1, 0x5c027000, | ||
| 9568 | 0x82000540, 0x00000001, 0x5c026000, 0x1c01f000, | ||
| 9569 | 0x4937c857, 0x4d2c0000, 0x59325808, 0x83380580, | ||
| 9570 | 0x00000015, 0x04020025, 0x59a80016, 0x82000580, | ||
| 9571 | 0x00000004, 0x04020021, 0x59a80010, 0x592c1009, | ||
| 9572 | 0x80080580, 0x04020010, 0x4d440000, 0x592e8c06, | ||
| 9573 | 0x592c0207, 0x4803c856, 0x82000500, 0x00000080, | ||
| 9574 | 0x84000548, 0x4d3c0000, 0x42027800, 0x00001000, | ||
| 9575 | 0x0201f800, 0x001049bb, 0x5c027800, 0x5c028800, | ||
| 9576 | 0x0401f004, 0x4803c856, 0x0201f800, 0x00104a1f, | ||
| 9577 | 0x0201f800, 0x00109037, 0x04000017, 0x4d400000, | ||
| 9578 | 0x42028000, 0x00000000, 0x41780800, 0x0401ff38, | ||
| 9579 | 0x5c028000, 0x0401f00e, 0x0201f800, 0x00104a1f, | ||
| 9580 | 0x040207f4, 0x0201f800, 0x00109037, 0x0400000a, | ||
| 9581 | 0x4c580000, 0x4200b000, 0x00000002, 0x0401f86e, | ||
| 9582 | 0x5c00b000, 0x0201f800, 0x0010801c, 0x0201f800, | ||
| 9583 | 0x0002077d, 0x5c025800, 0x1c01f000, 0x4937c857, | ||
| 9584 | 0x4d300000, 0x0201f800, 0x0002075a, 0x04000012, | ||
| 9585 | 0x49366009, 0x4a026406, 0x00000001, 0x4d3c0000, | ||
| 9586 | 0x4d380000, 0x417a7800, 0x0201f800, 0x00104567, | ||
| 9587 | 0x492e6008, 0x42027000, 0x00000004, 0x0201f800, | ||
| 9588 | 0x000207a1, 0x5c027000, 0x5c027800, 0x82000540, | ||
| 9589 | 0x00000001, 0x5c026000, 0x1c01f000, 0x4937c857, | ||
| 9590 | 0x4d300000, 0x0201f800, 0x00107942, 0x0400000d, | ||
| 9591 | 0x49366009, 0x4a026406, 0x00000001, 0x492e6008, | ||
| 9592 | 0x4d380000, 0x42027000, 0x00000051, 0x0201f800, | ||
| 9593 | 0x000207a1, 0x5c027000, 0x82000540, 0x00000001, | ||
| 9594 | 0x5c026000, 0x1c01f000, 0x4933c857, 0x4c580000, | ||
| 9595 | 0x59325808, 0x83383580, 0x00000015, 0x04020011, | ||
| 9596 | 0x592c0008, 0x82000500, 0x00ffffff, 0x0402000a, | ||
| 9597 | 0x0201f800, 0x00105755, 0x59cc0000, 0x82000500, | ||
| 9598 | 0x00ffffff, 0x44002800, 0x4200b000, 0x00000001, | ||
| 9599 | 0x0401f80b, 0x0201f800, 0x00107b38, 0x0401f006, | ||
| 9600 | 0x4200b000, 0x00000002, 0x0401f823, 0x0201f800, | ||
| 9601 | 0x0010801c, 0x5c00b000, 0x1c01f000, 0x492fc857, | ||
| 9602 | 0x4c580000, 0x4c000000, 0x8058b1c0, 0x0400000b, | ||
| 9603 | 0x82580500, 0xfffffff0, 0x02020800, 0x001005d8, | ||
| 9604 | 0x8058b0d0, 0x592c0408, 0x82000500, 0xfffff0ff, | ||
| 9605 | 0x80580540, 0x48025c08, 0x5c000000, 0x5c00b000, | ||
| 9606 | 0x1c01f000, 0x492fc857, 0x4c000000, 0x4c040000, | ||
| 9607 | 0x800000d8, 0x592c0c08, 0x82040d00, 0xffff0fff, | ||
| 9608 | 0x80040540, 0x48025c08, 0x5c000800, 0x5c000000, | ||
| 9609 | 0x1c01f000, 0x4933c857, 0x4d2c0000, 0x59325808, | ||
| 9610 | 0x592c0207, 0x8400055e, 0x48025a07, 0x4c500000, | ||
| 9611 | 0x4c540000, 0x4c580000, 0x0401ffd9, 0x0201f800, | ||
| 9612 | 0x00105755, 0x46002800, 0x00000018, 0x80142800, | ||
| 9613 | 0x8058b040, 0x83cca400, 0x00000007, 0x4014a800, | ||
| 9614 | 0x0201f800, 0x0010ab17, 0x5c00b000, 0x5c00a800, | ||
| 9615 | 0x5c00a000, 0x5c025800, 0x1c01f000, 0x59325808, | ||
| 9616 | 0x592c0204, 0x82000580, 0x00000152, 0x1c01f000, | ||
| 9617 | 0x5930001f, 0x80000540, 0x02020800, 0x00100d56, | ||
| 9618 | 0x1c01f000, 0x4d2c0000, 0x59325808, 0x59300203, | ||
| 9619 | 0x4933c857, 0x492fc857, 0x493bc857, 0x4803c857, | ||
| 9620 | 0x82003480, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 9621 | 0x0c01f803, 0x5c025800, 0x1c01f000, 0x001095bd, | ||
| 9622 | 0x001095c8, 0x00109603, 0x001095bd, 0x001095bd, | ||
| 9623 | 0x001095bd, 0x001095bd, 0x001095bd, 0x001095bf, | ||
| 9624 | 0x001095bd, 0x001095bd, 0x001095bd, 0x001095bd, | ||
| 9625 | 0x001095bd, 0x0201f800, 0x001005d8, 0x83383480, | ||
| 9626 | 0x00000056, 0x02021800, 0x001005d8, 0x493a6403, | ||
| 9627 | 0x4a026203, 0x00000001, 0x0201f000, 0x0010672b, | ||
| 9628 | 0x83380580, 0x00000013, 0x0402000f, 0x592c000c, | ||
| 9629 | 0x800001c0, 0x04000006, 0x4a026203, 0x00000002, | ||
| 9630 | 0x59a80037, 0x48026206, 0x1c01f000, 0x4a025a06, | ||
| 9631 | 0x00000000, 0x0201f800, 0x000202da, 0x0201f000, | ||
| 9632 | 0x0002077d, 0x83380580, 0x00000027, 0x0400001a, | ||
| 9633 | 0x83380580, 0x00000014, 0x04000012, 0x83380580, | ||
| 9634 | 0x00000015, 0x04000005, 0x83380580, 0x00000016, | ||
| 9635 | 0x02020800, 0x001005d8, 0x0201f800, 0x00106f60, | ||
| 9636 | 0x02020000, 0x00107974, 0x59300203, 0x82000580, | ||
| 9637 | 0x00000002, 0x02020800, 0x001005d8, 0x0401f014, | ||
| 9638 | 0x0201f800, 0x00106bbf, 0x4a02580e, 0x00000011, | ||
| 9639 | 0x0401f005, 0x0201f800, 0x00106bbf, 0x4a02580e, | ||
| 9640 | 0x00000010, 0x4a025a06, 0x00000031, 0x4a02580d, | ||
| 9641 | 0x00000004, 0x0201f800, 0x000202da, 0x0201f800, | ||
| 9642 | 0x00104c19, 0x0201f000, 0x00107911, 0x59341400, | ||
| 9643 | 0x82081d00, 0x000000ff, 0x59300c03, 0x480bc857, | ||
| 9644 | 0x4807c857, 0x82040580, 0x00000053, 0x0400002e, | ||
| 9645 | 0x82040580, 0x00000002, 0x04000016, 0x82040580, | ||
| 9646 | 0x00000001, 0x04000017, 0x82040580, 0x00000003, | ||
| 9647 | 0x0400001c, 0x82040580, 0x00000005, 0x0400001d, | ||
| 9648 | 0x82040580, 0x00000033, 0x0400001a, 0x82040580, | ||
| 9649 | 0x00000000, 0x0400001b, 0x82040580, 0x00000004, | ||
| 9650 | 0x02020800, 0x001005d8, 0x0401f8a1, 0x0401f016, | ||
| 9651 | 0x820c0580, 0x00000003, 0x0400084c, 0x0401f012, | ||
| 9652 | 0x820c0580, 0x0000000b, 0x0402000f, 0x42000800, | ||
| 9653 | 0x00000007, 0x0201f800, 0x00104571, 0x0401f00a, | ||
| 9654 | 0x820c0580, 0x00000005, 0x04000864, 0x0401f006, | ||
| 9655 | 0x820c0580, 0x00000009, 0x04000889, 0x0401f002, | ||
| 9656 | 0x0401f893, 0x4a026403, 0x00000052, 0x59a81016, | ||
| 9657 | 0x592c040b, 0x8c000500, 0x04000003, 0x42001000, | ||
| 9658 | 0x00000008, 0x592c040b, 0x8c000516, 0x04000003, | ||
| 9659 | 0x82081400, 0x00000018, 0x592c000c, 0x497a580d, | ||
| 9660 | 0x497a580e, 0x80080c80, 0x04000009, 0x04001005, | ||
| 9661 | 0x4a025a06, 0x00000007, 0x40001000, 0x0401f006, | ||
| 9662 | 0x4a025a06, 0x00000015, 0x0401f003, 0x4a025a06, | ||
| 9663 | 0x00000000, 0x480a580c, 0x82081400, 0x00000003, | ||
| 9664 | 0x80081104, 0x0201f800, 0x00107ab5, 0x04000010, | ||
| 9665 | 0x592c1001, 0x480a600b, 0x58080800, 0x82080400, | ||
| 9666 | 0x00000002, 0x592c1011, 0x592c1812, 0x42003000, | ||
| 9667 | 0x00000000, 0x42002000, 0x00101200, 0x0201f800, | ||
| 9668 | 0x00107c32, 0x04000002, 0x1c01f000, 0x4a025a06, | ||
| 9669 | 0x0000002c, 0x497a580c, 0x0201f800, 0x000202da, | ||
| 9670 | 0x0201f000, 0x0002077d, 0x83380580, 0x00000015, | ||
| 9671 | 0x0402000a, 0x59a80005, 0x8c000514, 0x0402000b, | ||
| 9672 | 0x0201f800, 0x0010462a, 0x42000800, 0x00000004, | ||
| 9673 | 0x0201f000, 0x00104571, 0x42000800, 0x00000007, | ||
| 9674 | 0x0201f000, 0x00104571, 0x0201f800, 0x0010513b, | ||
| 9675 | 0x42001000, 0x00000010, 0x04020009, 0x59340002, | ||
| 9676 | 0x82000500, 0x00ff0000, 0x82000580, 0x00ff0000, | ||
| 9677 | 0x040007ec, 0x42001000, 0x00000008, 0x0201f800, | ||
| 9678 | 0x00104c6d, 0x040007e7, 0x592c040b, 0x84000540, | ||
| 9679 | 0x48025c0b, 0x0401f7e9, 0x83380580, 0x00000015, | ||
| 9680 | 0x0402000f, 0x59a80005, 0x8c000514, 0x04020010, | ||
| 9681 | 0x0201f800, 0x0010468d, 0x4d3c0000, 0x417a7800, | ||
| 9682 | 0x0201f800, 0x00104567, 0x5c027800, 0x42000800, | ||
| 9683 | 0x00000006, 0x0201f000, 0x00104571, 0x42000800, | ||
| 9684 | 0x00000004, 0x0201f000, 0x00104571, 0x0201f800, | ||
| 9685 | 0x0010513b, 0x42001000, 0x00000010, 0x04020009, | ||
| 9686 | 0x59340002, 0x82000500, 0x00ff0000, 0x82000580, | ||
| 9687 | 0x00ff0000, 0x040007e7, 0x42001000, 0x00000008, | ||
| 9688 | 0x0201f800, 0x00104c6d, 0x040007e2, 0x592c040b, | ||
| 9689 | 0x84000540, 0x48025c0b, 0x0401f7e9, 0x42000800, | ||
| 9690 | 0x00000004, 0x0201f000, 0x00104571, 0x83380580, | ||
| 9691 | 0x00000015, 0x04020005, 0x0201f800, 0x0010a2c8, | ||
| 9692 | 0x02000800, 0x001048c1, 0x1c01f000, 0x83380580, | ||
| 9693 | 0x00000015, 0x0402001d, 0x4c580000, 0x83cc1400, | ||
| 9694 | 0x00000008, 0x4200b000, 0x00000002, 0x83341c00, | ||
| 9695 | 0x00000006, 0x0201f800, 0x0010855a, 0x04020012, | ||
| 9696 | 0x83cc1400, 0x0000000a, 0x4200b000, 0x00000002, | ||
| 9697 | 0x83341c00, 0x00000008, 0x0201f800, 0x0010855a, | ||
| 9698 | 0x04020009, 0x59342200, 0x59cc1007, 0x800811c0, | ||
| 9699 | 0x04000003, 0x480a6801, 0x84102542, 0x8410251a, | ||
| 9700 | 0x48126a00, 0x5c00b000, 0x1c01f000, 0x42000000, | ||
| 9701 | 0x0010b87b, 0x0201f800, 0x0010aa47, 0x0201f800, | ||
| 9702 | 0x00106c55, 0x59300203, 0x4933c857, 0x4803c857, | ||
| 9703 | 0x82000c80, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 9704 | 0x0c01f803, 0x0201f000, 0x00106c4b, 0x0010970b, | ||
| 9705 | 0x0010971a, 0x0010970c, 0x00109709, 0x00109709, | ||
| 9706 | 0x00109709, 0x00109709, 0x00109709, 0x00109709, | ||
| 9707 | 0x00109709, 0x00109709, 0x00109709, 0x00109709, | ||
| 9708 | 0x00109709, 0x0201f800, 0x001005d8, 0x1c01f000, | ||
| 9709 | 0x59300403, 0x82000580, 0x00000052, 0x02000000, | ||
| 9710 | 0x00108d85, 0x0201f800, 0x00104c19, 0x59325808, | ||
| 9711 | 0x4a025a06, 0x00000006, 0x0201f800, 0x000202da, | ||
| 9712 | 0x0201f000, 0x00107911, 0x59301804, 0x840c0520, | ||
| 9713 | 0x48026004, 0x598c000d, 0x81300580, 0x04020010, | ||
| 9714 | 0x8c0c1d20, 0x04020010, 0x42001000, 0x0010b7f6, | ||
| 9715 | 0x50081000, 0x58080002, 0x82000580, 0x00000100, | ||
| 9716 | 0x0400000e, 0x5808000c, 0x81300580, 0x02020800, | ||
| 9717 | 0x001005d8, 0x4978100c, 0x0401f003, 0x8c0c1d20, | ||
| 9718 | 0x040207dc, 0x0201f800, 0x001068d3, 0x040007d9, | ||
| 9719 | 0x0201f800, 0x001005d8, 0x0201f800, 0x00106e8e, | ||
| 9720 | 0x040007f9, 0x59300203, 0x82000c80, 0x0000000e, | ||
| 9721 | 0x02021800, 0x001005d8, 0x0c01f7bd, 0x4933c857, | ||
| 9722 | 0x4c500000, 0x4c540000, 0x4c580000, 0x592c0c07, | ||
| 9723 | 0x4806580a, 0x59cc0809, 0x48065807, 0x59cc0a08, | ||
| 9724 | 0x4806580b, 0x59c80817, 0x82040500, 0x000003ff, | ||
| 9725 | 0x800010c4, 0x8c040d14, 0x04000005, 0x59cc0002, | ||
| 9726 | 0x82000500, 0x00000003, 0x80081480, 0x82080480, | ||
| 9727 | 0x000000f1, 0x02021800, 0x001005d8, 0x480a621a, | ||
| 9728 | 0x412c0800, 0x0201f800, 0x001007d3, 0x02000800, | ||
| 9729 | 0x001005d8, 0x492c0809, 0x58040408, 0x84000552, | ||
| 9730 | 0x84000540, 0x48000c08, 0x82081400, 0x00000003, | ||
| 9731 | 0x80081104, 0x83cca400, 0x00000006, 0x832cac00, | ||
| 9732 | 0x00000004, 0x42000800, 0x00000010, 0x82080480, | ||
| 9733 | 0x00000010, 0x04021003, 0x40080800, 0x80000580, | ||
| 9734 | 0x4004b000, 0x4c000000, 0x0201f800, 0x0010ab28, | ||
| 9735 | 0x5c000000, 0x800001c0, 0x0400000d, 0x412c1000, | ||
| 9736 | 0x4c000000, 0x0201f800, 0x001007d3, 0x02000800, | ||
| 9737 | 0x001005d8, 0x492c1001, 0x832cac00, 0x00000004, | ||
| 9738 | 0x5c000000, 0x40001000, 0x0401f7e9, 0x5c00b000, | ||
| 9739 | 0x5c00a800, 0x5c00a000, 0x1c01f000, 0x4933c857, | ||
| 9740 | 0x4d2c0000, 0x4c380000, 0x59325808, 0x5930021a, | ||
| 9741 | 0x48025a08, 0x59301011, 0x800811c0, 0x04020008, | ||
| 9742 | 0x4a025a06, 0x00000000, 0x592c000b, 0x82000500, | ||
| 9743 | 0x00000c00, 0x0400000b, 0x0401f00b, 0x8c08153e, | ||
| 9744 | 0x04000006, 0x4a025a06, 0x00000007, 0x80081080, | ||
| 9745 | 0x80081000, 0x0401f003, 0x4a025a06, 0x00000015, | ||
| 9746 | 0x480a5807, 0x42000000, 0x0010bed9, 0x50007000, | ||
| 9747 | 0x5838000b, 0x80000540, 0x04020008, 0x4930700c, | ||
| 9748 | 0x4930700b, 0x58380002, 0x82000580, 0x00000000, | ||
| 9749 | 0x04020809, 0x0401f005, 0x82001400, 0x00000000, | ||
| 9750 | 0x45301000, 0x4930700b, 0x5c007000, 0x5c025800, | ||
| 9751 | 0x1c01f000, 0x4933c857, 0x592c0009, 0x40001000, | ||
| 9752 | 0x4800700a, 0x82080400, 0x00000004, 0x48007003, | ||
| 9753 | 0x592c000d, 0x592c100e, 0x48007007, 0x48087008, | ||
| 9754 | 0x592c000a, 0x592c1208, 0x80080c80, 0x04001002, | ||
| 9755 | 0x40001000, 0x82081400, 0x00000003, 0x80081104, | ||
| 9756 | 0x82080480, 0x00000010, 0x04021003, 0x80000580, | ||
| 9757 | 0x0401f003, 0x42001000, 0x00000010, 0x4800700d, | ||
| 9758 | 0x48087004, 0x800810c4, 0x48087005, 0x40381000, | ||
| 9759 | 0x0201f800, 0x00100858, 0x1c01f000, 0x4d2c0000, | ||
| 9760 | 0x0201f800, 0x001007d3, 0x02000800, 0x001005d8, | ||
| 9761 | 0x42000800, 0x0010bed9, 0x452c0800, 0x497a580b, | ||
| 9762 | 0x497a580c, 0x497a580d, 0x4a025809, 0x001097ea, | ||
| 9763 | 0x4a025802, 0x00000100, 0x4a025801, 0x00000000, | ||
| 9764 | 0x5c025800, 0x1c01f000, 0x4833c857, 0x4d300000, | ||
| 9765 | 0x4d2c0000, 0x4c5c0000, 0x4030b800, 0x585c000a, | ||
| 9766 | 0x80025d40, 0x04020004, 0x585c000c, 0x4c000000, | ||
| 9767 | 0x0401f044, 0x585c0002, 0x82000580, 0x00000100, | ||
| 9768 | 0x04020022, 0x592c0801, 0x4c040000, 0x0201f800, | ||
| 9769 | 0x001007f4, 0x5c000800, 0x800409c0, 0x0400001c, | ||
| 9770 | 0x4804b80a, 0x585c100d, 0x800811c0, 0x04020005, | ||
| 9771 | 0x40065800, 0x0201f800, 0x001007fd, 0x0401f014, | ||
| 9772 | 0x82080480, 0x00000010, 0x04021003, 0x80000580, | ||
| 9773 | 0x0401f003, 0x42001000, 0x00000010, 0x4800b80d, | ||
| 9774 | 0x4808b804, 0x800810c4, 0x4808b805, 0x82040400, | ||
| 9775 | 0x00000004, 0x4800b803, 0x405c1000, 0x0201f800, | ||
| 9776 | 0x00100858, 0x0401f025, 0x0401f828, 0x585c000c, | ||
| 9777 | 0x80026540, 0x59300000, 0x80000d40, 0x04020002, | ||
| 9778 | 0x4800b80b, 0x4800b80c, 0x497a6000, 0x4c000000, | ||
| 9779 | 0x4978b80a, 0x59325808, 0x4a025a04, 0x00000103, | ||
| 9780 | 0x59300402, 0x48025c06, 0x592c100b, 0x4c080000, | ||
| 9781 | 0x0201f800, 0x000202c1, 0x0201f800, 0x0010912a, | ||
| 9782 | 0x5c001000, 0x8c081518, 0x04000004, 0x0201f800, | ||
| 9783 | 0x001091d1, 0x0401f003, 0x0201f800, 0x0002077d, | ||
| 9784 | 0x405c7000, 0x5c000000, 0x80026540, 0x04000003, | ||
| 9785 | 0x59325808, 0x0401ff78, 0x5c00b800, 0x5c025800, | ||
| 9786 | 0x5c026000, 0x1c01f000, 0x483bc857, 0x5838000a, | ||
| 9787 | 0x40025800, 0x0201f800, 0x001007fd, 0x5838000c, | ||
| 9788 | 0x80026540, 0x59300008, 0x80025d40, 0x4a025a06, | ||
| 9789 | 0x00000002, 0x1c01f000, 0x4803c857, 0x4d1c0000, | ||
| 9790 | 0x497a601c, 0x41323800, 0x40026000, 0x4d3c0000, | ||
| 9791 | 0x42027800, 0x00000005, 0x0401f83c, 0x5c027800, | ||
| 9792 | 0x411e6000, 0x59300414, 0x84000502, 0x48026414, | ||
| 9793 | 0x5c023800, 0x1c01f000, 0x481bc857, 0x4933c857, | ||
| 9794 | 0x4c5c0000, 0x4c600000, 0x4010b800, 0x4014c000, | ||
| 9795 | 0x0201f800, 0x0010a942, 0x0201f800, 0x00103b25, | ||
| 9796 | 0x04000008, 0x40602800, 0x405c3000, 0x0201f800, | ||
| 9797 | 0x0010a446, 0x82000540, 0x00000001, 0x0401f002, | ||
| 9798 | 0x80000580, 0x5c00c000, 0x5c00b800, 0x1c01f000, | ||
| 9799 | 0x4803c856, 0x4d300000, 0x42026000, 0x0010d1c0, | ||
| 9800 | 0x59a8000e, 0x81640580, 0x04000016, 0x59300c06, | ||
| 9801 | 0x82040580, 0x00000001, 0x04000009, 0x82040580, | ||
| 9802 | 0x00000004, 0x04000006, 0x82040580, 0x00000010, | ||
| 9803 | 0x02000800, 0x00108cf9, 0x0401f005, 0x4807c857, | ||
| 9804 | 0x0201f800, 0x001092d7, 0x04020808, 0x83326400, | ||
| 9805 | 0x00000024, 0x41580000, 0x81300480, 0x040017e9, | ||
| 9806 | 0x5c026000, 0x1c01f000, 0x4933c857, 0x59300403, | ||
| 9807 | 0x4803c857, 0x0201f800, 0x00106c55, 0x4df00000, | ||
| 9808 | 0x59300406, 0x4803c857, 0x82000d80, 0x00000002, | ||
| 9809 | 0x04000018, 0x82000d80, 0x00000001, 0x04000009, | ||
| 9810 | 0x82000d80, 0x00000004, 0x04000006, 0x4933c856, | ||
| 9811 | 0x5c03e000, 0x02000800, 0x00106c4b, 0x0401f03c, | ||
| 9812 | 0x59300203, 0x82000d80, 0x00000001, 0x04000018, | ||
| 9813 | 0x82000d80, 0x00000002, 0x04000026, 0x82000d80, | ||
| 9814 | 0x00000005, 0x04000023, 0x0201f800, 0x001005d8, | ||
| 9815 | 0x59300203, 0x82000d80, 0x00000009, 0x0400000c, | ||
| 9816 | 0x82000d80, 0x0000000b, 0x04000009, 0x82000d80, | ||
| 9817 | 0x0000000a, 0x04000017, 0x82000d80, 0x0000000c, | ||
| 9818 | 0x04000014, 0x0201f800, 0x001005d8, 0x598c000d, | ||
| 9819 | 0x81300580, 0x04020004, 0x0201f800, 0x00106e8e, | ||
| 9820 | 0x0402000c, 0x59300004, 0x4803c857, 0x8c000520, | ||
| 9821 | 0x04000004, 0x84000520, 0x48026004, 0x0401f005, | ||
| 9822 | 0x0201f800, 0x001068d3, 0x02020800, 0x001005d8, | ||
| 9823 | 0x5c03e000, 0x02000800, 0x00106c4b, 0x59300406, | ||
| 9824 | 0x82000d80, 0x00000002, 0x04000009, 0x0201f800, | ||
| 9825 | 0x00104c19, 0x0201f800, 0x0010914e, 0x02000800, | ||
| 9826 | 0x0010801c, 0x8d3e7d00, 0x04000003, 0x0201f000, | ||
| 9827 | 0x00107911, 0x4a02621d, 0x00000001, 0x4a026403, | ||
| 9828 | 0x00000085, 0x4a026203, 0x00000009, 0x4a026406, | ||
| 9829 | 0x00000002, 0x42000800, 0x8000004b, 0x0201f000, | ||
| 9830 | 0x00020721, 0x4933c857, 0x59368c03, 0x4c180000, | ||
| 9831 | 0x59300203, 0x82003480, 0x0000000e, 0x02021800, | ||
| 9832 | 0x001005d8, 0x0c01f803, 0x5c003000, 0x1c01f000, | ||
| 9833 | 0x0010990a, 0x00109dcf, 0x00109edb, 0x0010990a, | ||
| 9834 | 0x0010990a, 0x0010990a, 0x0010990a, 0x0010990a, | ||
| 9835 | 0x0010992d, 0x0010990a, 0x0010990a, 0x0010990a, | ||
| 9836 | 0x0010990a, 0x0010990a, 0x0201f800, 0x001005d8, | ||
| 9837 | 0x4933c857, 0x42028800, 0x0000ffff, 0x813669c0, | ||
| 9838 | 0x04000002, 0x59368c03, 0x4c180000, 0x59300203, | ||
| 9839 | 0x82003480, 0x0000000e, 0x02021800, 0x001005d8, | ||
| 9840 | 0x0c01f803, 0x5c003000, 0x1c01f000, 0x00109929, | ||
| 9841 | 0x0010a180, 0x00109929, 0x00109929, 0x00109929, | ||
| 9842 | 0x00109929, 0x00109929, 0x0010a952, 0x0010a0ed, | ||
| 9843 | 0x0010a52c, 0x0010a562, 0x0010a52c, 0x0010a562, | ||
| 9844 | 0x00109929, 0x0201f800, 0x001005d8, 0x0201f800, | ||
| 9845 | 0x001005d8, 0x83383480, 0x00000051, 0x02021800, | ||
| 9846 | 0x001005d8, 0x41380000, 0x493bc857, 0x4d1c0000, | ||
| 9847 | 0x4d400000, 0x0c01f804, 0x5c028000, 0x5c023800, | ||
| 9848 | 0x1c01f000, 0x0010998a, 0x00109b69, 0x0010998a, | ||
| 9849 | 0x0010998a, 0x0010998a, 0x00109b74, 0x0010998a, | ||
| 9850 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010998a, | ||
| 9851 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010998a, | ||
| 9852 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010998a, | ||
| 9853 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010998a, | ||
| 9854 | 0x001099ac, 0x001099f5, 0x00109a0c, 0x00109a62, | ||
| 9855 | 0x00109ac6, 0x00109b04, 0x00109b34, 0x0010998a, | ||
| 9856 | 0x0010998a, 0x00109b7c, 0x0010998a, 0x0010998a, | ||
| 9857 | 0x00109b8a, 0x00109b93, 0x0010998a, 0x0010998a, | ||
| 9858 | 0x0010998a, 0x0010998a, 0x0010998a, 0x00109c15, | ||
| 9859 | 0x0010998a, 0x0010998a, 0x00109a9a, 0x0010998a, | ||
| 9860 | 0x0010998a, 0x00109bec, 0x0010998a, 0x0010998a, | ||
| 9861 | 0x0010998a, 0x00109c23, 0x0010998a, 0x0010998a, | ||
| 9862 | 0x0010998a, 0x00109c6c, 0x0010998a, 0x0010998a, | ||
| 9863 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010998a, | ||
| 9864 | 0x00109cb9, 0x0010998a, 0x00109ce5, 0x00109cf0, | ||
| 9865 | 0x0010998a, 0x0010998a, 0x0010998c, 0x00109cfb, | ||
| 9866 | 0x0010998a, 0x0010998a, 0x0010998a, 0x0010999b, | ||
| 9867 | 0x0010998a, 0x0010998a, 0x0010998a, 0x00109d02, | ||
| 9868 | 0x00109d0a, 0x00109d28, 0x0201f800, 0x001005d8, | ||
| 9869 | 0x4933c857, 0x0201f800, 0x0010a592, 0x040203a4, | ||
| 9870 | 0x0201f800, 0x0010210a, 0x040203a1, 0x59cc0407, | ||
| 9871 | 0x4802601c, 0x4a026403, 0x00000045, 0x4a026203, | ||
| 9872 | 0x00000001, 0x0201f000, 0x0010672b, 0x4933c857, | ||
| 9873 | 0x0201f800, 0x0010a592, 0x04020395, 0x0201f800, | ||
| 9874 | 0x0010210a, 0x04020392, 0x0401fbce, 0x040201a0, | ||
| 9875 | 0x59cc0007, 0x4802601c, 0x4a026403, 0x0000004a, | ||
| 9876 | 0x4a026203, 0x00000001, 0x0201f000, 0x0010672b, | ||
| 9877 | 0x4933c857, 0x0201f800, 0x0010210a, 0x04020009, | ||
| 9878 | 0x0201f800, 0x001048ec, 0x04020006, 0x82000500, | ||
| 9879 | 0x00000009, 0x82000580, 0x00000008, 0x04020008, | ||
| 9880 | 0x4a026403, 0x00000009, 0x4a02641a, 0x00000009, | ||
| 9881 | 0x4a02621a, 0x00000000, 0x0401f1b2, 0x0201f800, | ||
| 9882 | 0x001048c1, 0x0201f800, 0x00104a09, 0x04000021, | ||
| 9883 | 0x0201f800, 0x001049ed, 0x0400001e, 0x0201f800, | ||
| 9884 | 0x0010a252, 0x04020025, 0x42028000, 0x00000029, | ||
| 9885 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 9886 | 0x5c027800, 0x0201f800, 0x0010462a, 0x836c0580, | ||
| 9887 | 0x00000002, 0x04020004, 0x59a8001b, 0x80000000, | ||
| 9888 | 0x4803501b, 0x4a026403, 0x00000008, 0x42003000, | ||
| 9889 | 0x00000003, 0x0201f800, 0x00103b25, 0x04000191, | ||
| 9890 | 0x4a026203, 0x00000007, 0x41782800, 0x0401f180, | ||
| 9891 | 0x0201f800, 0x0010a3da, 0x040207e1, 0x4a026403, | ||
| 9892 | 0x00000009, 0x4a02641a, 0x0000000e, 0x4a02621a, | ||
| 9893 | 0x00001900, 0x0401f183, 0x4a026403, 0x00000009, | ||
| 9894 | 0x4a02641a, 0x00000003, 0x4a02621a, 0x00000f00, | ||
| 9895 | 0x0401f17c, 0x4933c857, 0x0201f800, 0x0010210a, | ||
| 9896 | 0x0402033b, 0x0201f800, 0x001048ec, 0x04020338, | ||
| 9897 | 0x493a6403, 0x0201f800, 0x0010a22d, 0x04020006, | ||
| 9898 | 0x42003000, 0x00000005, 0x4a026403, 0x00000006, | ||
| 9899 | 0x0401f7d9, 0x4a026403, 0x00000007, 0x4a02641a, | ||
| 9900 | 0x00000009, 0x4a02621a, 0x00000000, 0x0401f165, | ||
| 9901 | 0x4933c857, 0x0201f800, 0x001048ec, 0x04020324, | ||
| 9902 | 0x0201f800, 0x0010a592, 0x02000800, 0x0010210a, | ||
| 9903 | 0x0402031f, 0x0201f800, 0x00104a09, 0x04020005, | ||
| 9904 | 0x42027800, 0x00000001, 0x0201f800, 0x00104567, | ||
| 9905 | 0x0201f800, 0x001049fc, 0x0402002b, 0x59cc0206, | ||
| 9906 | 0x82003500, 0x00000003, 0x0402002e, 0x82003480, | ||
| 9907 | 0x00000014, 0x0400102b, 0x5934300a, 0x84183516, | ||
| 9908 | 0x82000580, 0x00000014, 0x04020002, 0x84183556, | ||
| 9909 | 0x481a680a, 0x59cc0406, 0x82000500, 0x00000003, | ||
| 9910 | 0x04020020, 0x0201f800, 0x0010a29f, 0x04020028, | ||
| 9911 | 0x0201f800, 0x001049e7, 0x0402000c, 0x417a7800, | ||
| 9912 | 0x0201f800, 0x001020a1, 0x42003000, 0x00000006, | ||
| 9913 | 0x0201f800, 0x0010a93a, 0x42000000, 0x0010b865, | ||
| 9914 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x0010468d, | ||
| 9915 | 0x4a026403, 0x0000000a, 0x42003000, 0x00000020, | ||
| 9916 | 0x0401f795, 0x4a026403, 0x0000000b, 0x4a02641a, | ||
| 9917 | 0x00000009, 0x4a02621a, 0x00001e00, 0x0401f121, | ||
| 9918 | 0x42000000, 0x0010b860, 0x0201f800, 0x0010aa47, | ||
| 9919 | 0x4a026403, 0x0000000b, 0x4a02641a, 0x00000007, | ||
| 9920 | 0x4a02621a, 0x00000000, 0x0401f116, 0x4a026403, | ||
| 9921 | 0x0000000b, 0x4a02641a, 0x00000003, 0x4a02621a, | ||
| 9922 | 0x00000000, 0x0401f10f, 0x4933c857, 0x0201f800, | ||
| 9923 | 0x001048ec, 0x040202ce, 0x0201f800, 0x0010a592, | ||
| 9924 | 0x040202cb, 0x0201f800, 0x0010210a, 0x040202c8, | ||
| 9925 | 0x59cc0206, 0x82003500, 0x00000003, 0x0402001d, | ||
| 9926 | 0x82003480, 0x00000014, 0x0400101a, 0x59cc0406, | ||
| 9927 | 0x82000500, 0x00000003, 0x04020016, 0x59340400, | ||
| 9928 | 0x82000580, 0x00000707, 0x04000019, 0x417a7800, | ||
| 9929 | 0x0201f800, 0x001020a1, 0x42003000, 0x0000000a, | ||
| 9930 | 0x0201f800, 0x0010a93a, 0x42000000, 0x0010b862, | ||
| 9931 | 0x0201f800, 0x0010aa47, 0x4a026403, 0x0000000c, | ||
| 9932 | 0x41782800, 0x42003000, 0x00000021, 0x0401f752, | ||
| 9933 | 0x4a026403, 0x0000000d, 0x4a02641a, 0x00000007, | ||
| 9934 | 0x4a02621a, 0x00000000, 0x0401f0de, 0x4a026403, | ||
| 9935 | 0x0000000d, 0x4a02641a, 0x00000009, 0x4a02621a, | ||
| 9936 | 0x00001e00, 0x0401f0d7, 0x4933c857, 0x0201f800, | ||
| 9937 | 0x001048ec, 0x04020296, 0x0201f800, 0x0010a592, | ||
| 9938 | 0x04020293, 0x0201f800, 0x0010210a, 0x04020290, | ||
| 9939 | 0x0401facc, 0x0402001a, 0x493a6403, 0x4c5c0000, | ||
| 9940 | 0x0401fad2, 0x0402000e, 0x4a026403, 0x0000002e, | ||
| 9941 | 0x405c2800, 0x42003000, 0x00000024, 0x0201f800, | ||
| 9942 | 0x00103b25, 0x0400000c, 0x4a026203, 0x00000007, | ||
| 9943 | 0x405c2800, 0x5c00b800, 0x0401f0ad, 0x4a026403, | ||
| 9944 | 0x0000000d, 0x4a02641a, 0x00000007, 0x4a02621a, | ||
| 9945 | 0x00000000, 0x5c00b800, 0x0401f0b2, 0x4a026403, | ||
| 9946 | 0x0000000d, 0x4a02641a, 0x00000009, 0x4a02621a, | ||
| 9947 | 0x00001e00, 0x0401f0ab, 0x4933c857, 0x0201f800, | ||
| 9948 | 0x001048ec, 0x040206ef, 0x59a80026, 0x82000500, | ||
| 9949 | 0x00000009, 0x82000580, 0x00000008, 0x040006e9, | ||
| 9950 | 0x0201f800, 0x001049fc, 0x0402002d, 0x0201f800, | ||
| 9951 | 0x0010a2a7, 0x04020007, 0x4a026403, 0x0000000e, | ||
| 9952 | 0x41782800, 0x42003000, 0x00000052, 0x0401f702, | ||
| 9953 | 0x4933c857, 0x42003000, 0x00000003, 0x0201f800, | ||
| 9954 | 0x0010a942, 0x4d3c0000, 0x417a7800, 0x0201f800, | ||
| 9955 | 0x0010203c, 0x5c027800, 0x42000000, 0x0010b864, | ||
| 9956 | 0x0201f800, 0x0010aa47, 0x59340200, 0x84000558, | ||
| 9957 | 0x48026a00, 0x42000800, 0x0000000b, 0x0201f800, | ||
| 9958 | 0x00104571, 0x0201f800, 0x00103b25, 0x04000076, | ||
| 9959 | 0x42003000, 0x00000007, 0x0401f062, 0x4933c857, | ||
| 9960 | 0x4a026403, 0x0000000f, 0x4a02641a, 0x00000003, | ||
| 9961 | 0x4a02621a, 0x00001e00, 0x0401f072, 0x59340400, | ||
| 9962 | 0x82000580, 0x00000703, 0x040007f5, 0x0401f040, | ||
| 9963 | 0x4933c857, 0x0201f800, 0x001048ec, 0x0402022c, | ||
| 9964 | 0x59a80026, 0x82000500, 0x00000009, 0x82000580, | ||
| 9965 | 0x00000008, 0x04000226, 0x0201f800, 0x001049f3, | ||
| 9966 | 0x0402002f, 0x0201f800, 0x0010a2c8, 0x02000800, | ||
| 9967 | 0x0010a252, 0x04020007, 0x4a026403, 0x00000010, | ||
| 9968 | 0x41782800, 0x42003000, 0x00000050, 0x0401f6c2, | ||
| 9969 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 9970 | 0x5c027800, 0x42003000, 0x00000003, 0x0201f800, | ||
| 9971 | 0x0010a942, 0x42000000, 0x0010b864, 0x0201f800, | ||
| 9972 | 0x0010aa47, 0x59340200, 0x84000558, 0x48026a00, | ||
| 9973 | 0x0401f7c5, 0x4a026403, 0x00000011, 0x4a02641a, | ||
| 9974 | 0x00000003, 0x4a02621a, 0x00001e00, 0x0401f03d, | ||
| 9975 | 0x4933c857, 0x0201f800, 0x0010210a, 0x02000800, | ||
| 9976 | 0x0010a592, 0x040201fa, 0x0401fa36, 0x04020008, | ||
| 9977 | 0x4a026403, 0x00000012, 0x0401f032, 0x59340400, | ||
| 9978 | 0x82000580, 0x00000703, 0x040007eb, 0x4d3c0000, | ||
| 9979 | 0x417a7800, 0x42028000, 0x00000029, 0x0201f800, | ||
| 9980 | 0x0010203c, 0x5c027800, 0x42003000, 0x00000017, | ||
| 9981 | 0x0201f800, 0x0010a942, 0x42000000, 0x0010b864, | ||
| 9982 | 0x0201f800, 0x0010aa47, 0x0201f800, 0x00103b25, | ||
| 9983 | 0x04000015, 0x42003000, 0x00000006, 0x41782800, | ||
| 9984 | 0x42028000, 0x00000029, 0x4933c857, 0x4a026403, | ||
| 9985 | 0x00000001, 0x4a026203, 0x00000007, 0x0201f800, | ||
| 9986 | 0x0010a974, 0x0201f000, 0x0010a43e, 0x42028000, | ||
| 9987 | 0x00000046, 0x0201f800, 0x0010a974, 0x0201f000, | ||
| 9988 | 0x0010a43e, 0x4933c857, 0x4a026403, 0x00000001, | ||
| 9989 | 0x42000800, 0x0000000b, 0x0201f800, 0x00104571, | ||
| 9990 | 0x4a026203, 0x00000001, 0x0201f000, 0x0010672b, | ||
| 9991 | 0x4933c857, 0x42000800, 0x00000009, 0x0201f800, | ||
| 9992 | 0x00104571, 0x4a026403, 0x00000005, 0x0401f7f5, | ||
| 9993 | 0x0201f800, 0x0010a592, 0x040201b5, 0x0201f800, | ||
| 9994 | 0x0010210a, 0x040201b2, 0x0401f9ee, 0x040207c0, | ||
| 9995 | 0x4a026403, 0x00000020, 0x4a026203, 0x00000001, | ||
| 9996 | 0x0201f000, 0x0010672b, 0x0201f800, 0x0010210a, | ||
| 9997 | 0x040201a7, 0x4a026403, 0x00000023, 0x4a026203, | ||
| 9998 | 0x00000001, 0x0201f000, 0x0010672b, 0x0201f800, | ||
| 9999 | 0x0010a592, 0x02000800, 0x0010210a, 0x0402019c, | ||
| 10000 | 0x0401f9d8, 0x040207aa, 0x40300800, 0x59a81010, | ||
| 10001 | 0x59cc0007, 0x82000500, 0x00ffffff, 0x80080580, | ||
| 10002 | 0x04000019, 0x59cc1408, 0x0201f800, 0x0010902c, | ||
| 10003 | 0x0400002d, 0x59cc0c08, 0x4d300000, 0x0201f800, | ||
| 10004 | 0x00105dd7, 0x41323800, 0x5c026000, 0x04000026, | ||
| 10005 | 0x591c0202, 0x82000580, 0x0000ffff, 0x04000005, | ||
| 10006 | 0x59cc1208, 0x591c0202, 0x80080580, 0x0402001e, | ||
| 10007 | 0x591c0406, 0x82000580, 0x00000007, 0x0402001a, | ||
| 10008 | 0x0401f02c, 0x59cc1208, 0x82080580, 0x0000ffff, | ||
| 10009 | 0x0400000c, 0x0201f800, 0x00109410, 0x04000012, | ||
| 10010 | 0x59cc1408, 0x591c0202, 0x80080580, 0x0402000e, | ||
| 10011 | 0x591c0009, 0x81340580, 0x04000016, 0x0401f00a, | ||
| 10012 | 0x59cc1408, 0x417a7800, 0x0201f800, 0x0010a405, | ||
| 10013 | 0x04020010, 0x59cc1208, 0x82080580, 0x0000ffff, | ||
| 10014 | 0x04000019, 0x4a026403, 0x00000026, 0x4a02621a, | ||
| 10015 | 0x00001700, 0x59cc1204, 0x82081580, 0x0000ffff, | ||
| 10016 | 0x04020798, 0x4a026403, 0x00000025, 0x0401f795, | ||
| 10017 | 0x591c0406, 0x82000580, 0x00000007, 0x040207f2, | ||
| 10018 | 0x591c0403, 0x82000580, 0x00000024, 0x04020006, | ||
| 10019 | 0x4d300000, 0x411e6000, 0x0201f800, 0x0002077d, | ||
| 10020 | 0x5c026000, 0x4a026403, 0x00000025, 0x0401f785, | ||
| 10021 | 0x4933c857, 0x4d3c0000, 0x42027800, 0x00000001, | ||
| 10022 | 0x0201f800, 0x00104567, 0x5c027800, 0x4c580000, | ||
| 10023 | 0x4200b000, 0x00000002, 0x83a81c00, 0x00000002, | ||
| 10024 | 0x83cc1400, 0x0000000b, 0x0201f800, 0x0010855a, | ||
| 10025 | 0x5c00b000, 0x04000004, 0x4a026403, 0x00000031, | ||
| 10026 | 0x0401f770, 0x0201f800, 0x00107911, 0x0201f800, | ||
| 10027 | 0x0010513b, 0x0402000f, 0x0201f800, 0x00105149, | ||
| 10028 | 0x04020008, 0x4a035033, 0x00000001, 0x4202d800, | ||
| 10029 | 0x00000001, 0x0201f800, 0x001050a2, 0x0401f005, | ||
| 10030 | 0x42000000, 0x00000001, 0x0201f800, 0x00105113, | ||
| 10031 | 0x1c01f000, 0x0201f800, 0x0010210a, 0x0402011c, | ||
| 10032 | 0x0401f958, 0x0402072a, 0x493a6403, 0x0401f996, | ||
| 10033 | 0x04020004, 0x4a026403, 0x0000002b, 0x0401f751, | ||
| 10034 | 0x4a026403, 0x0000002c, 0x0401f74e, 0x4933c857, | ||
| 10035 | 0x0201f800, 0x0010210a, 0x0402010d, 0x0201f800, | ||
| 10036 | 0x001049e7, 0x04020740, 0x0201f800, 0x001048d9, | ||
| 10037 | 0x0400003c, 0x59cc0408, 0x48026419, 0x59cc0208, | ||
| 10038 | 0x48026219, 0x59cc0807, 0x59340002, 0x82000500, | ||
| 10039 | 0x00ffffff, 0x80040580, 0x04000012, 0x59a80010, | ||
| 10040 | 0x80040580, 0x04020021, 0x59cc1408, 0x0201f800, | ||
| 10041 | 0x00109410, 0x04000023, 0x0201f800, 0x0010a4ca, | ||
| 10042 | 0x04000020, 0x0201f800, 0x0010a921, 0x0400001d, | ||
| 10043 | 0x491e601e, 0x4a026403, 0x00000036, 0x0401f0e6, | ||
| 10044 | 0x59cc1208, 0x82080580, 0x0000ffff, 0x04000009, | ||
| 10045 | 0x0201f800, 0x00109410, 0x04000012, 0x591c0202, | ||
| 10046 | 0x59cc0c08, 0x80040580, 0x0402000e, 0x0401f7eb, | ||
| 10047 | 0x59cc1408, 0x41327800, 0x0201f800, 0x0010a405, | ||
| 10048 | 0x04000008, 0x0401f7e5, 0x4803c856, 0x4a02641a, | ||
| 10049 | 0x00000009, 0x4a02621a, 0x00001500, 0x0401f006, | ||
| 10050 | 0x4803c856, 0x4a02641a, 0x00000003, 0x4a02621a, | ||
| 10051 | 0x00001700, 0x4a026403, 0x00000037, 0x0401f0c6, | ||
| 10052 | 0x4803c856, 0x4a026403, 0x00000012, 0x0401f0c2, | ||
| 10053 | 0x4933c857, 0x0201f800, 0x0010210a, 0x040200c4, | ||
| 10054 | 0x0201f800, 0x001049e7, 0x040206f7, 0x0201f800, | ||
| 10055 | 0x001048d9, 0x0400003e, 0x59cc0407, 0x48026419, | ||
| 10056 | 0x59cc1207, 0x480a6219, 0x82080580, 0x0000ffff, | ||
| 10057 | 0x04000005, 0x0201f800, 0x00109410, 0x0400002c, | ||
| 10058 | 0x0401f006, 0x59cc1407, 0x41327800, 0x0201f800, | ||
| 10059 | 0x0010a405, 0x04000026, 0x59cc0c07, 0x591c0202, | ||
| 10060 | 0x80040580, 0x04020022, 0x4d300000, 0x411e6000, | ||
| 10061 | 0x0201f800, 0x00108bd7, 0x5c026000, 0x59cc0c09, | ||
| 10062 | 0x82040d00, 0x0000ff00, 0x840409c0, 0x0201f800, | ||
| 10063 | 0x0010a921, 0x04000016, 0x82040580, 0x00000001, | ||
| 10064 | 0x0400000a, 0x82040580, 0x00000005, 0x04000004, | ||
| 10065 | 0x82040580, 0x00000007, 0x04020007, 0x591c0008, | ||
| 10066 | 0x80000540, 0x04000004, 0x59cc2808, 0x0201f000, | ||
| 10067 | 0x0010a4de, 0x4803c856, 0x4a02641a, 0x00000009, | ||
| 10068 | 0x4a02621a, 0x00002a00, 0x0401f006, 0x4803c856, | ||
| 10069 | 0x4a02641a, 0x00000003, 0x4a02621a, 0x00000300, | ||
| 10070 | 0x4a026403, 0x0000003b, 0x0401f07b, 0x4803c856, | ||
| 10071 | 0x4a02641a, 0x0000000b, 0x4a02621a, 0x00000000, | ||
| 10072 | 0x0401f7f8, 0x4c080000, 0x0201f800, 0x001048ec, | ||
| 10073 | 0x04000026, 0x0201f800, 0x001048c1, 0x0201f800, | ||
| 10074 | 0x0010a601, 0x0402001e, 0x59a80026, 0x82000540, | ||
| 10075 | 0x00000003, 0x48035026, 0x59a8001d, 0x800000d0, | ||
| 10076 | 0x59a80810, 0x82040d00, 0x000000ff, 0x80041540, | ||
| 10077 | 0x480b5010, 0x42000800, 0x00000003, 0x0201f800, | ||
| 10078 | 0x00106c78, 0x497b5028, 0x0201f800, 0x00103b25, | ||
| 10079 | 0x04000003, 0x4a032804, 0x000007d0, 0x8c00050a, | ||
| 10080 | 0x0402000a, 0x0201f800, 0x0002077d, 0x0201f800, | ||
| 10081 | 0x00101e45, 0x5c001000, 0x1c01f000, 0x0201f800, | ||
| 10082 | 0x0010a623, 0x0401f7fc, 0x5c001000, 0x0201f000, | ||
| 10083 | 0x0002077d, 0x0201f800, 0x0010210a, 0x0402004c, | ||
| 10084 | 0x0201f800, 0x0010a628, 0x4a026403, 0x00000047, | ||
| 10085 | 0x4a026203, 0x00000001, 0x0201f000, 0x0010672b, | ||
| 10086 | 0x0201f800, 0x0010210a, 0x04020041, 0x0201f800, | ||
| 10087 | 0x0010a628, 0x4a026403, 0x00000047, 0x4a026203, | ||
| 10088 | 0x00000001, 0x0201f000, 0x0010672b, 0x0201f800, | ||
| 10089 | 0x0010210a, 0x04020036, 0x0201f800, 0x0010a628, | ||
| 10090 | 0x0201f000, 0x0002077d, 0x0401f834, 0x04000030, | ||
| 10091 | 0x4a026403, 0x0000004e, 0x4a026203, 0x00000001, | ||
| 10092 | 0x0201f000, 0x0010672b, 0x4a026403, 0x0000004f, | ||
| 10093 | 0x497a601c, 0x59cc0a06, 0x82040d00, 0x000000ff, | ||
| 10094 | 0x800409c0, 0x0400065f, 0x82040580, 0x00000001, | ||
| 10095 | 0x04020005, 0x59cc0808, 0x59a80005, 0x80040580, | ||
| 10096 | 0x04000658, 0x82040580, 0x00000002, 0x0402000a, | ||
| 10097 | 0x83cc1400, 0x0000000b, 0x4200b000, 0x00000002, | ||
| 10098 | 0x83341c00, 0x00000006, 0x0201f800, 0x0010855a, | ||
| 10099 | 0x0400064c, 0x4a02601c, 0x00000001, 0x0401f649, | ||
| 10100 | 0x4a026403, 0x00000050, 0x59cc0207, 0x4802601c, | ||
| 10101 | 0x0401f644, 0x4a026203, 0x00000001, 0x42000800, | ||
| 10102 | 0x80000040, 0x0201f000, 0x00020721, 0x4803c857, | ||
| 10103 | 0x0201f000, 0x0002077d, 0x4d2c0000, 0x4c500000, | ||
| 10104 | 0x4c580000, 0x4c540000, 0x59a80016, 0x82000c80, | ||
| 10105 | 0x00000829, 0x04021029, 0x0201f800, 0x001007d3, | ||
| 10106 | 0x04000026, 0x492e6008, 0x59a80016, 0x80000104, | ||
| 10107 | 0x48025802, 0x83cca400, 0x00000006, 0x82000c80, | ||
| 10108 | 0x0000000b, 0x04001013, 0x4a025811, 0x0000000b, | ||
| 10109 | 0x4200b000, 0x0000000b, 0x832c0400, 0x00000005, | ||
| 10110 | 0x4000a800, 0x0201f800, 0x0010ab17, 0x412c7000, | ||
| 10111 | 0x0201f800, 0x001007d3, 0x04000010, 0x492c7001, | ||
| 10112 | 0x40040000, 0x800409c0, 0x04000009, 0x0401f7ec, | ||
| 10113 | 0x48025811, 0x4000b000, 0x832c0400, 0x00000005, | ||
| 10114 | 0x4000a800, 0x0201f800, 0x0010ab17, 0x82000540, | ||
| 10115 | 0x00000001, 0x0401f006, 0x497b5016, 0x59325808, | ||
| 10116 | 0x0201f800, 0x001007fd, 0x80000580, 0x5c00a800, | ||
| 10117 | 0x5c00b000, 0x5c00a000, 0x5c025800, 0x1c01f000, | ||
| 10118 | 0x4d340000, 0x59326809, 0x59343400, 0x4933c857, | ||
| 10119 | 0x4937c857, 0x481bc857, 0x0201f800, 0x001049f3, | ||
| 10120 | 0x5c026800, 0x1c01f000, 0x4933c857, 0x4c5c0000, | ||
| 10121 | 0x4d3c0000, 0x0401f840, 0x0402002c, 0x59cc0207, | ||
| 10122 | 0x82000d00, 0x0000ff00, 0x900411c0, 0x59cc000a, | ||
| 10123 | 0x82000500, 0x00ffffff, 0x80081540, 0x480a601c, | ||
| 10124 | 0x8c040d18, 0x0400000e, 0x42003000, 0x00000008, | ||
| 10125 | 0x0201f800, 0x0010a932, 0x42000000, 0x0010b863, | ||
| 10126 | 0x0201f800, 0x0010aa47, 0x4200b800, 0x00000002, | ||
| 10127 | 0x42027800, 0x00000001, 0x0401f011, 0x4178b800, | ||
| 10128 | 0x8c040d1a, 0x04000011, 0x59cc000a, 0x0201f800, | ||
| 10129 | 0x00105c9a, 0x0402000d, 0x42003000, 0x00000009, | ||
| 10130 | 0x0201f800, 0x0010a93a, 0x42000000, 0x0010b863, | ||
| 10131 | 0x0201f800, 0x0010aa47, 0x417a7800, 0x0201f800, | ||
| 10132 | 0x001020a1, 0x0401f004, 0x82000540, 0x00000001, | ||
| 10133 | 0x0401f002, 0x80000580, 0x5c027800, 0x5c00b800, | ||
| 10134 | 0x1c01f000, 0x4933c857, 0x59cc0206, 0x82000480, | ||
| 10135 | 0x00000010, 0x04021006, 0x4a02621a, 0x00000000, | ||
| 10136 | 0x82000540, 0x00000001, 0x0401f002, 0x80000580, | ||
| 10137 | 0x1c01f000, 0x4933c857, 0x4a02621a, 0x00000000, | ||
| 10138 | 0x59cc0407, 0x82000500, 0x0000ff00, 0x82000580, | ||
| 10139 | 0x00000800, 0x04020009, 0x59cc0006, 0x82000500, | ||
| 10140 | 0x00ff0000, 0x82000d80, 0x00140000, 0x04000003, | ||
| 10141 | 0x82000d80, 0x00100000, 0x1c01f000, 0x4933c857, | ||
| 10142 | 0x59300403, 0x82003480, 0x00000051, 0x02021800, | ||
| 10143 | 0x001005d8, 0x83383580, 0x00000013, 0x04020003, | ||
| 10144 | 0x4803c857, 0x0c01f012, 0x83383580, 0x00000027, | ||
| 10145 | 0x04000005, 0x83383580, 0x00000014, 0x02020800, | ||
| 10146 | 0x001005d8, 0x0201f800, 0x001048c1, 0x42000800, | ||
| 10147 | 0x00000007, 0x0201f800, 0x00104571, 0x0201f800, | ||
| 10148 | 0x00106bbf, 0x0201f000, 0x00107911, 0x00109e3c, | ||
| 10149 | 0x00109e45, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10150 | 0x00109e45, 0x00109e50, 0x00109ecd, 0x00109e95, | ||
| 10151 | 0x00109ecd, 0x00109ead, 0x00109ecd, 0x00109ebe, | ||
| 10152 | 0x00109ecd, 0x00109ec6, 0x00109ecd, 0x00109ec6, | ||
| 10153 | 0x00109ecd, 0x00109ecd, 0x00109e3c, 0x00109e3c, | ||
| 10154 | 0x00109e3c, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10155 | 0x00109e3c, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10156 | 0x00109e3c, 0x00109e45, 0x00109e3c, 0x00109ecd, | ||
| 10157 | 0x00109e3c, 0x00109e3c, 0x00109ecd, 0x00109e3c, | ||
| 10158 | 0x00109eca, 0x00109ecd, 0x00109e3c, 0x00109e3c, | ||
| 10159 | 0x00109e3c, 0x00109e3c, 0x00109ecd, 0x00109ecd, | ||
| 10160 | 0x00109e3c, 0x00109ec3, 0x00109ecd, 0x00109e3c, | ||
| 10161 | 0x00109e4a, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10162 | 0x00109e3c, 0x00109ec9, 0x00109ecd, 0x00109e3c, | ||
| 10163 | 0x00109e3c, 0x00109ecd, 0x00109ecd, 0x00109e3c, | ||
| 10164 | 0x00109e3c, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10165 | 0x00109e3c, 0x00109e3c, 0x00109e3c, 0x00109e3c, | ||
| 10166 | 0x00109e3e, 0x00109e3c, 0x00109e3e, 0x00109e3c, | ||
| 10167 | 0x00109e3c, 0x00109e3e, 0x00109e3c, 0x00109e3c, | ||
| 10168 | 0x00109e3c, 0x00109e3e, 0x00109e3e, 0x00109e3e, | ||
| 10169 | 0x0201f800, 0x001005d8, 0x4d2c0000, 0x59325808, | ||
| 10170 | 0x0201f800, 0x001007fd, 0x5c025800, 0x0201f000, | ||
| 10171 | 0x0002077d, 0x59a80037, 0x48026206, 0x4a026203, | ||
| 10172 | 0x00000002, 0x1c01f000, 0x4d3c0000, 0x417a7800, | ||
| 10173 | 0x0201f800, 0x00104567, 0x5c027800, 0x0401f07e, | ||
| 10174 | 0x42000800, 0x00000007, 0x0201f800, 0x00104571, | ||
| 10175 | 0x59a80026, 0x8c000508, 0x04000012, 0x59326809, | ||
| 10176 | 0x4c580000, 0x4200b000, 0x00000002, 0x83a81c00, | ||
| 10177 | 0x00000002, 0x83341400, 0x00000006, 0x0201f800, | ||
| 10178 | 0x0010855a, 0x80000540, 0x5c00b000, 0x0402006a, | ||
| 10179 | 0x59340200, 0x8400051a, 0x48026a00, 0x0401f01b, | ||
| 10180 | 0x599c0017, 0x8c00050a, 0x04020063, 0x4d3c0000, | ||
| 10181 | 0x417a7800, 0x0201f800, 0x00104567, 0x5c027800, | ||
| 10182 | 0x42000800, 0x00000007, 0x0201f800, 0x00104571, | ||
| 10183 | 0x59340212, 0x82000500, 0x0000ff00, 0x04000056, | ||
| 10184 | 0x599c0019, 0x8c00050e, 0x04020053, 0x416c0000, | ||
| 10185 | 0x82000580, 0x00000002, 0x04020004, 0x59a8001b, | ||
| 10186 | 0x80000000, 0x4803501b, 0x42000800, 0x00000003, | ||
| 10187 | 0x0201f800, 0x00104571, 0x4a026406, 0x00000001, | ||
| 10188 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000002, | ||
| 10189 | 0x0201f800, 0x0010672b, 0x4ce80000, 0x4201d000, | ||
| 10190 | 0x00000001, 0x0201f800, 0x00105fae, 0x5c01d000, | ||
| 10191 | 0x1c01f000, 0x0201f800, 0x001049f3, 0x04000036, | ||
| 10192 | 0x0201f800, 0x0010645e, 0x42000800, 0x00000004, | ||
| 10193 | 0x0201f800, 0x00104571, 0x0201f800, 0x0010a96a, | ||
| 10194 | 0x0402002d, 0x42000800, 0x00000005, 0x0201f800, | ||
| 10195 | 0x00104571, 0x4a026406, 0x00000001, 0x4a026203, | ||
| 10196 | 0x00000001, 0x4a026403, 0x00000003, 0x0201f000, | ||
| 10197 | 0x0010672b, 0x42000800, 0x00000006, 0x0401f820, | ||
| 10198 | 0x59303009, 0x599c0017, 0x8c00050a, 0x0402001a, | ||
| 10199 | 0x59a80026, 0x8c000508, 0x04000017, 0x0201f800, | ||
| 10200 | 0x001049e7, 0x04000014, 0x59a8001b, 0x80000000, | ||
| 10201 | 0x4803501b, 0x0401f7c5, 0x42000800, 0x00000004, | ||
| 10202 | 0x0201f800, 0x00104571, 0x0401f792, 0x42000800, | ||
| 10203 | 0x00000004, 0x0401f006, 0x0201f800, 0x001048c1, | ||
| 10204 | 0x0401f005, 0x0401f004, 0x0401f003, 0x0201f800, | ||
| 10205 | 0x00104571, 0x0201f000, 0x0002077d, 0x4933c857, | ||
| 10206 | 0x4807c857, 0x0201f800, 0x00104571, 0x4d3c0000, | ||
| 10207 | 0x417a7800, 0x0201f800, 0x00104567, 0x5c027800, | ||
| 10208 | 0x0201f800, 0x00102074, 0x1c01f000, 0x4933c857, | ||
| 10209 | 0x59340400, 0x80000110, 0x82003480, 0x0000000c, | ||
| 10210 | 0x02021800, 0x001005d8, 0x83383580, 0x00000015, | ||
| 10211 | 0x04020002, 0x0c01f006, 0x83383580, 0x00000016, | ||
| 10212 | 0x02020800, 0x001005d8, 0x0c01f00d, 0x001080b8, | ||
| 10213 | 0x001080b8, 0x001080b8, 0x001080b8, 0x001080b8, | ||
| 10214 | 0x001080b8, 0x00109f30, 0x00109f03, 0x001080b8, | ||
| 10215 | 0x001080b8, 0x001080b8, 0x001080b8, 0x001080b8, | ||
| 10216 | 0x001080b8, 0x001080b8, 0x001080b8, 0x001080b8, | ||
| 10217 | 0x001080b8, 0x00109f30, 0x00109f37, 0x001080b8, | ||
| 10218 | 0x001080b8, 0x001080b8, 0x001080b8, 0x4933c857, | ||
| 10219 | 0x599c0017, 0x8c00050a, 0x0402001b, 0x813669c0, | ||
| 10220 | 0x04000019, 0x59340212, 0x82000500, 0x0000ff00, | ||
| 10221 | 0x04000015, 0x599c0019, 0x8c00050e, 0x04020012, | ||
| 10222 | 0x4d3c0000, 0x417a7800, 0x0201f800, 0x00104567, | ||
| 10223 | 0x5c027800, 0x42000800, 0x00000003, 0x0201f800, | ||
| 10224 | 0x00104571, 0x4a026406, 0x00000001, 0x4a026203, | ||
| 10225 | 0x00000001, 0x4a026403, 0x00000002, 0x0201f000, | ||
| 10226 | 0x0010672b, 0x59cc0001, 0x0201f800, 0x00105c9a, | ||
| 10227 | 0x0402000b, 0x0201f800, 0x00020245, 0x02020000, | ||
| 10228 | 0x0002077d, 0x59345002, 0x0201f800, 0x001042b4, | ||
| 10229 | 0x482a6802, 0x0201f000, 0x0002077d, 0x1c01f000, | ||
| 10230 | 0x4933c857, 0x59303403, 0x82183580, 0x0000001e, | ||
| 10231 | 0x02000000, 0x0002077d, 0x1c01f000, 0x4933c857, | ||
| 10232 | 0x0201f800, 0x001083df, 0x02020000, 0x0002077d, | ||
| 10233 | 0x4a026203, 0x00000001, 0x4a026403, 0x00000001, | ||
| 10234 | 0x0201f000, 0x0010672b, 0x493bc857, 0x83380580, | ||
| 10235 | 0x00000051, 0x0402000b, 0x0201f800, 0x00106f60, | ||
| 10236 | 0x02020000, 0x00107974, 0x59300203, 0x82000580, | ||
| 10237 | 0x00000002, 0x0400006d, 0x0201f800, 0x001005d8, | ||
| 10238 | 0x83380580, 0x00000027, 0x04000014, 0x83380580, | ||
| 10239 | 0x00000048, 0x04000006, 0x83380580, 0x00000014, | ||
| 10240 | 0x0400000e, 0x02020800, 0x001005d8, 0x0201f800, | ||
| 10241 | 0x00106f60, 0x02020000, 0x00107974, 0x59300203, | ||
| 10242 | 0x82000580, 0x00000004, 0x02000000, 0x0002086e, | ||
| 10243 | 0x0201f800, 0x001005d8, 0x59300403, 0x82000c80, | ||
| 10244 | 0x00000044, 0x02021800, 0x001005d8, 0x82000480, | ||
| 10245 | 0x00000040, 0x02001800, 0x001005d8, 0x40027000, | ||
| 10246 | 0x4803c857, 0x0c01f001, 0x00109f76, 0x00109f78, | ||
| 10247 | 0x00109f78, 0x00109f93, 0x0201f800, 0x001005d8, | ||
| 10248 | 0x0201f800, 0x00106bbf, 0x59325808, 0x812e59c0, | ||
| 10249 | 0x04000016, 0x832c0500, 0x00ff0000, 0x04000013, | ||
| 10250 | 0x4a026203, 0x00000002, 0x59326809, 0x59340200, | ||
| 10251 | 0x8c00050e, 0x0402000d, 0x42028000, 0x00000004, | ||
| 10252 | 0x0201f800, 0x0010a3ef, 0x497a6008, 0x59300206, | ||
| 10253 | 0x80000540, 0x04020003, 0x59a80038, 0x48026206, | ||
| 10254 | 0x4a026203, 0x00000007, 0x1c01f000, 0x0201f800, | ||
| 10255 | 0x00106bbf, 0x0201f800, 0x00109037, 0x02000000, | ||
| 10256 | 0x00107911, 0x59325808, 0x0201f800, 0x001007f4, | ||
| 10257 | 0x0201f000, 0x00107911, 0x0201f800, 0x001005d8, | ||
| 10258 | 0x59325808, 0x592c040a, 0x8c000502, 0x04000007, | ||
| 10259 | 0x4a026203, 0x00000007, 0x42027000, 0x00000043, | ||
| 10260 | 0x0201f000, 0x000207a1, 0x4a026203, 0x00000004, | ||
| 10261 | 0x1c01f000, 0x0201f800, 0x0010a597, 0x02000000, | ||
| 10262 | 0x0002086c, 0x1c01f000, 0x4a026203, 0x00000001, | ||
| 10263 | 0x4a026403, 0x00000041, 0x42027800, 0x80002042, | ||
| 10264 | 0x0201f000, 0x00020721, 0x83380580, 0x00000051, | ||
| 10265 | 0x04000006, 0x83380580, 0x00000041, 0x02020800, | ||
| 10266 | 0x001005d8, 0x1c01f000, 0x0201f800, 0x000206fd, | ||
| 10267 | 0x0201f800, 0x0010a5df, 0x0201f000, 0x0002077d, | ||
| 10268 | 0x83380480, 0x00000050, 0x02021800, 0x001005d8, | ||
| 10269 | 0x83380480, 0x00000049, 0x02001800, 0x001005d8, | ||
| 10270 | 0x0c01f001, 0x00109fda, 0x00109ffb, 0x00109fd8, | ||
| 10271 | 0x00109fd8, 0x00109fd8, 0x00109fd8, 0x00109ffb, | ||
| 10272 | 0x0201f800, 0x001005d8, 0x59325808, 0x592c040a, | ||
| 10273 | 0x8c00051e, 0x0400000d, 0x82000d00, 0x000000c0, | ||
| 10274 | 0x82040d80, 0x00000080, 0x0400000d, 0x59300804, | ||
| 10275 | 0x8c040d18, 0x0402000a, 0x42027000, 0x00000041, | ||
| 10276 | 0x0201f000, 0x0002088d, 0x4a026203, 0x00000007, | ||
| 10277 | 0x497a6206, 0x0201f000, 0x000206fd, 0x59325808, | ||
| 10278 | 0x592c0c0a, 0x8c040d1a, 0x04020005, 0x0201f800, | ||
| 10279 | 0x000206fd, 0x0201f000, 0x0002077d, 0x0201f800, | ||
| 10280 | 0x0010a597, 0x040007fa, 0x1c01f000, 0x0201f800, | ||
| 10281 | 0x00106b8a, 0x59325808, 0x59326809, 0x59340200, | ||
| 10282 | 0x8c00050e, 0x0400000e, 0x592c040a, 0x82000500, | ||
| 10283 | 0x000000c0, 0x82000580, 0x00000080, 0x04000005, | ||
| 10284 | 0x592c000f, 0x59301815, 0x800c1c80, 0x480e6015, | ||
| 10285 | 0x4a026203, 0x00000002, 0x0401f00d, 0x42028000, | ||
| 10286 | 0x00000004, 0x0401fbde, 0x59300206, 0x80000540, | ||
| 10287 | 0x04020004, 0x59a80038, 0x800000c2, 0x48026206, | ||
| 10288 | 0x497a6008, 0x4a026203, 0x00000007, 0x1c01f000, | ||
| 10289 | 0x4a026203, 0x00000007, 0x497a6206, 0x0201f000, | ||
| 10290 | 0x000206fd, 0x4a026203, 0x00000007, 0x497a6206, | ||
| 10291 | 0x0201f000, 0x000206f8, 0x59300414, 0x8c00051c, | ||
| 10292 | 0x02020000, 0x0002087e, 0x59325808, 0x592c200f, | ||
| 10293 | 0x40080000, 0x80102480, 0x59300015, 0x80102400, | ||
| 10294 | 0x48126015, 0x0201f000, 0x0002087e, 0x8c040d0e, | ||
| 10295 | 0x0402000a, 0x4a026203, 0x00000006, 0x0401f823, | ||
| 10296 | 0x5930001f, 0x80000540, 0x02020800, 0x00100d7c, | ||
| 10297 | 0x0201f000, 0x000206f8, 0x4a026203, 0x00000002, | ||
| 10298 | 0x1c01f000, 0x42000800, 0x00000001, 0x0201f800, | ||
| 10299 | 0x00100d7c, 0x82040580, 0x00000001, 0x02000000, | ||
| 10300 | 0x00020885, 0x0401f7d8, 0x59300414, 0x8c00051c, | ||
| 10301 | 0x04000006, 0x0201f800, 0x00100b63, 0x02000000, | ||
| 10302 | 0x00020877, 0x1c01f000, 0x59300011, 0x80000540, | ||
| 10303 | 0x04020005, 0x0201f800, 0x00100b63, 0x02000000, | ||
| 10304 | 0x00020877, 0x1c01f000, 0x492fc857, 0x480bc857, | ||
| 10305 | 0x8c08153e, 0x04000006, 0x80081080, 0x80081000, | ||
| 10306 | 0x42000800, 0x00000009, 0x0401f003, 0x42000800, | ||
| 10307 | 0x00000015, 0x480a580b, 0x1c01f000, 0x83380580, | ||
| 10308 | 0x00000013, 0x04000005, 0x83380580, 0x00000014, | ||
| 10309 | 0x02020800, 0x001005d8, 0x59300414, 0x8c000516, | ||
| 10310 | 0x02000800, 0x001005d8, 0x1c01f000, 0x0201f800, | ||
| 10311 | 0x001005d8, 0x59300008, 0x80000540, 0x02020800, | ||
| 10312 | 0x001005d8, 0x1c01f000, 0x59300414, 0x8c000516, | ||
| 10313 | 0x02000800, 0x001005d8, 0x1c01f000, 0x4a026203, | ||
| 10314 | 0x00000004, 0x493a6403, 0x42000800, 0x80002001, | ||
| 10315 | 0x0201f000, 0x00020721, 0x4a026203, 0x00000003, | ||
| 10316 | 0x493a6403, 0x0201f800, 0x000200c9, 0x59325808, | ||
| 10317 | 0x592c040a, 0x8c00051e, 0x04000012, 0x82000500, | ||
| 10318 | 0x000000c0, 0x82000580, 0x00000080, 0x04000011, | ||
| 10319 | 0x59300414, 0x8c000512, 0x0402000a, 0x8c000510, | ||
| 10320 | 0x04020008, 0x592c040c, 0x80000540, 0x04020005, | ||
| 10321 | 0x82080d40, 0x80003065, 0x0201f000, 0x00106721, | ||
| 10322 | 0x82080d40, 0x80002065, 0x0201f000, 0x00106721, | ||
| 10323 | 0x82080d40, 0x80002042, 0x0201f000, 0x00106721, | ||
| 10324 | 0x4933c857, 0x493bc857, 0x83380480, 0x00000044, | ||
| 10325 | 0x02021800, 0x001005d8, 0x83380480, 0x00000041, | ||
| 10326 | 0x02001800, 0x001005d8, 0x0c01f001, 0x0010a0b6, | ||
| 10327 | 0x0010a0c6, 0x0010a0db, 0x59325808, 0x592c040a, | ||
| 10328 | 0x8c00051e, 0x0400001d, 0x82001d00, 0x000000c0, | ||
| 10329 | 0x820c1d80, 0x000000c0, 0x04000018, 0x4a026203, | ||
| 10330 | 0x00000001, 0x493a6403, 0x42000800, 0x80002042, | ||
| 10331 | 0x0201f000, 0x00020721, 0x59325808, 0x592c040a, | ||
| 10332 | 0x8c00051e, 0x0400000d, 0x82001d00, 0x000000c0, | ||
| 10333 | 0x820c1d80, 0x000000c0, 0x04000008, 0x4a026203, | ||
| 10334 | 0x00000001, 0x493a6403, 0x42000800, 0x80002001, | ||
| 10335 | 0x0201f000, 0x00020721, 0x497a6008, 0x497a6206, | ||
| 10336 | 0x42028000, 0x00000004, 0x0401f315, 0x59325808, | ||
| 10337 | 0x592c040a, 0x8c00051e, 0x040007f8, 0x82001d00, | ||
| 10338 | 0x000000c0, 0x820c1d80, 0x000000c0, 0x040007f3, | ||
| 10339 | 0x4a026203, 0x00000003, 0x493a6403, 0x0201f800, | ||
| 10340 | 0x000200c9, 0x82080d40, 0x80002065, 0x0201f000, | ||
| 10341 | 0x00106721, 0x4933c857, 0x493bc857, 0x83380580, | ||
| 10342 | 0x00000085, 0x04000006, 0x83380580, 0x00000088, | ||
| 10343 | 0x0400000a, 0x0201f800, 0x001005d8, 0x4a026203, | ||
| 10344 | 0x00000009, 0x493a6403, 0x42000800, 0x8000004b, | ||
| 10345 | 0x0201f000, 0x00020721, 0x4d1c0000, 0x813669c0, | ||
| 10346 | 0x04000004, 0x0201f800, 0x0010a592, 0x04020044, | ||
| 10347 | 0x59cc1404, 0x0401f846, 0x04000018, 0x591c0406, | ||
| 10348 | 0x82000500, 0x0000001f, 0x82002580, 0x00000006, | ||
| 10349 | 0x04000007, 0x82002580, 0x00000004, 0x0400002e, | ||
| 10350 | 0x82002580, 0x00000011, 0x0402000c, 0x497a3a05, | ||
| 10351 | 0x42002000, 0x00000054, 0x0201f800, 0x00107a4a, | ||
| 10352 | 0x4a026203, 0x00000007, 0x493a6403, 0x0201f800, | ||
| 10353 | 0x0010a974, 0x0401f02c, 0x0201f800, 0x00103b25, | ||
| 10354 | 0x04000004, 0x42023800, 0xffffffff, 0x0401f7f1, | ||
| 10355 | 0x813669c0, 0x04020009, 0x59cc0001, 0x0201f800, | ||
| 10356 | 0x00105c9a, 0x0402001e, 0x0201f800, 0x001045a6, | ||
| 10357 | 0x0402001b, 0x49366009, 0x4a026403, 0x00000087, | ||
| 10358 | 0x59cc1204, 0x82081580, 0x0000ffff, 0x04020003, | ||
| 10359 | 0x4a026403, 0x00000086, 0x4a026203, 0x00000001, | ||
| 10360 | 0x42000800, 0x80000040, 0x0201f800, 0x00020721, | ||
| 10361 | 0x0401f00d, 0x591c0203, 0x82000580, 0x00000007, | ||
| 10362 | 0x040207de, 0x4d300000, 0x411e6000, 0x0201f800, | ||
| 10363 | 0x00107911, 0x5c026000, 0x0401f7d8, 0x0201f800, | ||
| 10364 | 0x00107911, 0x5c023800, 0x1c01f000, 0x4933c857, | ||
| 10365 | 0x480bc857, 0x42002800, 0x0010d1c0, 0x41300000, | ||
| 10366 | 0x80140580, 0x04000017, 0x58140203, 0x82000580, | ||
| 10367 | 0x00000000, 0x04000013, 0x58140202, 0x80080580, | ||
| 10368 | 0x04020010, 0x58141c06, 0x820c0580, 0x00000005, | ||
| 10369 | 0x0400000c, 0x820c0580, 0x00000009, 0x0400001d, | ||
| 10370 | 0x59302009, 0x58140009, 0x800001c0, 0x0400000b, | ||
| 10371 | 0x801021c0, 0x04000003, 0x80100580, 0x04000010, | ||
| 10372 | 0x82142c00, 0x00000024, 0x41540000, 0x80140480, | ||
| 10373 | 0x0402100e, 0x0401f7e2, 0x5814001e, 0x801021c0, | ||
| 10374 | 0x04000005, 0x58102002, 0x82102500, 0x00ffffff, | ||
| 10375 | 0x0401f7f2, 0x5810201e, 0x0401f7f0, 0x40163800, | ||
| 10376 | 0x81300540, 0x0401f002, 0x80000580, 0x1c01f000, | ||
| 10377 | 0x58141807, 0x8c0c1d10, 0x040207ea, 0x0401f7e1, | ||
| 10378 | 0x4933c857, 0x493bc857, 0x83380580, 0x00000013, | ||
| 10379 | 0x0402000e, 0x59300403, 0x82000c80, 0x00000085, | ||
| 10380 | 0x02001800, 0x001005d8, 0x82000c80, 0x00000093, | ||
| 10381 | 0x02021800, 0x001005d8, 0x82000480, 0x00000085, | ||
| 10382 | 0x4803c857, 0x0c01f018, 0x83380580, 0x00000027, | ||
| 10383 | 0x04000005, 0x83380580, 0x00000014, 0x02020000, | ||
| 10384 | 0x00107974, 0x0201f800, 0x00106bbf, 0x59325808, | ||
| 10385 | 0x812e59c0, 0x02000000, 0x00107911, 0x4a025a06, | ||
| 10386 | 0x00000031, 0x4a025811, 0x00000004, 0x4a025812, | ||
| 10387 | 0x000000ff, 0x0201f800, 0x000202da, 0x0201f000, | ||
| 10388 | 0x00107911, 0x0010a1b7, 0x0010a1be, 0x0010a1be, | ||
| 10389 | 0x0010a1b7, 0x0010a1b7, 0x0010a1b7, 0x0010a1b7, | ||
| 10390 | 0x0010a1b7, 0x0010a1b7, 0x0010a1b7, 0x0010a1b7, | ||
| 10391 | 0x0010a1b7, 0x0010a1b7, 0x0010a1b9, 0x0201f800, | ||
| 10392 | 0x001005d8, 0x59325808, 0x4a025a06, 0x00000000, | ||
| 10393 | 0x0201f800, 0x000202da, 0x0201f000, 0x00107911, | ||
| 10394 | 0x4933c857, 0x42000000, 0x0010b873, 0x0201f800, | ||
| 10395 | 0x0010aa47, 0x0201f800, 0x0010a5df, 0x497a6205, | ||
| 10396 | 0x42028000, 0x0000000b, 0x0401f807, 0x4a026406, | ||
| 10397 | 0x00000006, 0x4a026203, 0x00000007, 0x497a6206, | ||
| 10398 | 0x1c01f000, 0x4933c857, 0x4943c857, 0x59300406, | ||
| 10399 | 0x82000580, 0x00000007, 0x04020002, 0x1c01f000, | ||
| 10400 | 0x0201f800, 0x00106c55, 0x4df00000, 0x0201f800, | ||
| 10401 | 0x00108ce5, 0x82000c80, 0x0000000e, 0x02021800, | ||
| 10402 | 0x001005d8, 0x0c01f001, 0x0010a205, 0x0010a209, | ||
| 10403 | 0x0010a1f0, 0x0010a217, 0x0010a22a, 0x0010a1f0, | ||
| 10404 | 0x0010a1f0, 0x0010a1f0, 0x0010a1f0, 0x0010a1f0, | ||
| 10405 | 0x0010a1f0, 0x0010a1f0, 0x0010a1f0, 0x0010a1f0, | ||
| 10406 | 0x4d400000, 0x5930001f, 0x80000540, 0x04000005, | ||
| 10407 | 0x41400800, 0x0201f800, 0x00100d7c, 0x40068000, | ||
| 10408 | 0x4d2c0000, 0x59325808, 0x0201f800, 0x00109037, | ||
| 10409 | 0x040209f3, 0x4c5c0000, 0x5930b809, 0x0201f800, | ||
| 10410 | 0x00107911, 0x485e6009, 0x5c00b800, 0x5c025800, | ||
| 10411 | 0x5c028000, 0x5c03e000, 0x02000000, 0x00106c4b, | ||
| 10412 | 0x1c01f000, 0x598c000d, 0x81300580, 0x04020004, | ||
| 10413 | 0x0201f800, 0x00106e8e, 0x04020016, 0x0201f800, | ||
| 10414 | 0x001068d3, 0x040007df, 0x0201f800, 0x00106b6c, | ||
| 10415 | 0x04000010, 0x0201f800, 0x001005d8, 0x0201f800, | ||
| 10416 | 0x00108cd6, 0x04020004, 0x0201f800, 0x00106e62, | ||
| 10417 | 0x04020008, 0x0201f800, 0x001067ae, 0x040007d1, | ||
| 10418 | 0x0201f800, 0x00106b6c, 0x02020800, 0x001005d8, | ||
| 10419 | 0x59300203, 0x82000c80, 0x0000000e, 0x02021800, | ||
| 10420 | 0x001005d8, 0x0c01f7b9, 0x0201f800, 0x00100e99, | ||
| 10421 | 0x0401f7c4, 0x4933c857, 0x4d440000, 0x4d340000, | ||
| 10422 | 0x59cc0007, 0x0201f800, 0x00105c9a, 0x02000800, | ||
| 10423 | 0x00020245, 0x0402001a, 0x59300009, 0x4c000000, | ||
| 10424 | 0x49366009, 0x42003000, 0x0000000b, 0x0201f800, | ||
| 10425 | 0x0010a942, 0x42000000, 0x0010b861, 0x0201f800, | ||
| 10426 | 0x0010aa47, 0x4d3c0000, 0x4d400000, 0x42028000, | ||
| 10427 | 0x00000029, 0x417a7800, 0x0201f800, 0x0010203c, | ||
| 10428 | 0x5c028000, 0x5c027800, 0x5c000000, 0x48026009, | ||
| 10429 | 0x59cc0007, 0x48026802, 0x80000580, 0x5c026800, | ||
| 10430 | 0x5c028800, 0x1c01f000, 0x4933c857, 0x4c040000, | ||
| 10431 | 0x59a80016, 0x82000580, 0x00000074, 0x04020040, | ||
| 10432 | 0x59cc0a08, 0x82040480, 0x00000100, 0x04001033, | ||
| 10433 | 0x59cc0c08, 0x82040500, 0x00008000, 0x04000035, | ||
| 10434 | 0x59a80032, 0x80000540, 0x04020009, 0x59301009, | ||
| 10435 | 0x58080212, 0x82000500, 0x0000ff00, 0x04000004, | ||
| 10436 | 0x82040500, 0x00000800, 0x0400002a, 0x59cc0c09, | ||
| 10437 | 0x80040840, 0x04001024, 0x59a80826, 0x8c040d06, | ||
| 10438 | 0x04000004, 0x59cc0c0f, 0x8c040d1e, 0x04020012, | ||
| 10439 | 0x59cc0a17, 0x800409c0, 0x04020012, 0x59cc0a18, | ||
| 10440 | 0x82040480, 0x00000100, 0x04001014, 0x59cc0c18, | ||
| 10441 | 0x800409c0, 0x0402000e, 0x59cc0c19, 0x80040840, | ||
| 10442 | 0x04001011, 0x59cc0c1a, 0x80040840, 0x04001011, | ||
| 10443 | 0x0401f018, 0x4a02621a, 0x00000100, 0x0401f012, | ||
| 10444 | 0x4a02621a, 0x00000300, 0x0401f00f, 0x4a02621a, | ||
| 10445 | 0x00000500, 0x0401f00c, 0x4a02621a, 0x00000700, | ||
| 10446 | 0x0401f009, 0x4a02621a, 0x00000900, 0x0401f006, | ||
| 10447 | 0x4a02621a, 0x00000f00, 0x0401f003, 0x4a02621a, | ||
| 10448 | 0x00002d00, 0x82000540, 0x00000001, 0x0401f002, | ||
| 10449 | 0x80000580, 0x5c000800, 0x1c01f000, 0x59cc0407, | ||
| 10450 | 0x4803c857, 0x82000580, 0x00000800, 0x04000003, | ||
| 10451 | 0x4a02621a, 0x00000000, 0x1c01f000, 0x4933c857, | ||
| 10452 | 0x4c040000, 0x4c080000, 0x4c0c0000, 0x4c580000, | ||
| 10453 | 0x59cc000c, 0x0201f800, 0x00105c9a, 0x02000800, | ||
| 10454 | 0x00020245, 0x04020012, 0x83cc1400, 0x00000008, | ||
| 10455 | 0x4200b000, 0x00000002, 0x83341c00, 0x00000006, | ||
| 10456 | 0x0201f800, 0x0010855a, 0x04020009, 0x83cc1400, | ||
| 10457 | 0x0000000a, 0x4200b000, 0x00000002, 0x83341c00, | ||
| 10458 | 0x00000008, 0x0201f800, 0x0010855a, 0x5c00b000, | ||
| 10459 | 0x5c001800, 0x5c001000, 0x5c000800, 0x1c01f000, | ||
| 10460 | 0x4933c857, 0x4c000000, 0x4c040000, 0x4c080000, | ||
| 10461 | 0x4c0c0000, 0x4c580000, 0x59cc0001, 0x0201f800, | ||
| 10462 | 0x00105c9a, 0x02000800, 0x00020245, 0x04020014, | ||
| 10463 | 0x83cc1400, 0x0000000b, 0x4200b000, 0x00000002, | ||
| 10464 | 0x83341c00, 0x00000006, 0x0201f800, 0x0010855a, | ||
| 10465 | 0x0402000c, 0x83cc1400, 0x0000000d, 0x4200b000, | ||
| 10466 | 0x00000002, 0x83341c00, 0x00000008, 0x0201f800, | ||
| 10467 | 0x0010855a, 0x04000014, 0x4933c856, 0x4933c856, | ||
| 10468 | 0x4933c857, 0x59340009, 0x4803c857, 0x5934000e, | ||
| 10469 | 0x4803c857, 0x59340008, 0x4803c857, 0x5934000d, | ||
| 10470 | 0x4803c857, 0x59340007, 0x4803c857, 0x5934000c, | ||
| 10471 | 0x4803c857, 0x59340006, 0x4803c857, 0x5934000b, | ||
| 10472 | 0x4803c857, 0x5c00b000, 0x5c001800, 0x5c001000, | ||
| 10473 | 0x5c000800, 0x5c000000, 0x1c01f000, 0x4933c857, | ||
| 10474 | 0x4947c857, 0x4943c857, 0x4c600000, 0x0201f800, | ||
| 10475 | 0x00106c55, 0x4df00000, 0x4d2c0000, 0x4d300000, | ||
| 10476 | 0x4d340000, 0x4130c000, 0x42026000, 0x0010d1c0, | ||
| 10477 | 0x59a8000e, 0x8060c1c0, 0x04000005, 0x82601580, | ||
| 10478 | 0x0010bde9, 0x04000002, 0x80000040, 0x81640480, | ||
| 10479 | 0x040210be, 0x40600000, 0x81300580, 0x040000b6, | ||
| 10480 | 0x0401f97a, 0x040200b4, 0x59326809, 0x59300406, | ||
| 10481 | 0x82000c80, 0x00000012, 0x02021800, 0x001005d8, | ||
| 10482 | 0x0c01f001, 0x0010a3cd, 0x0010a338, 0x0010a351, | ||
| 10483 | 0x0010a35c, 0x0010a335, 0x0010a34c, 0x0010a387, | ||
| 10484 | 0x0010a3cd, 0x0010a333, 0x0010a39a, 0x0010a3ae, | ||
| 10485 | 0x0010a333, 0x0010a333, 0x0010a333, 0x0010a333, | ||
| 10486 | 0x0010a3cd, 0x0010a3c4, 0x0010a3bc, 0x0201f800, | ||
| 10487 | 0x001005d8, 0x59300420, 0x8c000500, 0x04020096, | ||
| 10488 | 0x59300403, 0x82000580, 0x00000043, 0x04000092, | ||
| 10489 | 0x0201f800, 0x00109134, 0x04000007, 0x0201f800, | ||
| 10490 | 0x0010914e, 0x0402008a, 0x0201f800, 0x0010801c, | ||
| 10491 | 0x0401f087, 0x0201f800, 0x00102074, 0x0201f800, | ||
| 10492 | 0x0010914e, 0x02000800, 0x0010801c, 0x0401f080, | ||
| 10493 | 0x8d3e7d18, 0x04000004, 0x59300420, 0x8c000500, | ||
| 10494 | 0x0402007d, 0x59325808, 0x0201f800, 0x00109037, | ||
| 10495 | 0x04000077, 0x49425a06, 0x497a5c09, 0x0201f800, | ||
| 10496 | 0x000202da, 0x0201f800, 0x0010912a, 0x0401f070, | ||
| 10497 | 0x8d3e7d00, 0x04000007, 0x59300017, 0x81480580, | ||
| 10498 | 0x0402006d, 0x59300018, 0x814c0580, 0x0402006a, | ||
| 10499 | 0x59300203, 0x82000580, 0x00000004, 0x02000800, | ||
| 10500 | 0x00100e99, 0x59325808, 0x0201f800, 0x00109037, | ||
| 10501 | 0x0400005f, 0x4a025a04, 0x00000103, 0x59300004, | ||
| 10502 | 0x8400055c, 0x48026004, 0x592c0408, 0x8c000512, | ||
| 10503 | 0x04000007, 0x4d2c0000, 0x592c0009, 0x40025800, | ||
| 10504 | 0x0201f800, 0x001007fd, 0x5c025800, 0x49425a06, | ||
| 10505 | 0x497a5c09, 0x0401fb16, 0x0201f800, 0x0010959c, | ||
| 10506 | 0x0201f800, 0x001091c6, 0x0201f800, 0x000202da, | ||
| 10507 | 0x0201f800, 0x0010912a, 0x0401f045, 0x8d3e7d18, | ||
| 10508 | 0x04000045, 0x59300203, 0x82000580, 0x00000004, | ||
| 10509 | 0x02000800, 0x00100e99, 0x59325808, 0x0201f800, | ||
| 10510 | 0x00109037, 0x0400003a, 0x49425a06, 0x497a5c09, | ||
| 10511 | 0x0401faff, 0x0201f800, 0x0010959c, 0x0201f800, | ||
| 10512 | 0x000202da, 0x0401f032, 0x0201f800, 0x001062d5, | ||
| 10513 | 0x04000031, 0x59300203, 0x82000580, 0x00000004, | ||
| 10514 | 0x0400002d, 0x59300203, 0x82000580, 0x00000003, | ||
| 10515 | 0x04020029, 0x0201f800, 0x00106b8a, 0x59325808, | ||
| 10516 | 0x0201f800, 0x00109037, 0x04000021, 0x0201f800, | ||
| 10517 | 0x000202da, 0x0401f01e, 0x59300203, 0x82000580, | ||
| 10518 | 0x00000004, 0x02000800, 0x00100e99, 0x59325808, | ||
| 10519 | 0x0201f800, 0x00109037, 0x04000015, 0x49425a06, | ||
| 10520 | 0x497a5c09, 0x0201f800, 0x000202da, 0x0401f010, | ||
| 10521 | 0x833c0500, 0x00001800, 0x0400000f, 0x8d3e7d16, | ||
| 10522 | 0x0402000d, 0x59325817, 0x0201f800, 0x001007fd, | ||
| 10523 | 0x59325808, 0x0201f800, 0x00109037, 0x04000004, | ||
| 10524 | 0x49425a06, 0x0201f800, 0x000202da, 0x0201f800, | ||
| 10525 | 0x00107911, 0x83326400, 0x00000024, 0x41580000, | ||
| 10526 | 0x81300480, 0x0400173b, 0x5c026800, 0x5c026000, | ||
| 10527 | 0x5c025800, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 10528 | 0x5c00c000, 0x1c01f000, 0x5c000000, 0x4c000000, | ||
| 10529 | 0x4803c857, 0x4d3c0000, 0x42027800, 0x00000001, | ||
| 10530 | 0x0201f800, 0x00104567, 0x5c027800, 0x4c580000, | ||
| 10531 | 0x4200b000, 0x00000002, 0x83a81c00, 0x00000002, | ||
| 10532 | 0x83cc1400, 0x0000000b, 0x0201f800, 0x0010855a, | ||
| 10533 | 0x5c00b000, 0x80000540, 0x1c01f000, 0x492fc857, | ||
| 10534 | 0x4943c857, 0x59a8000c, 0x812c0480, 0x04001011, | ||
| 10535 | 0x59a8000d, 0x812c0480, 0x0402100e, 0x592c0000, | ||
| 10536 | 0x80005d40, 0x04000008, 0x497a5800, 0x49425a06, | ||
| 10537 | 0x4c2c0000, 0x0201f800, 0x000202da, 0x5c025800, | ||
| 10538 | 0x0401f7f7, 0x49425a06, 0x0201f000, 0x000202da, | ||
| 10539 | 0x1c01f000, 0x493fc857, 0x4933c857, 0x480bc857, | ||
| 10540 | 0x0201f800, 0x00103b25, 0x0400002e, 0x41502800, | ||
| 10541 | 0x813e79c0, 0x04020006, 0x59a80066, 0x80000000, | ||
| 10542 | 0x59a8086a, 0x80040580, 0x04000026, 0x41300000, | ||
| 10543 | 0x80140580, 0x0400001a, 0x58140203, 0x82000580, | ||
| 10544 | 0x00000000, 0x04000016, 0x58140202, 0x80080580, | ||
| 10545 | 0x04020013, 0x58141c06, 0x820c0580, 0x00000005, | ||
| 10546 | 0x0400000f, 0x820c0580, 0x00000009, 0x04000017, | ||
| 10547 | 0x59300009, 0x58142009, 0x801021c0, 0x04020006, | ||
| 10548 | 0x5814201e, 0x59301809, 0x580c0002, 0x82000500, | ||
| 10549 | 0x00ffffff, 0x80100580, 0x04000007, 0x82142c00, | ||
| 10550 | 0x00000024, 0x41540000, 0x80140480, 0x04021005, | ||
| 10551 | 0x0401f7df, 0x40163800, 0x81300540, 0x0401f002, | ||
| 10552 | 0x80000580, 0x1c01f000, 0x58141807, 0x8c0c1d10, | ||
| 10553 | 0x040207f3, 0x0401f7e7, 0x42002000, 0x0000ffff, | ||
| 10554 | 0x59301009, 0x800811c0, 0x04000002, 0x58082403, | ||
| 10555 | 0x41301000, 0x0401f007, 0x41781000, 0x41442000, | ||
| 10556 | 0x0401f004, 0x41781000, 0x42002000, 0x0000ffff, | ||
| 10557 | 0x5c000000, 0x4c000000, 0x4803c857, 0x480bc857, | ||
| 10558 | 0x4813c857, 0x492fc857, 0x4943c857, 0x4d2c0000, | ||
| 10559 | 0x0201f800, 0x001007e4, 0x02000800, 0x001005d8, | ||
| 10560 | 0x4a025a04, 0x0000010d, 0x800811c0, 0x04000017, | ||
| 10561 | 0x83400580, 0x00000029, 0x04020010, 0x82180580, | ||
| 10562 | 0x00000002, 0x0400000a, 0x82180580, 0x00000003, | ||
| 10563 | 0x04000007, 0x82180580, 0x00000008, 0x04000004, | ||
| 10564 | 0x82180580, 0x00000009, 0x04020004, 0x4a025809, | ||
| 10565 | 0xffffffff, 0x0401f002, 0x480a5809, 0x58080202, | ||
| 10566 | 0x48025c13, 0x0401f005, 0x4a025809, 0xffffffff, | ||
| 10567 | 0x4a025c13, 0x0000ffff, 0x49425a08, 0x48125a06, | ||
| 10568 | 0x82100580, 0x0000ffff, 0x0400000e, 0x4d440000, | ||
| 10569 | 0x4d340000, 0x40128800, 0x0201f800, 0x00020245, | ||
| 10570 | 0x02020800, 0x001005d8, 0x59340002, 0x82000500, | ||
| 10571 | 0x00ffffff, 0x48025812, 0x5c026800, 0x5c028800, | ||
| 10572 | 0x497a5800, 0x497a5c04, 0x83400580, 0x00000046, | ||
| 10573 | 0x04020002, 0x48165a07, 0x481a5c08, 0x0401fbed, | ||
| 10574 | 0x5c025800, 0x1c01f000, 0x59300809, 0x800409c0, | ||
| 10575 | 0x04000004, 0x58040403, 0x81440580, 0x1c01f000, | ||
| 10576 | 0x82000540, 0x00000001, 0x0401f7fd, 0x4933c857, | ||
| 10577 | 0x4c040000, 0x59300403, 0x82000d80, 0x0000001e, | ||
| 10578 | 0x04020016, 0x800000d0, 0x59300a16, 0x82040d00, | ||
| 10579 | 0x000000ff, 0x80040540, 0x4803c857, 0x48026416, | ||
| 10580 | 0x4a026403, 0x00000085, 0x4a026203, 0x00000009, | ||
| 10581 | 0x4a026406, 0x00000005, 0x4a02621d, 0x00000004, | ||
| 10582 | 0x59a80038, 0x48026206, 0x42000800, 0x8000004b, | ||
| 10583 | 0x0201f800, 0x00020721, 0x5c000800, 0x1c01f000, | ||
| 10584 | 0x4933c857, 0x40000000, 0x40000000, 0x1c01f000, | ||
| 10585 | 0x59300414, 0x4933c857, 0x4803c857, 0x8c000518, | ||
| 10586 | 0x04000009, 0x8c000512, 0x02020000, 0x0010921e, | ||
| 10587 | 0x0401f91b, 0x0201f800, 0x000206fd, 0x0201f800, | ||
| 10588 | 0x0002077d, 0x1c01f000, 0x591c0406, 0x4803c857, | ||
| 10589 | 0x82000c80, 0x00000009, 0x0402100b, 0x0c01f001, | ||
| 10590 | 0x0010a4d9, 0x0010a4d9, 0x0010a4d9, 0x0010a4db, | ||
| 10591 | 0x0010a4d9, 0x0010a4db, 0x0010a4db, 0x0010a4d9, | ||
| 10592 | 0x0010a4db, 0x80000580, 0x1c01f000, 0x82000540, | ||
| 10593 | 0x00000001, 0x1c01f000, 0x591c0406, 0x82000500, | ||
| 10594 | 0x0000001f, 0x82000580, 0x00000006, 0x0400000e, | ||
| 10595 | 0x4803c857, 0x4a026403, 0x0000003b, 0x4a02641a, | ||
| 10596 | 0x00000009, 0x4a02621a, 0x00002a00, 0x4a026203, | ||
| 10597 | 0x00000001, 0x42000800, 0x80000040, 0x0201f000, | ||
| 10598 | 0x00020721, 0x4803c856, 0x4c040000, 0x4c140000, | ||
| 10599 | 0x4d300000, 0x411e6000, 0x0401f8e9, 0x497a6205, | ||
| 10600 | 0x59300414, 0x4803c857, 0x82000500, 0xffffadff, | ||
| 10601 | 0x48026414, 0x497a6405, 0x5c026000, 0x0201f800, | ||
| 10602 | 0x001007e4, 0x02000800, 0x001005d8, 0x5c002800, | ||
| 10603 | 0x5c000800, 0x4a025a04, 0x0000010d, 0x497a5800, | ||
| 10604 | 0x497a5c04, 0x4a025a08, 0x00000045, 0x491e5809, | ||
| 10605 | 0x59300402, 0x48025c07, 0x59300419, 0x48025c0b, | ||
| 10606 | 0x591c0414, 0x84000556, 0x48023c14, 0x591c1809, | ||
| 10607 | 0x580c0403, 0x48025a06, 0x4816580a, 0x48065a0b, | ||
| 10608 | 0x0401f99d, 0x4d400000, 0x42028000, 0x00000045, | ||
| 10609 | 0x591c0202, 0x4c000000, 0x4d300000, 0x411e6000, | ||
| 10610 | 0x0401fcb1, 0x5c026000, 0x5c000000, 0x48023a02, | ||
| 10611 | 0x5c028000, 0x4a023c06, 0x00000006, 0x4a023a03, | ||
| 10612 | 0x00000007, 0x497a3a06, 0x497a3a05, 0x1c01f000, | ||
| 10613 | 0x4933c857, 0x83380580, 0x00000013, 0x0402000b, | ||
| 10614 | 0x59300403, 0x4803c857, 0x82000d80, 0x00000085, | ||
| 10615 | 0x0400002b, 0x82000d80, 0x0000008b, 0x04000028, | ||
| 10616 | 0x0201f800, 0x001005d8, 0x83380580, 0x00000027, | ||
| 10617 | 0x0402000c, 0x0201f800, 0x00106bbf, 0x4d2c0000, | ||
| 10618 | 0x4d400000, 0x59325808, 0x42028000, 0x00000004, | ||
| 10619 | 0x0401feab, 0x5c028000, 0x5c025800, 0x1c01f000, | ||
| 10620 | 0x83380580, 0x00000014, 0x040007f3, 0x83380580, | ||
| 10621 | 0x00000089, 0x04000005, 0x83380580, 0x0000008a, | ||
| 10622 | 0x02020000, 0x00107974, 0x0201f800, 0x00106f60, | ||
| 10623 | 0x02020000, 0x00107974, 0x59300a03, 0x82040580, | ||
| 10624 | 0x0000000a, 0x04000009, 0x82040580, 0x0000000c, | ||
| 10625 | 0x04000006, 0x0201f800, 0x001005d8, 0x4a026203, | ||
| 10626 | 0x0000000a, 0x1c01f000, 0x83380480, 0x00000093, | ||
| 10627 | 0x0402100c, 0x83380480, 0x00000085, 0x04001009, | ||
| 10628 | 0x83380580, 0x00000089, 0x0400000a, 0x83380580, | ||
| 10629 | 0x0000008a, 0x04000022, 0x0201f800, 0x001005d8, | ||
| 10630 | 0x493bc857, 0x4933c857, 0x0201f000, 0x00107974, | ||
| 10631 | 0x4933c857, 0x4c340000, 0x41306800, 0x0201f800, | ||
| 10632 | 0x0002075a, 0x04000011, 0x4a026203, 0x00000001, | ||
| 10633 | 0x4a026403, 0x0000001e, 0x59cc0c07, 0x48066419, | ||
| 10634 | 0x59cc0a07, 0x48066219, 0x58340809, 0x48066009, | ||
| 10635 | 0x4a026406, 0x00000004, 0x42000800, 0x80000040, | ||
| 10636 | 0x0201f800, 0x00020721, 0x40366000, 0x0201f800, | ||
| 10637 | 0x0002077d, 0x5c006800, 0x1c01f000, 0x4933c857, | ||
| 10638 | 0x0201f000, 0x0002077d, 0x4933c857, 0x59300809, | ||
| 10639 | 0x58040200, 0x8c00051a, 0x1c01f000, 0x0201f800, | ||
| 10640 | 0x001048df, 0x0400001e, 0x4a026203, 0x00000002, | ||
| 10641 | 0x59300414, 0x84000558, 0x48026414, 0x8c000512, | ||
| 10642 | 0x04000004, 0x59a80039, 0x48026205, 0x0401f007, | ||
| 10643 | 0x59a80839, 0x59a80037, 0x80040400, 0x82000400, | ||
| 10644 | 0x0000000a, 0x48026205, 0x59300009, 0x82000c00, | ||
| 10645 | 0x00000011, 0x50040000, 0x80000540, 0x04000004, | ||
| 10646 | 0x82000c00, 0x00000000, 0x0401f7fb, 0x45300800, | ||
| 10647 | 0x497a6000, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 10648 | 0x82100500, 0xfffffeef, 0x04020020, 0x4d2c0000, | ||
| 10649 | 0x4937c857, 0x59340811, 0x83341400, 0x00000011, | ||
| 10650 | 0x800409c0, 0x0400000e, 0x40040000, 0x81300580, | ||
| 10651 | 0x04000005, 0x58040800, 0x82041400, 0x00000000, | ||
| 10652 | 0x0401f7f8, 0x59300800, 0x497a6000, 0x44041000, | ||
| 10653 | 0x0201f800, 0x000206fd, 0x0401f002, 0x4933c857, | ||
| 10654 | 0x592c0000, 0x80000540, 0x02020800, 0x001005d8, | ||
| 10655 | 0x5c025800, 0x492e6008, 0x0201f800, 0x000206fd, | ||
| 10656 | 0x0201f000, 0x0002077d, 0x492fc857, 0x4a025a06, | ||
| 10657 | 0x00000006, 0x0201f000, 0x000202da, 0x4c340000, | ||
| 10658 | 0x59300009, 0x800001c0, 0x04000010, 0x82006c00, | ||
| 10659 | 0x00000011, 0x50340000, 0x80000540, 0x04000009, | ||
| 10660 | 0x81300580, 0x04000005, 0x50340000, 0x82006c00, | ||
| 10661 | 0x00000000, 0x0401f7f8, 0x59300000, 0x44006800, | ||
| 10662 | 0x5c006800, 0x1c01f000, 0x59300c06, 0x82040580, | ||
| 10663 | 0x00000005, 0x040007fb, 0x82040580, 0x00000011, | ||
| 10664 | 0x040007f8, 0x82040580, 0x00000006, 0x040007f5, | ||
| 10665 | 0x82040580, 0x00000001, 0x040007f2, 0x0201f800, | ||
| 10666 | 0x001005d8, 0x4933c857, 0x4c080000, 0x4c0c0000, | ||
| 10667 | 0x4c580000, 0x59a8101d, 0x59cc1807, 0x820c1d00, | ||
| 10668 | 0x00ffffff, 0x800c0110, 0x80083580, 0x04020014, | ||
| 10669 | 0x83cc1400, 0x00000008, 0x4200b000, 0x00000002, | ||
| 10670 | 0x59300009, 0x82001c00, 0x00000006, 0x0201f800, | ||
| 10671 | 0x0010855a, 0x0402000a, 0x83cc1400, 0x0000000a, | ||
| 10672 | 0x4200b000, 0x00000002, 0x59300009, 0x82001c00, | ||
| 10673 | 0x00000008, 0x0201f800, 0x0010855a, 0x5c00b000, | ||
| 10674 | 0x5c001800, 0x5c001000, 0x1c01f000, 0x4933c856, | ||
| 10675 | 0x0201f800, 0x0010421b, 0x0201f000, 0x00101e45, | ||
| 10676 | 0x493bc857, 0x4d2c0000, 0x0201f800, 0x001007e4, | ||
| 10677 | 0x02000800, 0x001005d8, 0x832cac00, 0x00000005, | ||
| 10678 | 0x4c580000, 0x4c540000, 0x4200b000, 0x00000006, | ||
| 10679 | 0x4578a800, 0x8054a800, 0x8058b040, 0x040207fd, | ||
| 10680 | 0x83380580, 0x00000046, 0x04020004, 0x4a025a04, | ||
| 10681 | 0x00000144, 0x0401f008, 0x4a025a04, 0x00000146, | ||
| 10682 | 0x83380580, 0x00000041, 0x04000003, 0x4a025a06, | ||
| 10683 | 0x00000001, 0x59cc0007, 0x82000500, 0xff000000, | ||
| 10684 | 0x80000110, 0x59cc1008, 0x82081500, 0xff000000, | ||
| 10685 | 0x80081540, 0x480a580a, 0x83380580, 0x00000046, | ||
| 10686 | 0x04020006, 0x59cc0007, 0x82000500, 0x00ffffff, | ||
| 10687 | 0x4802580b, 0x0401f005, 0x59cc0008, 0x82000500, | ||
| 10688 | 0x00ffffff, 0x4802580b, 0x83380580, 0x00000046, | ||
| 10689 | 0x04020004, 0x83cc1400, 0x00000009, 0x0401f003, | ||
| 10690 | 0x83cc1400, 0x0000000d, 0x50080000, 0x9c0001c0, | ||
| 10691 | 0x4802580c, 0x80081000, 0x50080000, 0x9c0001c0, | ||
| 10692 | 0x4802580d, 0x83380580, 0x00000046, 0x04020008, | ||
| 10693 | 0x59cc000b, 0x9c0001c0, 0x4802580e, 0x59cc000c, | ||
| 10694 | 0x9c0001c0, 0x4802580f, 0x0401f007, 0x59cc000f, | ||
| 10695 | 0x9c0001c0, 0x4802580e, 0x59cc0010, 0x9c0001c0, | ||
| 10696 | 0x4802580f, 0x83380580, 0x00000046, 0x04020004, | ||
| 10697 | 0x83cc1400, 0x00000011, 0x0401f003, 0x83cc1400, | ||
| 10698 | 0x00000015, 0x412c3000, 0x82183400, 0x00000010, | ||
| 10699 | 0x4200b000, 0x00000004, 0x50080000, 0x9c0001c0, | ||
| 10700 | 0x44003000, 0x80081000, 0x80183000, 0x8058b040, | ||
| 10701 | 0x040207fa, 0x5c00a800, 0x5c00b000, 0x0201f800, | ||
| 10702 | 0x000202da, 0x5c025800, 0x1c01f000, 0x4933c857, | ||
| 10703 | 0x492fc857, 0x59300809, 0x58040200, 0x8c00051e, | ||
| 10704 | 0x04000004, 0x592c0208, 0x84000558, 0x48025a08, | ||
| 10705 | 0x1c01f000, 0x59e0180f, 0x599c0413, 0x800c1000, | ||
| 10706 | 0x80080580, 0x04020002, 0x41781000, 0x59e00010, | ||
| 10707 | 0x59e00810, 0x80040d80, 0x040207fd, 0x80080580, | ||
| 10708 | 0x0400000b, 0x4c080000, 0x599c0814, 0x599c1015, | ||
| 10709 | 0x800c00cc, 0x80040c00, 0x82081440, 0x00000000, | ||
| 10710 | 0x5c001800, 0x82000540, 0x00000001, 0x4803c857, | ||
| 10711 | 0x1c01f000, 0x492fc857, 0x42007000, 0x0010b7f8, | ||
| 10712 | 0x58380807, 0x800409c0, 0x04020005, 0x492c7008, | ||
| 10713 | 0x492c7007, 0x0201f000, 0x00100875, 0x492c0800, | ||
| 10714 | 0x492c7007, 0x1c01f000, 0x59300203, 0x4933c857, | ||
| 10715 | 0x4937c857, 0x493bc857, 0x4803c857, 0x82003480, | ||
| 10716 | 0x0000000e, 0x02021800, 0x001005d8, 0x0c01f001, | ||
| 10717 | 0x0010a6da, 0x0010a82c, 0x0010a6da, 0x0010a6da, | ||
| 10718 | 0x0010a6da, 0x0010a6da, 0x0010a6da, 0x0010a791, | ||
| 10719 | 0x0010a6dc, 0x0010a6da, 0x0010a6da, 0x0010a6da, | ||
| 10720 | 0x0010a6da, 0x0010a6da, 0x0201f800, 0x001005d8, | ||
| 10721 | 0x83380580, 0x0000004c, 0x02020800, 0x001005d8, | ||
| 10722 | 0x0201f800, 0x001048ec, 0x04020020, 0x59a80826, | ||
| 10723 | 0x82040500, 0x00000009, 0x82000580, 0x00000008, | ||
| 10724 | 0x0400001a, 0x8c040d12, 0x0400003d, 0x59cc0806, | ||
| 10725 | 0x82040d00, 0xff000000, 0x82040580, 0x03000000, | ||
| 10726 | 0x0400001f, 0x82040580, 0x50000000, 0x04000005, | ||
| 10727 | 0x82040580, 0x52000000, 0x02020000, 0x0002077d, | ||
| 10728 | 0x813669c0, 0x04000006, 0x4d3c0000, 0x417a7800, | ||
| 10729 | 0x0201f800, 0x0010203c, 0x5c027800, 0x4a026403, | ||
| 10730 | 0x00000001, 0x0401f014, 0x59cc0806, 0x82040d00, | ||
| 10731 | 0xff000000, 0x82040580, 0x03000000, 0x04000008, | ||
| 10732 | 0x82040580, 0x50000000, 0x04000005, 0x82040580, | ||
| 10733 | 0x52000000, 0x02020000, 0x0002077d, 0x4a026403, | ||
| 10734 | 0x00000009, 0x4a02641a, 0x00000009, 0x4a02621a, | ||
| 10735 | 0x00000000, 0x813669c0, 0x0402000b, 0x59cc0001, | ||
| 10736 | 0x0201f800, 0x00105c9a, 0x02020000, 0x0002077d, | ||
| 10737 | 0x0201f800, 0x001045a6, 0x02020000, 0x0002077d, | ||
| 10738 | 0x49366009, 0x4a026406, 0x00000004, 0x4a026203, | ||
| 10739 | 0x00000001, 0x0201f000, 0x0010672b, 0x0201f800, | ||
| 10740 | 0x00103b25, 0x04000023, 0x59cc0806, 0x4807c857, | ||
| 10741 | 0x82040d00, 0xff000000, 0x82040580, 0x03000000, | ||
| 10742 | 0x04000033, 0x82040580, 0x20000000, 0x04000041, | ||
| 10743 | 0x82040580, 0x21000000, 0x04000052, 0x82040580, | ||
| 10744 | 0x24000000, 0x0400004f, 0x82040580, 0x50000000, | ||
| 10745 | 0x0400004c, 0x82040580, 0x52000000, 0x04000049, | ||
| 10746 | 0x82040580, 0x05000000, 0x0402000d, 0x59cc0806, | ||
| 10747 | 0x82040d00, 0xff000000, 0x9c0431c0, 0x42028000, | ||
| 10748 | 0x00000046, 0x42002800, 0x00000001, 0x0401fcf3, | ||
| 10749 | 0x0401f93c, 0x02000800, 0x001005d8, 0x42002000, | ||
| 10750 | 0x00000051, 0x0201f800, 0x00107a4a, 0x59cc0000, | ||
| 10751 | 0x82000500, 0x00ffffff, 0x82000580, 0x00ffffff, | ||
| 10752 | 0x04000005, 0x4a026203, 0x00000007, 0x493a6403, | ||
| 10753 | 0x1c01f000, 0x59325817, 0x812e59c0, 0x02020800, | ||
| 10754 | 0x001007fd, 0x0201f000, 0x0002077d, 0x813669c0, | ||
| 10755 | 0x040007df, 0x59340400, 0x82000500, 0x000000ff, | ||
| 10756 | 0x82000580, 0x00000003, 0x040207d9, 0x0401fc6f, | ||
| 10757 | 0x040207d7, 0x4a026403, 0x00000009, 0x4a02641a, | ||
| 10758 | 0x0000000e, 0x4a02621a, 0x00001900, 0x0401f7a2, | ||
| 10759 | 0x813669c0, 0x0400000c, 0x59340c00, 0x82040500, | ||
| 10760 | 0x000000ff, 0x82000580, 0x00000009, 0x04000794, | ||
| 10761 | 0x82040500, 0x0000ff00, 0x82000580, 0x00000700, | ||
| 10762 | 0x040207c3, 0x4a026403, 0x00000009, 0x4a02641a, | ||
| 10763 | 0x00000009, 0x4a02621a, 0x00001e00, 0x0401f78e, | ||
| 10764 | 0x813669c0, 0x040007f8, 0x59340c00, 0x82040500, | ||
| 10765 | 0x0000ff00, 0x82000580, 0x00000700, 0x040007f2, | ||
| 10766 | 0x0401f7b3, 0x4d2c0000, 0x4c580000, 0x4c500000, | ||
| 10767 | 0x4c540000, 0x41385000, 0x83380580, 0x00000054, | ||
| 10768 | 0x02020800, 0x001005d8, 0x59325808, 0x592c0c0b, | ||
| 10769 | 0x82040d00, 0x0000e000, 0x82040580, 0x00002000, | ||
| 10770 | 0x04020076, 0x59300817, 0x800409c0, 0x04000014, | ||
| 10771 | 0x58041404, 0x41cca800, 0x8204a400, 0x00000005, | ||
| 10772 | 0x82080480, 0x00000010, 0x04021004, 0x4008b000, | ||
| 10773 | 0x0401fb6b, 0x0401f00a, 0x40001000, 0x4200b000, | ||
| 10774 | 0x0000000f, 0x0401fb66, 0x58040801, 0x800409c0, | ||
| 10775 | 0x040207f2, 0x0201f800, 0x001005d8, 0x813669c0, | ||
| 10776 | 0x0400005e, 0x59344c00, 0x592c0c09, 0x4807c857, | ||
| 10777 | 0x4827c857, 0x82040d00, 0x000000ff, 0x82040580, | ||
| 10778 | 0x00000003, 0x0400002a, 0x82040580, 0x00000005, | ||
| 10779 | 0x04000032, 0x82040580, 0x00000020, 0x04000036, | ||
| 10780 | 0x82040580, 0x00000052, 0x04000042, 0x82040580, | ||
| 10781 | 0x00000050, 0x04000042, 0x82040580, 0x00000021, | ||
| 10782 | 0x04000004, 0x82040580, 0x00000024, 0x04020043, | ||
| 10783 | 0x82240500, 0x0000ff00, 0x82000580, 0x00000007, | ||
| 10784 | 0x04000008, 0x42000800, 0x00000009, 0x0201f800, | ||
| 10785 | 0x00104571, 0x42005000, 0x0000000c, 0x0401f037, | ||
| 10786 | 0x4a025a06, 0x00000031, 0x4a02580d, 0x00000009, | ||
| 10787 | 0x59340400, 0x4802580e, 0x0201f800, 0x000202da, | ||
| 10788 | 0x0201f800, 0x00107911, 0x0401f03d, 0x0201f800, | ||
| 10789 | 0x001042b4, 0x0201f800, 0x0010462a, 0x42000800, | ||
| 10790 | 0x00000003, 0x0201f800, 0x00104571, 0x42005000, | ||
| 10791 | 0x00000008, 0x0401f021, 0x59cc0007, 0x0201f800, | ||
| 10792 | 0x00105eec, 0x0402001d, 0x0201f800, 0x001042b4, | ||
| 10793 | 0x0401f01a, 0x82240500, 0x0000ff00, 0x82000580, | ||
| 10794 | 0x00000007, 0x040007df, 0x82240500, 0x000000ff, | ||
| 10795 | 0x82000580, 0x00000009, 0x040007da, 0x0201f800, | ||
| 10796 | 0x0010468d, 0x42005000, 0x0000000a, 0x0401f00b, | ||
| 10797 | 0x42005000, 0x0000000e, 0x0401f003, 0x42005000, | ||
| 10798 | 0x00000010, 0x82240500, 0x0000ff00, 0x82000580, | ||
| 10799 | 0x00000007, 0x040007cb, 0x482a6403, 0x4a026203, | ||
| 10800 | 0x00000001, 0x592c000d, 0x48026011, 0x497a6013, | ||
| 10801 | 0x59a80038, 0x48026206, 0x417a7800, 0x0201f800, | ||
| 10802 | 0x0010672b, 0x59325817, 0x812e59c0, 0x04000004, | ||
| 10803 | 0x0201f800, 0x001007fd, 0x497a6017, 0x5c00a800, | ||
| 10804 | 0x5c00a000, 0x5c00b000, 0x5c025800, 0x1c01f000, | ||
| 10805 | 0x4d2c0000, 0x59325808, 0x83380580, 0x00000013, | ||
| 10806 | 0x04020029, 0x59300c03, 0x82040580, 0x00000054, | ||
| 10807 | 0x0400001e, 0x82040580, 0x00000010, 0x04000018, | ||
| 10808 | 0x82040580, 0x0000000e, 0x04000015, 0x82040580, | ||
| 10809 | 0x00000008, 0x0400000d, 0x82040580, 0x0000000c, | ||
| 10810 | 0x0400000a, 0x82040580, 0x0000000a, 0x02020800, | ||
| 10811 | 0x001005d8, 0x42000800, 0x00000006, 0x0201f800, | ||
| 10812 | 0x00104571, 0x0401f009, 0x42000800, 0x00000004, | ||
| 10813 | 0x0201f800, 0x00104571, 0x0401f004, 0x59340200, | ||
| 10814 | 0x8400051a, 0x48026a00, 0x4a025a06, 0x00000000, | ||
| 10815 | 0x0201f800, 0x000202da, 0x0201f800, 0x0002077d, | ||
| 10816 | 0x0401f022, 0x83380580, 0x00000027, 0x0400000e, | ||
| 10817 | 0x83380580, 0x00000014, 0x02020800, 0x001005d8, | ||
| 10818 | 0x0201f800, 0x00106bbf, 0x42028000, 0x00000031, | ||
| 10819 | 0x42000800, 0x00000004, 0x42001000, 0x000000ff, | ||
| 10820 | 0x0401f009, 0x0201f800, 0x00106bbf, 0x42028000, | ||
| 10821 | 0x00000031, 0x42000800, 0x00000004, 0x42001000, | ||
| 10822 | 0x00000010, 0x49425a06, 0x4806580d, 0x480a580e, | ||
| 10823 | 0x0201f800, 0x000202da, 0x0201f800, 0x00104c19, | ||
| 10824 | 0x0201f800, 0x00107911, 0x5c025800, 0x1c01f000, | ||
| 10825 | 0x42007000, 0x0010b7f8, 0x58380807, 0x800409c0, | ||
| 10826 | 0x04020005, 0x492c7008, 0x492c7007, 0x0201f000, | ||
| 10827 | 0x00100875, 0x492c0800, 0x492c7007, 0x1c01f000, | ||
| 10828 | 0x4d2c0000, 0x4c580000, 0x4c500000, 0x4c540000, | ||
| 10829 | 0x4933c857, 0x4937c857, 0x59cc0806, 0x4807c857, | ||
| 10830 | 0x82040d00, 0xff000000, 0x82040580, 0x03000000, | ||
| 10831 | 0x0400000d, 0x82040580, 0x05000000, 0x0400000a, | ||
| 10832 | 0x82040580, 0x21000000, 0x04000030, 0x82040580, | ||
| 10833 | 0x24000000, 0x0400002d, 0x82040580, 0x20000000, | ||
| 10834 | 0x0402002f, 0x0201f800, 0x001007e4, 0x0400002c, | ||
| 10835 | 0x492fc857, 0x492e6017, 0x59a8b016, 0x8258b400, | ||
| 10836 | 0x0000001b, 0x8258b500, 0xfffffffc, 0x8058b104, | ||
| 10837 | 0x485a5c04, 0x412c7800, 0x41cca000, 0x82580480, | ||
| 10838 | 0x00000010, 0x04021005, 0x832cac00, 0x00000005, | ||
| 10839 | 0x0401fa63, 0x0401f015, 0x40580800, 0x4200b000, | ||
| 10840 | 0x0000000f, 0x832cac00, 0x00000005, 0x0401fa5c, | ||
| 10841 | 0x8204b480, 0x0000000f, 0x0201f800, 0x001007e4, | ||
| 10842 | 0x04000004, 0x492c7801, 0x412c7800, 0x0401f7ec, | ||
| 10843 | 0x59325817, 0x0201f800, 0x001007fd, 0x497a6017, | ||
| 10844 | 0x80000580, 0x0401f006, 0x59340200, 0x84000554, | ||
| 10845 | 0x48026a00, 0x82000540, 0x00000001, 0x5c00a800, | ||
| 10846 | 0x5c00a000, 0x5c00b000, 0x5c025800, 0x1c01f000, | ||
| 10847 | 0x4933c857, 0x492fc857, 0x4d2c0000, 0x59300a03, | ||
| 10848 | 0x82040580, 0x00000007, 0x04000036, 0x82040580, | ||
| 10849 | 0x00000001, 0x02020800, 0x001005d8, 0x0201f800, | ||
| 10850 | 0x00106c55, 0x4df00000, 0x598c000d, 0x81300580, | ||
| 10851 | 0x04020016, 0x59300004, 0x8c000520, 0x04000004, | ||
| 10852 | 0x84000520, 0x48026004, 0x0401f016, 0x42001000, | ||
| 10853 | 0x0010b7f6, 0x50081000, 0x58080002, 0x82000580, | ||
| 10854 | 0x00000100, 0x04000006, 0x5808000c, 0x81300580, | ||
| 10855 | 0x02020800, 0x001005d8, 0x0401f00a, 0x0201f800, | ||
| 10856 | 0x00106e8e, 0x04020020, 0x59300004, 0x8c000520, | ||
| 10857 | 0x04000004, 0x84000520, 0x48026004, 0x0401f003, | ||
| 10858 | 0x0201f800, 0x001068d3, 0x5c03e000, 0x02000800, | ||
| 10859 | 0x00106c4b, 0x0201f800, 0x00109037, 0x02000800, | ||
| 10860 | 0x001005d8, 0x59325808, 0x4a025a06, 0x00000005, | ||
| 10861 | 0x0201f800, 0x000202da, 0x0201f800, 0x00104c19, | ||
| 10862 | 0x59325817, 0x812e59c0, 0x02020800, 0x001007fd, | ||
| 10863 | 0x0201f800, 0x00107911, 0x80000580, 0x5c025800, | ||
| 10864 | 0x1c01f000, 0x5c03e000, 0x02000800, 0x00106c4b, | ||
| 10865 | 0x59300406, 0x82000580, 0x00000011, 0x040007b8, | ||
| 10866 | 0x0401f7f7, 0x4c040000, 0x59340200, 0x4803c857, | ||
| 10867 | 0x8c00051c, 0x04000009, 0x59cc0805, 0x591c0019, | ||
| 10868 | 0x4803c857, 0x80040580, 0x04000004, 0x80000580, | ||
| 10869 | 0x4803c856, 0x0401f003, 0x82000540, 0x00000001, | ||
| 10870 | 0x5c000800, 0x1c01f000, 0x4c000000, 0x4c0c0000, | ||
| 10871 | 0x4c100000, 0x42001800, 0x0000ffff, 0x42002000, | ||
| 10872 | 0x00000004, 0x0401f010, 0x4c000000, 0x4c0c0000, | ||
| 10873 | 0x4c100000, 0x59302009, 0x58101c03, 0x42002000, | ||
| 10874 | 0x00000004, 0x0401f008, 0x4c000000, 0x4c0c0000, | ||
| 10875 | 0x4c100000, 0x59302009, 0x58101c03, 0x42002000, | ||
| 10876 | 0x00000007, 0x480fc857, 0x4813c857, 0x481bc857, | ||
| 10877 | 0x0201f800, 0x00103aae, 0x5c002000, 0x5c001800, | ||
| 10878 | 0x5c000000, 0x1c01f000, 0x83380580, 0x00000092, | ||
| 10879 | 0x02020800, 0x001005d8, 0x42000800, 0x80000040, | ||
| 10880 | 0x4a026203, 0x00000001, 0x493a6403, 0x0201f000, | ||
| 10881 | 0x00020721, 0x4d400000, 0x0201f800, 0x00103b25, | ||
| 10882 | 0x04000008, 0x59a80005, 0x84000544, 0x48035005, | ||
| 10883 | 0x42028000, 0x0000002a, 0x0201f800, 0x0010a449, | ||
| 10884 | 0x5c028000, 0x1c01f000, 0x59a80026, 0x8c000508, | ||
| 10885 | 0x04000005, 0x599c0017, 0x8c00050a, 0x04020002, | ||
| 10886 | 0x1c01f000, 0x82000540, 0x00000001, 0x1c01f000, | ||
| 10887 | 0x59300420, 0x84000540, 0x48026420, 0x1c01f000, | ||
| 10888 | 0x4817c857, 0x4c000000, 0x4c040000, 0x8c142d2a, | ||
| 10889 | 0x04000004, 0x598800b8, 0x80000000, 0x480310b8, | ||
| 10890 | 0x8c142d2e, 0x04000004, 0x598800b9, 0x80000000, | ||
| 10891 | 0x480310b9, 0x8c142d2c, 0x04000013, 0x40140000, | ||
| 10892 | 0x82000500, 0x00070000, 0x82000d80, 0x00030000, | ||
| 10893 | 0x0400000d, 0x82000d80, 0x00040000, 0x0400000a, | ||
| 10894 | 0x82000d80, 0x00050000, 0x04000007, 0x59880005, | ||
| 10895 | 0x80000000, 0x48031005, 0x598800ba, 0x80000000, | ||
| 10896 | 0x480310ba, 0x5c000800, 0x5c000000, 0x1c01f000, | ||
| 10897 | 0x4817c857, 0x4c000000, 0x4c040000, 0x8c142d2a, | ||
| 10898 | 0x04000004, 0x598800bb, 0x80000000, 0x480310bb, | ||
| 10899 | 0x8c142d2e, 0x04000004, 0x598800bc, 0x80000000, | ||
| 10900 | 0x480310bc, 0x8c142d2c, 0x04000013, 0x40140000, | ||
| 10901 | 0x82000500, 0x00070000, 0x82000d80, 0x00030000, | ||
| 10902 | 0x0400000d, 0x82000d80, 0x00040000, 0x0400000a, | ||
| 10903 | 0x82000d80, 0x00050000, 0x04000007, 0x59880005, | ||
| 10904 | 0x80000000, 0x48031005, 0x598800bd, 0x80000000, | ||
| 10905 | 0x480310bd, 0x5c000800, 0x5c000000, 0x1c01f000, | ||
| 10906 | 0x4c000000, 0x59880001, 0x80000000, 0x4803c857, | ||
| 10907 | 0x48031001, 0x5c000000, 0x1c01f000, 0x4c000000, | ||
| 10908 | 0x59880000, 0x80000000, 0x4803c857, 0x48031000, | ||
| 10909 | 0x5c000000, 0x1c01f000, 0x4c000000, 0x59880002, | ||
| 10910 | 0x80000000, 0x4803c857, 0x48031002, 0x5c000000, | ||
| 10911 | 0x1c01f000, 0x4807c857, 0x4c000000, 0x8c040d2c, | ||
| 10912 | 0x04000004, 0x598800a6, 0x80000000, 0x480310a6, | ||
| 10913 | 0x8c040d2a, 0x04000004, 0x598800a7, 0x80000000, | ||
| 10914 | 0x480310a7, 0x8c040d28, 0x04000004, 0x598800a8, | ||
| 10915 | 0x80000000, 0x480310a8, 0x8c040d26, 0x04000004, | ||
| 10916 | 0x598800a9, 0x80000000, 0x480310a9, 0x8c040d24, | ||
| 10917 | 0x04000004, 0x598800aa, 0x80000000, 0x480310aa, | ||
| 10918 | 0x8c040d22, 0x04000004, 0x598800ab, 0x80000000, | ||
| 10919 | 0x480310ab, 0x8c040d20, 0x04000004, 0x598800ac, | ||
| 10920 | 0x80000000, 0x480310ac, 0x5c000000, 0x1c01f000, | ||
| 10921 | 0x4807c857, 0x4c000000, 0x598800ad, 0x80000000, | ||
| 10922 | 0x480310ad, 0x5c000000, 0x1c01f000, 0x4807c857, | ||
| 10923 | 0x4c000000, 0x8c040d1c, 0x04000004, 0x598800ae, | ||
| 10924 | 0x80000000, 0x480310ae, 0x8c040d1a, 0x04000004, | ||
| 10925 | 0x598800af, 0x80000000, 0x480310af, 0x5c000000, | ||
| 10926 | 0x1c01f000, 0x4807c857, 0x4c000000, 0x8c040d18, | ||
| 10927 | 0x04000004, 0x598800b0, 0x80000000, 0x480310b0, | ||
| 10928 | 0x8c040d16, 0x04000004, 0x598800b1, 0x80000000, | ||
| 10929 | 0x480310b1, 0x8c040d14, 0x04000004, 0x598800b2, | ||
| 10930 | 0x80000000, 0x480310b2, 0x5c000000, 0x1c01f000, | ||
| 10931 | 0x4807c857, 0x4c000000, 0x8c040d10, 0x04000004, | ||
| 10932 | 0x598800b3, 0x80000000, 0x480310b3, 0x8c040d0c, | ||
| 10933 | 0x04000004, 0x598800b4, 0x80000000, 0x480310b4, | ||
| 10934 | 0x5c000000, 0x1c01f000, 0x4807c857, 0x4c000000, | ||
| 10935 | 0x8c040d08, 0x04000004, 0x598800b5, 0x80000000, | ||
| 10936 | 0x480310b5, 0x8c040d04, 0x04000004, 0x598800b6, | ||
| 10937 | 0x80000000, 0x480310b6, 0x5c000000, 0x1c01f000, | ||
| 10938 | 0x4807c856, 0x4c000000, 0x5988007f, 0x80000000, | ||
| 10939 | 0x4803107f, 0x5c000000, 0x1c01f000, 0x4803c857, | ||
| 10940 | 0x4c040000, 0x50000800, 0x80040800, 0x4807c857, | ||
| 10941 | 0x44040000, 0x5c000800, 0x1c01f000, 0x480fc857, | ||
| 10942 | 0x4c000000, 0x820c0580, 0x00000000, 0x04020004, | ||
| 10943 | 0x42000000, 0x0010b819, 0x0401f014, 0x820c0580, | ||
| 10944 | 0x00001001, 0x04020004, 0x42000000, 0x0010b81a, | ||
| 10945 | 0x0401f00e, 0x820c0580, 0x00001002, 0x04020004, | ||
| 10946 | 0x42000000, 0x0010b81b, 0x0401f008, 0x820c0c80, | ||
| 10947 | 0x0000201c, 0x02021800, 0x001005d8, 0x820c0500, | ||
| 10948 | 0x0000001f, 0x0c01f804, 0x0401ffdd, 0x5c000000, | ||
| 10949 | 0x1c01f000, 0x0010aa89, 0x0010aa8c, 0x0010aa8f, | ||
| 10950 | 0x0010aa92, 0x0010aa95, 0x0010aa98, 0x0010aa9b, | ||
| 10951 | 0x0010aa9e, 0x0010aaa1, 0x0010aaa4, 0x0010aaa7, | ||
| 10952 | 0x0010aaaa, 0x0010aaad, 0x0010aab0, 0x0010aab3, | ||
| 10953 | 0x0010aab6, 0x0010aab9, 0x0010aabc, 0x0010aabf, | ||
| 10954 | 0x0010aac2, 0x0010aac5, 0x0010aac8, 0x0010aacb, | ||
| 10955 | 0x0010aace, 0x0010aad1, 0x0010aad4, 0x0010aad7, | ||
| 10956 | 0x0010aada, 0x42000000, 0x0010b81c, 0x1c01f000, | ||
| 10957 | 0x42000000, 0x0010b81d, 0x1c01f000, 0x42000000, | ||
| 10958 | 0x0010b81e, 0x1c01f000, 0x42000000, 0x0010b81f, | ||
| 10959 | 0x1c01f000, 0x42000000, 0x0010b820, 0x1c01f000, | ||
| 10960 | 0x42000000, 0x0010b821, 0x1c01f000, 0x42000000, | ||
| 10961 | 0x0010b822, 0x1c01f000, 0x42000000, 0x0010b823, | ||
| 10962 | 0x1c01f000, 0x42000000, 0x0010b824, 0x1c01f000, | ||
| 10963 | 0x42000000, 0x0010b825, 0x1c01f000, 0x42000000, | ||
| 10964 | 0x0010b826, 0x1c01f000, 0x42000000, 0x0010b827, | ||
| 10965 | 0x1c01f000, 0x42000000, 0x0010b828, 0x1c01f000, | ||
| 10966 | 0x42000000, 0x0010b829, 0x1c01f000, 0x42000000, | ||
| 10967 | 0x0010b82a, 0x1c01f000, 0x42000000, 0x0010b82b, | ||
| 10968 | 0x1c01f000, 0x42000000, 0x0010b82c, 0x1c01f000, | ||
| 10969 | 0x42000000, 0x0010b82d, 0x1c01f000, 0x42000000, | ||
| 10970 | 0x0010b82e, 0x1c01f000, 0x42000000, 0x0010b82f, | ||
| 10971 | 0x1c01f000, 0x42000000, 0x0010b830, 0x1c01f000, | ||
| 10972 | 0x42000000, 0x0010b831, 0x1c01f000, 0x42000000, | ||
| 10973 | 0x0010b832, 0x1c01f000, 0x42000000, 0x0010b833, | ||
| 10974 | 0x1c01f000, 0x42000000, 0x0010b834, 0x1c01f000, | ||
| 10975 | 0x42000000, 0x0010b835, 0x1c01f000, 0x42000000, | ||
| 10976 | 0x0010b836, 0x1c01f000, 0x42000000, 0x0010b837, | ||
| 10977 | 0x1c01f000, 0x480fc857, 0x4c000000, 0x820c0580, | ||
| 10978 | 0x00000001, 0x04020004, 0x42000000, 0x0010b80e, | ||
| 10979 | 0x0401f012, 0x820c0580, 0x00000002, 0x04020004, | ||
| 10980 | 0x42000000, 0x0010b80f, 0x0401f00c, 0x820c0580, | ||
| 10981 | 0x00000003, 0x04020004, 0x42000000, 0x0010b810, | ||
| 10982 | 0x0401f006, 0x820c0580, 0x00000004, 0x04020004, | ||
| 10983 | 0x42000000, 0x0010b811, 0x0401ff51, 0x5c000000, | ||
| 10984 | 0x1c01f000, 0x4c000000, 0x59a80026, 0x4803c857, | ||
| 10985 | 0x8c000502, 0x04000010, 0x8c000506, 0x04000004, | ||
| 10986 | 0x42000000, 0x0010b841, 0x0401f012, 0x8c00050a, | ||
| 10987 | 0x04000004, 0x42000000, 0x0010b840, 0x0401f00d, | ||
| 10988 | 0x8c000508, 0x04000004, 0x42000000, 0x0010b843, | ||
| 10989 | 0x0401f008, 0x0201f800, 0x0010513b, 0x04000006, | ||
| 10990 | 0x8c000506, 0x04020004, 0x42000000, 0x0010b842, | ||
| 10991 | 0x0401ff33, 0x5c000000, 0x1c01f000, 0x8058b1c0, | ||
| 10992 | 0x02000800, 0x001005d8, 0x5450a800, 0x8050a000, | ||
| 10993 | 0x8054a800, 0x8058b040, 0x040207fc, 0x1c01f000, | ||
| 10994 | 0x8058b1c0, 0x02000800, 0x001005d8, 0x4450a800, | ||
| 10995 | 0x8054a800, 0x8058b040, 0x040207fd, 0x1c01f000, | ||
| 10996 | 0x8058b1c0, 0x02000800, 0x001005d8, 0x50500000, | ||
| 10997 | 0x9c0001c0, 0x4400a800, 0x8050a000, 0x8054a800, | ||
| 10998 | 0x8058b040, 0x040207fa, 0x1c01f000, 0x4c000000, | ||
| 10999 | 0x59a80008, 0x8c00051c, 0x5c000000, 0x1c01f000, | ||
| 11000 | 0x00000001, 0x00000002, 0x00000004, 0x00000008, | ||
| 11001 | 0x00000010, 0x00000020, 0x00000040, 0x00000080, | ||
| 11002 | 0x00000100, 0x00000200, 0x00000400, 0x00000800, | ||
| 11003 | 0x00001000, 0x00002000, 0x00004000, 0x00008000, | ||
| 11004 | 0x00010000, 0xa5f2b3ac | ||
| 11005 | }; | ||
| 11006 | |||
| 11007 | #ifdef UNIQUE_FW_NAME | ||
| 11008 | uint32_t fw2400_length01 = 0x0000ab4a ; | ||
| 11009 | #else | ||
| 11010 | uint32_t risc_code_length01 = 0x0000ab4a ; | ||
| 11011 | #endif | ||
| 11012 | |||
| 11013 | |||
| 11014 | #ifdef UNIQUE_FW_NAME | ||
| 11015 | uint32_t fw2400_addr02 = 0x0010e000 ; | ||
| 11016 | #else | ||
| 11017 | uint32_t risc_code_addr02 = 0x0010e000 ; | ||
| 11018 | #endif | ||
| 11019 | |||
| 11020 | #ifdef UNIQUE_FW_NAME | ||
| 11021 | uint32_t fw2400_code02[] = { | ||
| 11022 | #else | ||
| 11023 | uint32_t risc_code02[] = { | ||
| 11024 | #endif | ||
| 11025 | 0x00000000, 0x00000000, 0x0010e000, 0x000014ff, | ||
| 11026 | 0x00000000, 0x00000000, 0x00020000, 0x000008c0, | ||
| 11027 | 0x836c0580, 0x00000003, 0x02020000, 0x001002e3, | ||
| 11028 | 0x42000000, 0x0010b4bb, 0x50000000, 0x800001c0, | ||
| 11029 | 0x04020956, 0x0401f923, 0x0401fbe3, 0x0401fb5c, | ||
| 11030 | 0x0201f800, 0x00020718, 0x0201f800, 0x0002057b, | ||
| 11031 | 0x0401f7f0, 0x59b800ea, 0x82000d00, 0xf0000038, | ||
| 11032 | 0x02020000, 0x00100a7a, 0x8c000510, 0x02000000, | ||
| 11033 | 0x00100a79, 0x59ba60e0, 0x81300182, 0x0402104e, | ||
| 11034 | 0x04002030, 0x8532653e, 0x59300406, 0x82000580, | ||
| 11035 | 0x00000003, 0x04020028, 0x59300203, 0x82000580, | ||
| 11036 | 0x00000004, 0x04020024, 0x59325808, 0x59300402, | ||
| 11037 | 0x4a025a04, 0x00000103, 0x900001c0, 0x48025806, | ||
| 11038 | 0x497a5807, 0x497a5c09, 0x5930001f, 0x80000540, | ||
| 11039 | 0x02020800, 0x00100d56, 0x59300004, 0x8c00053e, | ||
| 11040 | 0x04020010, 0x0401fa88, 0x59326809, 0x0201f800, | ||
| 11041 | 0x0002077d, 0x5934000f, 0x5934140b, 0x80081040, | ||
| 11042 | 0x04001002, 0x480a6c0b, 0x80000540, 0x04020a10, | ||
| 11043 | 0x59b800ea, 0x8c000510, 0x040207d7, 0x1c01f000, | ||
| 11044 | 0x0201f800, 0x00106f60, 0x040007ef, 0x0201f000, | ||
| 11045 | 0x00100a65, 0x42027000, 0x00000055, 0x0401f027, | ||
| 11046 | 0x83326500, 0x3fffffff, 0x59300406, 0x82000580, | ||
| 11047 | 0x00000003, 0x04020015, 0x59325808, 0x59326809, | ||
| 11048 | 0x59301402, 0x4a025a04, 0x00000103, 0x900811c0, | ||
| 11049 | 0x480a5806, 0x497a5c09, 0x497a5807, 0x0401fa62, | ||
| 11050 | 0x0201f800, 0x0002077d, 0x5934000f, 0x5934140b, | ||
| 11051 | 0x80081040, 0x04001002, 0x480a6c0b, 0x80000540, | ||
| 11052 | 0x040209eb, 0x0401f7db, 0x42027000, 0x00000054, | ||
| 11053 | 0x0401f00a, 0x83300500, 0x60000000, 0x02000000, | ||
| 11054 | 0x00100a68, 0x81326580, 0x8000013a, 0x82000400, | ||
| 11055 | 0x00100a80, 0x50027000, 0x59300c06, 0x82040580, | ||
| 11056 | 0x00000002, 0x02000000, 0x00100a65, 0x59300004, | ||
| 11057 | 0x8c00053e, 0x04020004, 0x0201f800, 0x000207a1, | ||
| 11058 | 0x0401f7c4, 0x0201f800, 0x00106f60, 0x040007fb, | ||
| 11059 | 0x0201f000, 0x00100a65, 0x59325808, 0x412c7000, | ||
| 11060 | 0x58380a04, 0x82040500, 0x0000000f, 0x82000c00, | ||
| 11061 | 0x001010bd, 0x50044000, 0x0c01f001, 0x00100dd9, | ||
| 11062 | 0x00100dd9, 0x0002009f, 0x00100dd9, 0x00100dd9, | ||
| 11063 | 0x00100dd9, 0x00100dd9, 0x00100dd9, 0x000200af, | ||
| 11064 | 0x00100ded, 0x00100dd9, 0x00100dd9, 0x00100ddb, | ||
| 11065 | 0x00100dd9, 0x00100dd9, 0x00100dd9, 0x5838040a, | ||
| 11066 | 0x8c000500, 0x02000800, 0x001005d8, 0x50200000, | ||
| 11067 | 0x80387c00, 0x583c1002, 0x583c2800, 0x583c2001, | ||
| 11068 | 0x58380a07, 0x5838300f, 0x59303807, 0x58384c08, | ||
| 11069 | 0x5838000d, 0x48026012, 0x0401f010, 0x5838020a, | ||
| 11070 | 0x8c000502, 0x02000000, 0x00100dd9, 0x50200000, | ||
| 11071 | 0x80387c00, 0x583c2800, 0x583c2001, 0x583c1002, | ||
| 11072 | 0x592c0a07, 0x592c4c08, 0x592c300f, 0x59303807, | ||
| 11073 | 0x497a6012, 0x497a6013, 0x4816600e, 0x4812600f, | ||
| 11074 | 0x480a6010, 0x481a6011, 0x80040840, 0x4806600d, | ||
| 11075 | 0x02020000, 0x00100e1a, 0x841c3d40, 0x481e6007, | ||
| 11076 | 0x1c01f000, 0x41787800, 0x59325808, 0x592c0c0a, | ||
| 11077 | 0x8c040d02, 0x02000000, 0x00100f8c, 0x592c000d, | ||
| 11078 | 0x592c100f, 0x592c0a04, 0x480a6011, 0x48026012, | ||
| 11079 | 0x48026013, 0x412c3000, 0x82040500, 0x0000000f, | ||
| 11080 | 0x82000400, 0x001010bd, 0x50003800, 0x501c0000, | ||
| 11081 | 0x401c1000, 0x592c1a07, 0x4802600a, 0x481a600b, | ||
| 11082 | 0x480a600c, 0x480e600d, 0x843c7d4a, 0x403c1000, | ||
| 11083 | 0x1c01f000, 0x41787800, 0x497a6012, 0x592c0a04, | ||
| 11084 | 0x412c3000, 0x592c1a07, 0x82040500, 0x0000000f, | ||
| 11085 | 0x82000400, 0x001010bd, 0x50004000, 0x50200000, | ||
| 11086 | 0x40201000, 0x4802600a, 0x481a600b, 0x480a600c, | ||
| 11087 | 0x480e600d, 0x80000580, 0x483e6004, 0x1c01f000, | ||
| 11088 | 0x4c000000, 0x4df00000, 0x0201f800, 0x00020729, | ||
| 11089 | 0x0401f005, 0x4c000000, 0x4df00000, 0x0401ff16, | ||
| 11090 | 0x0401f001, 0x5c03e000, 0x5c000000, 0x1801f000, | ||
| 11091 | 0x4203e000, 0xb0100000, 0x41fc0000, 0x82000500, | ||
| 11092 | 0x00000011, 0x0c01f001, 0x0002012a, 0x00020697, | ||
| 11093 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11094 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11095 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11096 | 0x0002012a, 0x0002012a, 0x0010115a, 0x0002012c, | ||
| 11097 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11098 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11099 | 0x0002012a, 0x0002012a, 0x0002012a, 0x0002012a, | ||
| 11100 | 0x0002012a, 0x0002012a, 0x0201f800, 0x001005d8, | ||
| 11101 | 0x0201f800, 0x00020697, 0x0201f000, 0x0010115a, | ||
| 11102 | 0x42000000, 0x0010b4c1, 0x50000000, 0x8c000504, | ||
| 11103 | 0x04000014, 0x42000000, 0x0010b4c1, 0x50000000, | ||
| 11104 | 0x8c000502, 0x04020002, 0x1c01f000, 0x4df00000, | ||
| 11105 | 0x4203e000, 0x50000000, 0x42034000, 0x0010b4a4, | ||
| 11106 | 0x59a0001d, 0x59a1d81e, 0x84000502, 0x4803401d, | ||
| 11107 | 0x58ec0009, 0x0801f800, 0x5c03e000, 0x1c01f000, | ||
| 11108 | 0x04027002, 0x04026002, 0x1c01f000, 0x4df00000, | ||
| 11109 | 0x4203e000, 0x50000000, 0x0201f800, 0x001007e4, | ||
| 11110 | 0x04000010, 0x412dd800, 0x48efc857, 0x0201f800, | ||
| 11111 | 0x00103b28, 0x42034000, 0x0010b4a4, 0x49a1d80b, | ||
| 11112 | 0x48ef401e, 0x59a0001d, 0x84000544, 0x4803401d, | ||
| 11113 | 0x0201f800, 0x00102214, 0x0201f800, 0x00102233, | ||
| 11114 | 0x5c03e000, 0x1c01f000, 0x4da00000, 0x4df00000, | ||
| 11115 | 0x4203e000, 0x50000000, 0x04006051, 0x40001000, | ||
| 11116 | 0x42034000, 0x0010b4a4, 0x59a01818, 0x800c19c0, | ||
| 11117 | 0x04020008, 0x59a0381b, 0x801c39c0, 0x02000800, | ||
| 11118 | 0x001005d8, 0x59a0041c, 0x801c3c00, 0x0401f00c, | ||
| 11119 | 0x59a00419, 0x82000400, 0x00000002, 0x48034419, | ||
| 11120 | 0x82000c80, 0x00000013, 0x04001003, 0x497b4419, | ||
| 11121 | 0x41780000, 0x59a03816, 0x801c3c00, 0x80081040, | ||
| 11122 | 0x480b4017, 0x581c0200, 0x4803c021, 0x581c0401, | ||
| 11123 | 0x4803c022, 0x581c0201, 0x4803c023, 0x581c0400, | ||
| 11124 | 0x4803c020, 0x900001c0, 0x82000540, 0x00000012, | ||
| 11125 | 0x4803c011, 0x59e00017, 0x8c000508, 0x04000003, | ||
| 11126 | 0x4a03c017, 0x00000002, 0x4203e000, 0x30000001, | ||
| 11127 | 0x800c19c0, 0x04000007, 0x800c1840, 0x480f4018, | ||
| 11128 | 0x0402001f, 0x497b4419, 0x497b4219, 0x0401f01c, | ||
| 11129 | 0x800811c0, 0x0402000b, 0x4d2c0000, 0x59a2581b, | ||
| 11130 | 0x0201f800, 0x001007f4, 0x5c025800, 0x497b401b, | ||
| 11131 | 0x497b401a, 0x497b441c, 0x497b421c, 0x0401f010, | ||
| 11132 | 0x59a0041c, 0x82000400, 0x00000002, 0x82000c80, | ||
| 11133 | 0x00000012, 0x4803441c, 0x04001009, 0x4d2c0000, | ||
| 11134 | 0x59a2581b, 0x592c3813, 0x481f401b, 0x497b441c, | ||
| 11135 | 0x0201f800, 0x001007f4, 0x5c025800, 0x5c03e000, | ||
| 11136 | 0x5c034000, 0x1c01f000, 0x59a80005, 0x82000500, | ||
| 11137 | 0x00000003, 0x02020000, 0x00104315, 0x59340400, | ||
| 11138 | 0x82000580, 0x00000606, 0x02020000, 0x001042e6, | ||
| 11139 | 0x5934000d, 0x80027d40, 0x02020000, 0x00104321, | ||
| 11140 | 0x0401f803, 0x80000580, 0x1c01f000, 0x5934000f, | ||
| 11141 | 0x59341203, 0x80080540, 0x0402006f, 0x5934020b, | ||
| 11142 | 0x5934140b, 0x80080480, 0x0402106b, 0x0201f800, | ||
| 11143 | 0x0002075a, 0x04000064, 0x80081000, 0x592c0406, | ||
| 11144 | 0x480a6c0b, 0x49366009, 0x492e6008, 0x4a026406, | ||
| 11145 | 0x00000003, 0x4a026403, 0x00000040, 0x800000c2, | ||
| 11146 | 0x800018c4, 0x800c0400, 0x48026206, 0x592c0808, | ||
| 11147 | 0x592c1809, 0x592c020a, 0x48066017, 0x480e6018, | ||
| 11148 | 0x8c000502, 0x04000030, 0x4a026203, 0x00000004, | ||
| 11149 | 0x592c0207, 0x80000040, 0x04020020, 0x59a80005, | ||
| 11150 | 0x8c000514, 0x42000000, 0x00000055, 0x04020003, | ||
| 11151 | 0x42000000, 0x00000033, 0x80000040, 0x040207ff, | ||
| 11152 | 0x592c0204, 0x82000500, 0x000000ff, 0x82000580, | ||
| 11153 | 0x00000018, 0x04020011, 0x592c180f, 0x59300007, | ||
| 11154 | 0x82000540, 0x00000091, 0x480e6011, 0x48026007, | ||
| 11155 | 0x42000000, 0x80000004, 0x48026004, 0x59bc00ea, | ||
| 11156 | 0x8c000516, 0x040207fe, 0x83300400, 0x20000000, | ||
| 11157 | 0x480378e1, 0x1c01f000, 0x0401fe78, 0x59300007, | ||
| 11158 | 0x8400054e, 0x48026007, 0x592c1a04, 0x820c1d00, | ||
| 11159 | 0x000000ff, 0x820c0580, 0x00000048, 0x04000017, | ||
| 11160 | 0x0401f7ec, 0x8c000500, 0x04020ecb, 0x4a026203, | ||
| 11161 | 0x00000002, 0x59a80805, 0x82040500, 0x00000600, | ||
| 11162 | 0x04020012, 0x42000000, 0x00000030, 0x80000040, | ||
| 11163 | 0x040207ff, 0x592c1a04, 0x820c1d00, 0x000000ff, | ||
| 11164 | 0x820c0580, 0x00000018, 0x040007da, 0x820c0580, | ||
| 11165 | 0x00000048, 0x040207d7, 0x42000800, 0x80000804, | ||
| 11166 | 0x0201f000, 0x00106721, 0x8c040d12, 0x42000000, | ||
| 11167 | 0x00000010, 0x040207ee, 0x42000000, 0x00000051, | ||
| 11168 | 0x0401f7eb, 0x800811c0, 0x04020003, 0x4a026a03, | ||
| 11169 | 0x00000001, 0x59340010, 0x492e6810, 0x80000d40, | ||
| 11170 | 0x04020003, 0x492e680f, 0x1c01f000, 0x492c0800, | ||
| 11171 | 0x1c01f000, 0x83440c80, 0x00000800, 0x04021009, | ||
| 11172 | 0x83440400, 0x0010ac00, 0x50000000, 0x80000540, | ||
| 11173 | 0x04000004, 0x40026800, 0x80000580, 0x1c01f000, | ||
| 11174 | 0x82000540, 0x00000001, 0x1c01f000, 0x59340203, | ||
| 11175 | 0x80000540, 0x0402004b, 0x4d300000, 0x4d2c0000, | ||
| 11176 | 0x5934000f, 0x80025d40, 0x04000044, 0x0201f800, | ||
| 11177 | 0x0002075a, 0x0400003f, 0x592c0000, 0x4802680f, | ||
| 11178 | 0x80000540, 0x04020002, 0x48026810, 0x592c2a04, | ||
| 11179 | 0x80081000, 0x480a6c0b, 0x49366009, 0x492e6008, | ||
| 11180 | 0x82142d00, 0x000000ff, 0x82140580, 0x00000012, | ||
| 11181 | 0x04000035, 0x4a026406, 0x00000003, 0x4a026403, | ||
| 11182 | 0x00000040, 0x592c0406, 0x800000c2, 0x800018c4, | ||
| 11183 | 0x800c0400, 0x48026206, 0x592c0808, 0x592c1809, | ||
| 11184 | 0x592c020a, 0x48066017, 0x480e6018, 0x8c000502, | ||
| 11185 | 0x02000000, 0x0010474d, 0x4a026203, 0x00000004, | ||
| 11186 | 0x592c0207, 0x80000040, 0x02020000, 0x00104740, | ||
| 11187 | 0x82140580, 0x00000018, 0x02020000, 0x00104740, | ||
| 11188 | 0x592c180f, 0x59300007, 0x82000540, 0x00000091, | ||
| 11189 | 0x480e6011, 0x48026007, 0x42000000, 0x80000004, | ||
| 11190 | 0x48026004, 0x59bc00ea, 0x8c000516, 0x040207fe, | ||
| 11191 | 0x83300400, 0x20000000, 0x480378e1, 0x5934020b, | ||
| 11192 | 0x5934140b, 0x80080480, 0x040017be, 0x0401f003, | ||
| 11193 | 0x4a026a03, 0x00000001, 0x5c025800, 0x5c026000, | ||
| 11194 | 0x1c01f000, 0x497a5800, 0x49325809, 0x4a026406, | ||
| 11195 | 0x00000006, 0x4a026203, 0x00000007, 0x0401f802, | ||
| 11196 | 0x0401f7ef, 0x59a80021, 0x800001c0, 0x02020000, | ||
| 11197 | 0x0010476f, 0x59a80005, 0x8c000504, 0x02020000, | ||
| 11198 | 0x0010476b, 0x59340200, 0x8c000518, 0x02020000, | ||
| 11199 | 0x00104767, 0x592c0a0c, 0x48066202, 0x4a025a06, | ||
| 11200 | 0x00000000, 0x8c000508, 0x02020000, 0x00104763, | ||
| 11201 | 0x4d3c0000, 0x417a7800, 0x0401fbdf, 0x5c027800, | ||
| 11202 | 0x1c01f000, 0x592c0404, 0x8c00051e, 0x02020000, | ||
| 11203 | 0x00104ce4, 0x59980022, 0x80000540, 0x04000017, | ||
| 11204 | 0x592c0a06, 0x592c0409, 0x80040540, 0x04020013, | ||
| 11205 | 0x0201f000, 0x00104cfa, 0x592c0404, 0x8c00051e, | ||
| 11206 | 0x02020000, 0x00104cf3, 0x59980022, 0x80000540, | ||
| 11207 | 0x0400000a, 0x82040580, 0x00000001, 0x04020007, | ||
| 11208 | 0x0201f000, 0x00104cfa, 0x592c0404, 0x8c00051e, | ||
| 11209 | 0x02020000, 0x00104dca, 0x59980026, 0x497a5800, | ||
| 11210 | 0x80000540, 0x02020000, 0x00104e1d, 0x59d80105, | ||
| 11211 | 0x82000d00, 0x00018780, 0x02020000, 0x00104edb, | ||
| 11212 | 0x80000106, 0x82000500, 0x00000003, 0x0c01f001, | ||
| 11213 | 0x000202f0, 0x00104e1d, 0x000202f6, 0x00020341, | ||
| 11214 | 0x592c0001, 0x492fb107, 0x80000d40, 0x02020000, | ||
| 11215 | 0x00104ddb, 0x1c01f000, 0x592c0001, 0x492fb107, | ||
| 11216 | 0x80000d40, 0x02020000, 0x00104de8, 0x59da5908, | ||
| 11217 | 0x835c0480, 0x00000020, 0x0400102c, 0x0402b034, | ||
| 11218 | 0x492fb007, 0x0400e7fa, 0x59d80105, 0x82000500, | ||
| 11219 | 0x00018780, 0x02020000, 0x00104edb, 0x0400601f, | ||
| 11220 | 0x59d8010a, 0x59d8090a, 0x80040580, 0x040207fd, | ||
| 11221 | 0x800408e0, 0x599c1017, 0x8c081508, 0x04020028, | ||
| 11222 | 0x82040d40, 0x00000013, 0x5998002b, 0x4807c011, | ||
| 11223 | 0x84000500, 0x4803302b, 0x59e00017, 0x8c000508, | ||
| 11224 | 0x04020004, 0x4203e000, 0x30000001, 0x1c01f000, | ||
| 11225 | 0x4a03c017, 0x00000003, 0x82040500, 0x000000ff, | ||
| 11226 | 0x82000580, 0x0000001d, 0x040207f7, 0x4a03c017, | ||
| 11227 | 0x0000000d, 0x0401f7f4, 0x5998082b, 0x84040d40, | ||
| 11228 | 0x4807302b, 0x1c01f000, 0x496a5800, 0x412ed000, | ||
| 11229 | 0x815eb800, 0x59c80000, 0x82000540, 0x00001200, | ||
| 11230 | 0x48039000, 0x0400e7ca, 0x0401f7d0, 0x0402f7f7, | ||
| 11231 | 0x492fa807, 0x0400e7c6, 0x0401f7cc, 0x59e0000f, | ||
| 11232 | 0x59e0100f, 0x80081580, 0x040207fd, 0x81281580, | ||
| 11233 | 0x040007d4, 0x40025000, 0x82040d40, 0x0000001d, | ||
| 11234 | 0x0401f7d2, 0x59d80908, 0x45680800, 0x4006d000, | ||
| 11235 | 0x815eb800, 0x0400e7fc, 0x59c80000, 0x82000540, | ||
| 11236 | 0x00001200, 0x48039000, 0x02006000, 0x00104df8, | ||
| 11237 | 0x59d8010a, 0x59d8090a, 0x80040d80, 0x040207fd, | ||
| 11238 | 0x900001c0, 0x82000540, 0x00000013, 0x4803c011, | ||
| 11239 | 0x5998002b, 0x84000500, 0x4803302b, 0x59e00017, | ||
| 11240 | 0x8c000508, 0x04000003, 0x4a03c017, 0x00000003, | ||
| 11241 | 0x4203e000, 0x30000001, 0x59d80105, 0x82000500, | ||
| 11242 | 0x00018780, 0x02020000, 0x00104edb, 0x0202d000, | ||
| 11243 | 0x00104dfd, 0x592c0001, 0x492fb107, 0x80000d40, | ||
| 11244 | 0x02020000, 0x00104e10, 0x1c01f000, 0x59980020, | ||
| 11245 | 0x0c01f001, 0x00020370, 0x00020371, 0x00104e88, | ||
| 11246 | 0x1c01f000, 0x4df00000, 0x4203e000, 0x50000000, | ||
| 11247 | 0x0402681e, 0x04006004, 0x599c0017, 0x8c000508, | ||
| 11248 | 0x04020865, 0x59980029, 0x80025d40, 0x0400000a, | ||
| 11249 | 0x0402d00b, 0x59980026, 0x80000040, 0x48033026, | ||
| 11250 | 0x592c0000, 0x492fb107, 0x48033029, 0x04020002, | ||
| 11251 | 0x48033028, 0x5c03e000, 0x1c01f000, 0x59d80105, | ||
| 11252 | 0x82000500, 0x00018780, 0x02020000, 0x00104edb, | ||
| 11253 | 0x42000000, 0x0010b855, 0x0201f800, 0x0010aa47, | ||
| 11254 | 0x5c03e000, 0x1c01f000, 0x5998002b, 0x8c000500, | ||
| 11255 | 0x0402003b, 0x0400e007, 0x59d80105, 0x82000500, | ||
| 11256 | 0x00018780, 0x02020000, 0x00104edb, 0x1c01f000, | ||
| 11257 | 0x59da5908, 0x835c0c80, 0x00000020, 0x04001003, | ||
| 11258 | 0x0400b029, 0x0400f02b, 0x496a5800, 0x412ed000, | ||
| 11259 | 0x815eb800, 0x59c80000, 0x82000540, 0x00001200, | ||
| 11260 | 0x48039000, 0x0400e7f3, 0x59d8010a, 0x59d8090a, | ||
| 11261 | 0x80040580, 0x040207fd, 0x800408e0, 0x599c1017, | ||
| 11262 | 0x8c081508, 0x04020022, 0x82040d40, 0x00000013, | ||
| 11263 | 0x4807c011, 0x59e00017, 0x8c000508, 0x0400000a, | ||
| 11264 | 0x4a03c017, 0x00000003, 0x82040500, 0x000000ff, | ||
| 11265 | 0x82000580, 0x0000001d, 0x04020003, 0x4a03c017, | ||
| 11266 | 0x0000000d, 0x4203e000, 0x30000001, 0x59d80105, | ||
| 11267 | 0x82000500, 0x00018780, 0x02020000, 0x00104edb, | ||
| 11268 | 0x1c01f000, 0x492fb007, 0x0400e7d2, 0x0401f7df, | ||
| 11269 | 0x492fa807, 0x0400e7cf, 0x0401f7dc, 0x84000500, | ||
| 11270 | 0x4803302b, 0x0400e7cb, 0x0401f7d8, 0x59e0000f, | ||
| 11271 | 0x59e0100f, 0x80081580, 0x040207fd, 0x81281580, | ||
| 11272 | 0x040007da, 0x40025000, 0x82040d40, 0x0000001d, | ||
| 11273 | 0x0401f7d8, 0x59e0000f, 0x59e0100f, 0x80080d80, | ||
| 11274 | 0x040207fd, 0x81280580, 0x04020002, 0x1c01f000, | ||
| 11275 | 0x400a5000, 0x900811c0, 0x82081540, 0x0000001c, | ||
| 11276 | 0x480bc011, 0x59e00017, 0x8c000508, 0x04000003, | ||
| 11277 | 0x4a03c017, 0x0000000c, 0x4203e000, 0x30000001, | ||
| 11278 | 0x1c01f000, 0x41700000, 0x0c01f001, 0x00105420, | ||
| 11279 | 0x000203fc, 0x00105420, 0x00105421, 0x0010541e, | ||
| 11280 | 0x0010541e, 0x0010541e, 0x0010541e, 0x001058b0, | ||
| 11281 | 0x04010037, 0x59980006, 0x80000540, 0x0402003c, | ||
| 11282 | 0x0402c01c, 0x4202f800, 0x00000010, 0x4df00000, | ||
| 11283 | 0x4203e000, 0x50000000, 0x49db3005, 0x59da5808, | ||
| 11284 | 0x592c0204, 0x497a5800, 0x497a5801, 0x82000500, | ||
| 11285 | 0x000000ff, 0x82000c80, 0x00000079, 0x04021036, | ||
| 11286 | 0x0c01f839, 0x5c03e000, 0x817ef840, 0x04000009, | ||
| 11287 | 0x836c0580, 0x00000003, 0x04020006, 0x83700580, | ||
| 11288 | 0x00000001, 0x04020010, 0x0401001b, 0x0400c7e8, | ||
| 11289 | 0x0400f94a, 0x0400b134, 0x59d40005, 0x82000500, | ||
| 11290 | 0x43018780, 0x02020000, 0x0010583f, 0x59d80005, | ||
| 11291 | 0x82000500, 0x43018780, 0x02020000, 0x00105846, | ||
| 11292 | 0x1c01f000, 0x83700580, 0x00000003, 0x02000800, | ||
| 11293 | 0x00105421, 0x83700580, 0x00000001, 0x040207ed, | ||
| 11294 | 0x04010005, 0x0400c7d2, 0x0401f7ea, 0x4202f800, | ||
| 11295 | 0x00000010, 0x4df00000, 0x4203e000, 0x50000000, | ||
| 11296 | 0x49d73005, 0x59d65808, 0x0401f7ce, 0x4df00000, | ||
| 11297 | 0x4203e000, 0x50000000, 0x40025800, 0x592c0204, | ||
| 11298 | 0x497b3005, 0x497b3006, 0x4202f800, 0x00000010, | ||
| 11299 | 0x0401f7c7, 0x0201f800, 0x00105491, 0x5c03e000, | ||
| 11300 | 0x0401f7d4, 0x00105491, 0x00105491, 0x00105491, | ||
| 11301 | 0x00105491, 0x00105527, 0x00105491, 0x00105491, | ||
| 11302 | 0x00105491, 0x00105491, 0x00105491, 0x001054a1, | ||
| 11303 | 0x00105491, 0x00105491, 0x00105491, 0x00105551, | ||
| 11304 | 0x00105491, 0x00105491, 0x00105491, 0x000204ef, | ||
| 11305 | 0x00105491, 0x001056b4, 0x00105491, 0x00105491, | ||
| 11306 | 0x00105491, 0x000204c2, 0x00105491, 0x00105491, | ||
| 11307 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11308 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11309 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11310 | 0x00105491, 0x00105491, 0x001054c9, 0x00105491, | ||
| 11311 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11312 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11313 | 0x001057d3, 0x00105491, 0x00105491, 0x00105491, | ||
| 11314 | 0x00105491, 0x00105491, 0x0010581e, 0x00105491, | ||
| 11315 | 0x001054bb, 0x00105491, 0x00105797, 0x00105491, | ||
| 11316 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11317 | 0x00105491, 0x00105491, 0x00105765, 0x00105491, | ||
| 11318 | 0x00105765, 0x00105872, 0x00105491, 0x00105491, | ||
| 11319 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11320 | 0x00105491, 0x00105491, 0x00105491, 0x00105725, | ||
| 11321 | 0x00105855, 0x00105491, 0x00105865, 0x00105491, | ||
| 11322 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11323 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11324 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11325 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11326 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11327 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11328 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11329 | 0x00105491, 0x00105491, 0x00105491, 0x00105491, | ||
| 11330 | 0x00105491, 0x00105491, 0x592c0204, 0x80000110, | ||
| 11331 | 0x02000000, 0x00105499, 0x80000040, 0x04000009, | ||
| 11332 | 0x48033002, 0x492f3003, 0x492f3004, 0x4a033008, | ||
| 11333 | 0x000204d0, 0x4202e000, 0x00000003, 0x1c01f000, | ||
| 11334 | 0x592c0406, 0x82000c80, 0x0000199a, 0x02021000, | ||
| 11335 | 0x001054a9, 0x59a80021, 0x80000540, 0x02020000, | ||
| 11336 | 0x001054d7, 0x592e8a06, 0x83440c80, 0x000007f0, | ||
| 11337 | 0x02021000, 0x001054a9, 0x83440400, 0x0010ac00, | ||
| 11338 | 0x50000000, 0x80026d40, 0x02000000, 0x001054db, | ||
| 11339 | 0x59340002, 0x592c0810, 0x80040580, 0x82000500, | ||
| 11340 | 0x00ffffff, 0x02020000, 0x001054a9, 0x0401fccf, | ||
| 11341 | 0x02020000, 0x001054de, 0x1c01f000, 0x592c0204, | ||
| 11342 | 0x80000110, 0x02000000, 0x00105499, 0x80000040, | ||
| 11343 | 0x0402000b, 0x592c040a, 0x8c000504, 0x04000010, | ||
| 11344 | 0x592c0207, 0x82000c80, 0x00001001, 0x02021000, | ||
| 11345 | 0x001054a9, 0x0201f000, 0x0010588a, 0x48033002, | ||
| 11346 | 0x492f3003, 0x492f3004, 0x4a033008, 0x00020507, | ||
| 11347 | 0x4202e000, 0x00000003, 0x1c01f000, 0x592c0406, | ||
| 11348 | 0x82000c80, 0x0000199a, 0x02021000, 0x001054a9, | ||
| 11349 | 0x592e8a06, 0x417a7800, 0x0401fd37, 0x02020000, | ||
| 11350 | 0x00105658, 0x59340002, 0x592c0808, 0x80040580, | ||
| 11351 | 0x82000500, 0x00ffffff, 0x02020000, 0x001054a9, | ||
| 11352 | 0x497a5808, 0x592e6009, 0x83300580, 0xffffffff, | ||
| 11353 | 0x02000000, 0x00105618, 0x83300480, 0x0010d1c0, | ||
| 11354 | 0x02001000, 0x00105675, 0x59a8000b, 0x81300480, | ||
| 11355 | 0x02021000, 0x00105675, 0x592c240a, 0x49366009, | ||
| 11356 | 0x8c10251c, 0x02020000, 0x00105606, 0x59a80068, | ||
| 11357 | 0x8c000510, 0x02020000, 0x0010568e, 0x59a80821, | ||
| 11358 | 0x800409c0, 0x02020000, 0x001055ec, 0x59a80805, | ||
| 11359 | 0x8c040d04, 0x02020000, 0x0010567f, 0x59340200, | ||
| 11360 | 0x8c000518, 0x02020000, 0x00105670, 0x59300c06, | ||
| 11361 | 0x82040580, 0x00000006, 0x02020000, 0x00105610, | ||
| 11362 | 0x59300414, 0x8c000516, 0x02020000, 0x0010567a, | ||
| 11363 | 0x8c102508, 0x02020000, 0x0010a5b8, 0x59300808, | ||
| 11364 | 0x4a025a06, 0x00000000, 0x800409c0, 0x02020000, | ||
| 11365 | 0x001055e7, 0x592c0a0c, 0x48066202, 0x492e6008, | ||
| 11366 | 0x0401f14d, 0x4df00000, 0x4203e000, 0x50000000, | ||
| 11367 | 0x0402b00b, 0x835c0480, 0x00000020, 0x0400100d, | ||
| 11368 | 0x815eb840, 0x416a5800, 0x592ed000, 0x492fb007, | ||
| 11369 | 0x497a5800, 0x497a5801, 0x0400b7f7, 0x59d80005, | ||
| 11370 | 0x82000500, 0x43018780, 0x02020000, 0x00105846, | ||
| 11371 | 0x5c03e000, 0x1c01f000, 0x4df00000, 0x4203e000, | ||
| 11372 | 0x50000000, 0x0402f00b, 0x835c0480, 0x00000020, | ||
| 11373 | 0x0400100d, 0x815eb840, 0x416a5800, 0x592ed000, | ||
| 11374 | 0x492fa807, 0x497a5800, 0x497a5801, 0x0400f7f7, | ||
| 11375 | 0x59d40005, 0x82000500, 0x43018780, 0x02020000, | ||
| 11376 | 0x0010583f, 0x5c03e000, 0x1c01f000, 0x4df00000, | ||
| 11377 | 0x4203e000, 0x50000000, 0x59940024, 0x80000540, | ||
| 11378 | 0x04000112, 0x4c000000, 0x42000000, 0x00001000, | ||
| 11379 | 0x50000000, 0x82000480, 0x24320001, 0x04020015, | ||
| 11380 | 0x42000800, 0x00000064, 0x80040840, 0x04000007, | ||
| 11381 | 0x4a030000, 0x00000001, 0x40000000, 0x59800000, | ||
| 11382 | 0x8c000500, 0x040007f9, 0x04000008, 0x42000800, | ||
| 11383 | 0x00007a01, 0x50040000, 0x8c000510, 0x04000003, | ||
| 11384 | 0x84000510, 0x44000800, 0x4a030000, 0x00000000, | ||
| 11385 | 0x59e00002, 0x8c00051e, 0x0402001b, 0x42000000, | ||
| 11386 | 0x00001000, 0x50000000, 0x82000480, 0x24320002, | ||
| 11387 | 0x04020015, 0x42000800, 0x00000064, 0x80040840, | ||
| 11388 | 0x04000007, 0x4a030000, 0x00000001, 0x40000000, | ||
| 11389 | 0x59800000, 0x8c000500, 0x040007f9, 0x04000008, | ||
| 11390 | 0x42000800, 0x00007a17, 0x50040000, 0x8c00050e, | ||
| 11391 | 0x04020003, 0x8400054e, 0x44000800, 0x4a030000, | ||
| 11392 | 0x00000000, 0x5c000000, 0x5994781a, 0x48032825, | ||
| 11393 | 0x803c0480, 0x04001004, 0x04000003, 0x4803281a, | ||
| 11394 | 0x0401f022, 0x41787800, 0x803c7800, 0x82000400, | ||
| 11395 | 0x000003e8, 0x040027fd, 0x4803281a, 0x59a80024, | ||
| 11396 | 0x803c1400, 0x480b5024, 0x803c0040, 0x04000002, | ||
| 11397 | 0x483fc857, 0x59e40852, 0x59a80025, 0x80040580, | ||
| 11398 | 0x04000004, 0x480bc857, 0x59e40052, 0x48035025, | ||
| 11399 | 0x59940026, 0x803c0400, 0x48032826, 0x0201f800, | ||
| 11400 | 0x00106021, 0x59940000, 0x82000580, 0x00000000, | ||
| 11401 | 0x04020006, 0x59940026, 0x48032827, 0x497b2826, | ||
| 11402 | 0x4a032800, 0x00000001, 0x4c0c0000, 0x59940007, | ||
| 11403 | 0x80000d40, 0x0400001d, 0x59941006, 0x59940025, | ||
| 11404 | 0x80081c80, 0x04001004, 0x04000003, 0x480f2806, | ||
| 11405 | 0x0401f016, 0x80040840, 0x48072807, 0x82040580, | ||
| 11406 | 0x000003e8, 0x04020007, 0x4c040000, 0x4c0c0000, | ||
| 11407 | 0x59940008, 0x0801f800, 0x5c001800, 0x5c000800, | ||
| 11408 | 0x800409c0, 0x04020004, 0x59940008, 0x0801f800, | ||
| 11409 | 0x0401f006, 0x400c0000, 0x820c1c00, 0x0000000a, | ||
| 11410 | 0x040027ed, 0x480f2806, 0x5c001800, 0x4d180000, | ||
| 11411 | 0x59c40008, 0x8c000534, 0x04020025, 0x417a3000, | ||
| 11412 | 0x83947c00, 0x00000009, 0x583c0001, 0x80000d40, | ||
| 11413 | 0x04020008, 0x823c7c00, 0x00000003, 0x811a3000, | ||
| 11414 | 0x83180580, 0x00000005, 0x040207f8, 0x0401f018, | ||
| 11415 | 0x583c1000, 0x59940025, 0x80080480, 0x04001005, | ||
| 11416 | 0x04000004, 0x48007800, 0x80000040, 0x04021010, | ||
| 11417 | 0x80040840, 0x48047801, 0x04000008, 0x82000400, | ||
| 11418 | 0x0000000a, 0x48007800, 0x040027fa, 0x82040500, | ||
| 11419 | 0x0000007f, 0x0401f7e8, 0x583c0002, 0x4c3c0000, | ||
| 11420 | 0x0801f800, 0x5c007800, 0x0401f7e3, 0x5c023000, | ||
| 11421 | 0x59940019, 0x80001540, 0x04000008, 0x04002007, | ||
| 11422 | 0x59940025, 0x80080480, 0x497b2819, 0x04001003, | ||
| 11423 | 0x04000002, 0x48032819, 0x59940004, 0x80000d40, | ||
| 11424 | 0x0400002a, 0x4c040000, 0x5994001c, 0x80000d40, | ||
| 11425 | 0x04000013, 0x5994101b, 0x59940025, 0x80080480, | ||
| 11426 | 0x04001005, 0x04000004, 0x4803281b, 0x80000040, | ||
| 11427 | 0x0402100b, 0x80040840, 0x4807281c, 0x04020004, | ||
| 11428 | 0x5994001d, 0x0801f800, 0x0401f005, 0x82000400, | ||
| 11429 | 0x0000000a, 0x4803281b, 0x040027f7, 0x5c000800, | ||
| 11430 | 0x59941003, 0x59940025, 0x80080480, 0x04001005, | ||
| 11431 | 0x04000004, 0x48032803, 0x80000040, 0x0402100b, | ||
| 11432 | 0x80040840, 0x48072804, 0x04020004, 0x59940005, | ||
| 11433 | 0x0801f800, 0x0401f005, 0x82000400, 0x0000000a, | ||
| 11434 | 0x48032803, 0x040027f7, 0x5994001f, 0x80000d40, | ||
| 11435 | 0x04000013, 0x5994101e, 0x59940025, 0x80080480, | ||
| 11436 | 0x04001005, 0x04000004, 0x4803281e, 0x80000040, | ||
| 11437 | 0x0402100b, 0x80040840, 0x4807281f, 0x04020004, | ||
| 11438 | 0x59940020, 0x0801f800, 0x0401f005, 0x82000400, | ||
| 11439 | 0x00000001, 0x4803281e, 0x040027f7, 0x59940022, | ||
| 11440 | 0x80000d40, 0x04000013, 0x59941021, 0x59940025, | ||
| 11441 | 0x80080480, 0x04001005, 0x04000004, 0x48032821, | ||
| 11442 | 0x80000040, 0x0402100b, 0x80040840, 0x48072822, | ||
| 11443 | 0x04020004, 0x59940023, 0x0801f800, 0x0401f005, | ||
| 11444 | 0x82000400, 0x0000000a, 0x48032821, 0x040027f7, | ||
| 11445 | 0x59940824, 0x59940025, 0x80040480, 0x02001800, | ||
| 11446 | 0x001005d8, 0x48032824, 0x59940000, 0x0c01f001, | ||
| 11447 | 0x00105fb5, 0x00105fb7, 0x00105fdd, 0x59940024, | ||
| 11448 | 0x80000000, 0x48032824, 0x4203e000, 0x70000000, | ||
| 11449 | 0x1c01f000, 0x592c0406, 0x800000c2, 0x800008c4, | ||
| 11450 | 0x80040c00, 0x592c040a, 0x48066206, 0x82000d00, | ||
| 11451 | 0x00000003, 0x02000000, 0x0010615e, 0x8c000500, | ||
| 11452 | 0x04020029, 0x8c00051e, 0x02000000, 0x00106139, | ||
| 11453 | 0x82000d00, 0x000000c0, 0x02020000, 0x0010612f, | ||
| 11454 | 0x82000d00, 0x00002020, 0x02020000, 0x0010612c, | ||
| 11455 | 0x813e79c0, 0x02020000, 0x0010612c, 0x592c0c0c, | ||
| 11456 | 0x800409c0, 0x02020000, 0x0010612c, 0x59300a03, | ||
| 11457 | 0x82040d80, 0x00000007, 0x02020000, 0x0010612c, | ||
| 11458 | 0x4a026203, 0x00000003, 0x4a026403, 0x00000043, | ||
| 11459 | 0x0201f800, 0x000200c9, 0x82080d40, 0x80003465, | ||
| 11460 | 0x48066004, 0x497a6000, 0x59bc00ea, 0x8c000516, | ||
| 11461 | 0x040207fe, 0x83300400, 0xa0000000, 0x480378e1, | ||
| 11462 | 0x1c01f000, 0x8c000502, 0x02020000, 0x00106181, | ||
| 11463 | 0x8c00051e, 0x0400000e, 0x82000d00, 0x000000c0, | ||
| 11464 | 0x04000005, 0x82040d80, 0x000000c0, 0x02020000, | ||
| 11465 | 0x00106186, 0x82000d00, 0x00002020, 0x82040d80, | ||
| 11466 | 0x00002020, 0x02000000, 0x0010614d, 0x592c0207, | ||
| 11467 | 0x80000040, 0x02020000, 0x00106157, 0x592c180d, | ||
| 11468 | 0x800c19c0, 0x02020000, 0x00106157, 0x592c180f, | ||
| 11469 | 0x59300007, 0x82000540, 0x00000011, 0x480e6011, | ||
| 11470 | 0x48026007, 0x4a026203, 0x00000004, 0x4a026403, | ||
| 11471 | 0x00000042, 0x42000800, 0x80002001, 0x0401f02a, | ||
| 11472 | 0x5c000000, 0x4c000000, 0x4803c857, 0x4807c857, | ||
| 11473 | 0x0401f003, 0x42000800, 0x00000001, 0x59325808, | ||
| 11474 | 0x832c0500, 0x00ff0000, 0x0400000d, 0x592c0000, | ||
| 11475 | 0x48065a06, 0x48026008, 0x592c040a, 0x8c000510, | ||
| 11476 | 0x04020008, 0x0201f800, 0x000202ce, 0x417a7800, | ||
| 11477 | 0x59300008, 0x80025d40, 0x0402078f, 0x1c01f000, | ||
| 11478 | 0x456a5800, 0x412ed000, 0x815eb800, 0x59c80000, | ||
| 11479 | 0x82000540, 0x00001200, 0x48039000, 0x0401f7f4, | ||
| 11480 | 0x59840000, 0x80000540, 0x04020002, 0x1c01f000, | ||
| 11481 | 0x59840003, 0x80000540, 0x02020000, 0x001061fe, | ||
| 11482 | 0x1c01f000, 0x48066004, 0x59bc00ea, 0x8c000516, | ||
| 11483 | 0x040207fe, 0x83300400, 0x40000000, 0x480378e1, | ||
| 11484 | 0x1c01f000, 0x59bc00ea, 0x82001500, 0xb0000018, | ||
| 11485 | 0x02020000, 0x00106c81, 0x8c000510, 0x0400002a, | ||
| 11486 | 0x59bc10e0, 0x82080500, 0xfffff000, 0x0402000a, | ||
| 11487 | 0x80080108, 0x820a3500, 0x0000000f, 0x4803c857, | ||
| 11488 | 0x1201f000, 0x00106c87, 0x84000510, 0x48026004, | ||
| 11489 | 0x0401f016, 0x840a653e, 0x59300004, 0x8c000520, | ||
| 11490 | 0x040007fa, 0x82000500, 0xfffefeff, 0x48026004, | ||
| 11491 | 0x8c08153e, 0x04020005, 0x42027000, 0x00000013, | ||
| 11492 | 0x0401f859, 0x0401f009, 0x59300004, 0x8c000514, | ||
| 11493 | 0x04000003, 0x0401ffb0, 0x0401f02f, 0x42027000, | ||
| 11494 | 0x00000049, 0x0401f850, 0x59bc00ea, 0x82001500, | ||
| 11495 | 0xb0000018, 0x02020000, 0x00106c81, 0x8c000510, | ||
| 11496 | 0x040207d8, 0x1c01f000, 0x83640480, 0x00000010, | ||
| 11497 | 0x0400101a, 0x41626000, 0x41580000, 0x59300a03, | ||
| 11498 | 0x82040d80, 0x00000000, 0x04000008, 0x83326400, | ||
| 11499 | 0x00000024, 0x81300c80, 0x040017f9, 0x42026000, | ||
| 11500 | 0x0010d1c0, 0x0401f7f6, 0x8166c840, 0x83300c00, | ||
| 11501 | 0x00000024, 0x80040480, 0x04021005, 0x4006c000, | ||
| 11502 | 0x4a026203, 0x00000008, 0x1c01f000, 0x837ac540, | ||
| 11503 | 0x0010d1c0, 0x0401f7fb, 0x42000000, 0x0010b854, | ||
| 11504 | 0x0201f800, 0x0010aa47, 0x4967c857, 0x80026580, | ||
| 11505 | 0x1c01f000, 0x83300480, 0x0010d1c0, 0x02001800, | ||
| 11506 | 0x001005d8, 0x41580000, 0x81300480, 0x0402100c, | ||
| 11507 | 0x04011000, 0x457a6000, 0x4a026202, 0x0000ffff, | ||
| 11508 | 0x83300400, 0x00000003, 0x4803c840, 0x4a03c842, | ||
| 11509 | 0x00000021, 0x8166c800, 0x1c01f000, 0x41540000, | ||
| 11510 | 0x81300480, 0x02021800, 0x001005d8, 0x04011000, | ||
| 11511 | 0x457a6000, 0x4a026202, 0x0000ffff, 0x83300400, | ||
| 11512 | 0x00000003, 0x4803c840, 0x4a03c842, 0x00000021, | ||
| 11513 | 0x59a80066, 0x49335065, 0x80000000, 0x48035066, | ||
| 11514 | 0x1c01f000, 0x4d340000, 0x59326809, 0x59300406, | ||
| 11515 | 0x82000500, 0x0000001f, 0x0c01f803, 0x5c026800, | ||
| 11516 | 0x1c01f000, 0x00107966, 0x00107979, 0x00107993, | ||
| 11517 | 0x000207c9, 0x001098f1, 0x0010990c, 0x0002083e, | ||
| 11518 | 0x00107966, 0x00107979, 0x001064ee, 0x001079ac, | ||
| 11519 | 0x00107966, 0x00107966, 0x00107966, 0x00107966, | ||
| 11520 | 0x00107966, 0x001095a1, 0x0010a6c2, 0x00107966, | ||
| 11521 | 0x00107966, 0x00107966, 0x00107966, 0x00107966, | ||
| 11522 | 0x00107966, 0x00107966, 0x00107966, 0x00107966, | ||
| 11523 | 0x00107966, 0x00107966, 0x00107966, 0x00107966, | ||
| 11524 | 0x00107966, 0x59300203, 0x82000c80, 0x0000000e, | ||
| 11525 | 0x02021800, 0x001005d8, 0x0c01f001, 0x001079aa, | ||
| 11526 | 0x00108592, 0x000207dd, 0x00108720, 0x001087b9, | ||
| 11527 | 0x001079aa, 0x001079aa, 0x001079aa, 0x00108577, | ||
| 11528 | 0x001079aa, 0x001079aa, 0x001079aa, 0x001079aa, | ||
| 11529 | 0x00108985, 0x83380480, 0x00000058, 0x04021007, | ||
| 11530 | 0x83380480, 0x00000040, 0x04001004, 0x4d2c0000, | ||
| 11531 | 0x0c01f803, 0x5c025800, 0x1c01f000, 0x0010861b, | ||
| 11532 | 0x0010861b, 0x0010861b, 0x0010861b, 0x0010861b, | ||
| 11533 | 0x0010861d, 0x001086bd, 0x0010861b, 0x0010861b, | ||
| 11534 | 0x0010861b, 0x0010861b, 0x0010861b, 0x0010861b, | ||
| 11535 | 0x0010861b, 0x0010861b, 0x0010861b, 0x0010861b, | ||
| 11536 | 0x0010861b, 0x0010861b, 0x001086c1, 0x000207ff, | ||
| 11537 | 0x0010861b, 0x001086c0, 0x001086c2, 0x59325808, | ||
| 11538 | 0x59300811, 0x59301402, 0x59340200, 0x8c00050e, | ||
| 11539 | 0x0402001c, 0x0401f826, 0x04000005, 0x4a025a04, | ||
| 11540 | 0x00000103, 0x497a5c09, 0x0401f009, 0x4a025a04, | ||
| 11541 | 0x00000103, 0x4a025a06, 0x00000000, 0x497a5c09, | ||
| 11542 | 0x800409c0, 0x02020800, 0x00108785, 0x48065807, | ||
| 11543 | 0x480a5c06, 0x0201f800, 0x000202c1, 0x5934000f, | ||
| 11544 | 0x5934140b, 0x80081040, 0x04001002, 0x480a6c0b, | ||
| 11545 | 0x80000540, 0x02020800, 0x00020253, 0x0401f75e, | ||
| 11546 | 0x592c020a, 0x8c000502, 0x040007e9, 0x800409c0, | ||
| 11547 | 0x040007e7, 0x592c0208, 0x8c00050e, 0x040207e4, | ||
| 11548 | 0x4933c857, 0x0201f000, 0x0010920f, 0x592c020a, | ||
| 11549 | 0x8c000500, 0x04000010, 0x59300015, 0x592c380f, | ||
| 11550 | 0x801c3c80, 0x0400000c, 0x4a025a06, 0x00000015, | ||
| 11551 | 0x8c1c3d3e, 0x04000005, 0x4a025a06, 0x00000007, | ||
| 11552 | 0x801c3880, 0x801c3800, 0x481fc857, 0x821c0d40, | ||
| 11553 | 0x00000000, 0x1c01f000, 0x59300203, 0x82003480, | ||
| 11554 | 0x0000000e, 0x02021800, 0x001005d8, 0x0c01f001, | ||
| 11555 | 0x0010992b, 0x00020852, 0x00109fba, 0x00109fc8, | ||
| 11556 | 0x0002086e, 0x0010992b, 0x0010a0a8, 0x0002088d, | ||
| 11557 | 0x0010992b, 0x0010992b, 0x0010992b, 0x0010992b, | ||
| 11558 | 0x0010992b, 0x0010992b, 0x83380580, 0x00000013, | ||
| 11559 | 0x02020000, 0x00109f42, 0x59300403, 0x82027480, | ||
| 11560 | 0x00000044, 0x02021800, 0x001005d8, 0x82000480, | ||
| 11561 | 0x00000040, 0x02001800, 0x001005d8, 0x0c01f001, | ||
| 11562 | 0x00109f9e, 0x00020864, 0x00109fa0, 0x00109fb2, | ||
| 11563 | 0x59325808, 0x832c0500, 0x00ff0000, 0x04000005, | ||
| 11564 | 0x592c0c0a, 0x8c040d1a, 0x02020000, 0x00109fad, | ||
| 11565 | 0x0401fe91, 0x0401f710, 0x83380580, 0x00000048, | ||
| 11566 | 0x04000007, 0x83380580, 0x00000053, 0x02000000, | ||
| 11567 | 0x0010a04a, 0x0201f800, 0x001005d8, 0x5930001f, | ||
| 11568 | 0x59301011, 0x59300809, 0x58040a00, 0x8c040d0e, | ||
| 11569 | 0x02020000, 0x0010a026, 0x800811c0, 0x02020000, | ||
| 11570 | 0x0010a033, 0x5930001f, 0x80000540, 0x02020000, | ||
| 11571 | 0x0010a041, 0x59325808, 0x592c040a, 0x8c00051e, | ||
| 11572 | 0x02000000, 0x0010a01c, 0x42027000, 0x00000041, | ||
| 11573 | 0x0401f001, 0x83380480, 0x00000054, 0x02021800, | ||
| 11574 | 0x001005d8, 0x83380480, 0x00000040, 0x02001000, | ||
| 11575 | 0x0010a067, 0x0c01f001, 0x0010a073, 0x000208aa, | ||
| 11576 | 0x0010a07f, 0x0010a086, 0x0010a073, 0x0010a073, | ||
| 11577 | 0x0010a073, 0x0010a073, 0x0010a075, 0x0010a07a, | ||
| 11578 | 0x0010a07a, 0x0010a073, 0x0010a073, 0x0010a073, | ||
| 11579 | 0x0010a073, 0x0010a07a, 0x0010a073, 0x0010a07a, | ||
| 11580 | 0x0010a073, 0x0010a075, 0x4a026203, 0x00000001, | ||
| 11581 | 0x493a6403, 0x42000800, 0x80002042, 0x0401f672, | ||
| 11582 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 11583 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 11584 | 0x00000000, 0x00000000, 0x00000000, 0x00000000, | ||
| 11585 | 0x00000000, 0x00000000, 0x00000000, 0x14aa62b1, | ||
| 11586 | 0x00000000, 0x00000000, 0x00000000, 0x00000005, | ||
| 11587 | 0xfffffffb, 0x02800004, 0x00000000, 0x0000c000, | ||
| 11588 | 0x0000071d, 0x073fca5a, 0x0705a5a5, 0x01928009, | ||
| 11589 | 0x070ff0e1, 0x03800006, 0x04958010, 0x05308000, | ||
| 11590 | 0x05008000, 0x0600902f, 0x04a004dc, 0x0202f051, | ||
| 11591 | 0x042e4020, 0x018f021b, 0x033e5000, 0x03020000, | ||
| 11592 | 0x078d0018, 0x0493041a, 0x0092041c, 0x038a0305, | ||
| 11593 | 0x078b0303, 0x048e8010, 0x0678aae5, 0x06000001, | ||
| 11594 | 0x07818174, 0x040010e6, 0x0448e0e6, 0x04818010, | ||
| 11595 | 0x002fb008, 0x0448e0e6, 0x04818010, 0x060ff0e6, | ||
| 11596 | 0x00580401, 0x054880ff, 0x04818010, 0x022a5001, | ||
| 11597 | 0x030430d4, 0x06780043, 0x030e0000, 0x030450ff, | ||
| 11598 | 0x06780043, 0x03019000, 0x058185c6, 0x027c0045, | ||
| 11599 | 0x03020000, 0x06810037, 0x027c0045, 0x03040000, | ||
| 11600 | 0x068100c7, 0x027c0045, 0x03080000, 0x0781061e, | ||
| 11601 | 0x04908037, 0x029105c4, 0x010410a6, 0x0379ff41, | ||
| 11602 | 0x037fffff, 0x072d6000, 0x07601241, 0x050f80ff, | ||
| 11603 | 0x032fa009, 0x05600400, 0x050f80ff, 0x056c04ff, | ||
| 11604 | 0x068105dc, 0x073fa009, 0x06000001, 0x0279ff02, | ||
| 11605 | 0x0700ffff, 0x070ff0d1, 0x0179feff, 0x0700ffff, | ||
| 11606 | 0x045c0402, 0x048185dc, 0x060ff0d0, 0x0179feff, | ||
| 11607 | 0x0700ffff, 0x057dfeff, 0x0700ffff, 0x078105be, | ||
| 11608 | 0x05600e41, 0x050f80ff, 0x032fa069, 0x07480000, | ||
| 11609 | 0x068105d0, 0x06780043, 0x070000f0, 0x0781005f, | ||
| 11610 | 0x037c00ff, 0x06000010, 0x0781005f, 0x038005cc, | ||
| 11611 | 0x0379ff00, 0x070fffff, 0x06780043, 0x07f00000, | ||
| 11612 | 0x075a0000, 0x020ef001, 0x028605ce, 0x05484000, | ||
| 11613 | 0x02a1819e, 0x062d6001, 0x002fb001, 0x070ff069, | ||
| 11614 | 0x01868072, 0x060ff079, 0x055c0441, 0x06810010, | ||
| 11615 | 0x012fb000, 0x060560fb, 0x03800078, 0x060ff079, | ||
| 11616 | 0x02868198, 0x070ff069, 0x055c0441, 0x06810010, | ||
| 11617 | 0x060560fb, 0x0400d0d0, 0x062d6002, 0x0648300d, | ||
| 11618 | 0x06810086, 0x070ff0d1, 0x062d6001, 0x045c040b, | ||
| 11619 | 0x06810089, 0x05488000, 0x04818086, 0x072e500c, | ||
| 11620 | 0x00208001, 0x05a004e1, 0x02800010, 0x062d6001, | ||
| 11621 | 0x07f00000, 0x07f00000, 0x070ff0d1, 0x0179feff, | ||
| 11622 | 0x070000ff, 0x055c040c, 0x058180bb, 0x0007b001, | ||
| 11623 | 0x03079041, 0x0307a000, 0x06600a79, 0x050f80ff, | ||
| 11624 | 0x053fa80a, 0x06000010, 0x072d5003, 0x078d0096, | ||
| 11625 | 0x0307c003, 0x0007d004, 0x0107e005, 0x0307f006, | ||
| 11626 | 0x02080007, 0x00081008, 0x01082009, 0x0308300a, | ||
| 11627 | 0x0008400b, 0x0308500c, 0x068d00a1, 0x0678007a, | ||
| 11628 | 0x07f00000, 0x010880ff, 0x03386000, 0x03010000, | ||
| 11629 | 0x072e6300, 0x020ef07f, 0x02860010, 0x070ff07d, | ||
| 11630 | 0x0450047c, 0x050f80ff, 0x002fa819, 0x068d00ae, | ||
| 11631 | 0x02080001, 0x00081002, 0x0448807a, 0x068100b5, | ||
| 11632 | 0x0379ff03, 0x070000ff, 0x01082003, 0x068d00b6, | ||
| 11633 | 0x02386004, 0x03010000, 0x072e6c00, 0x02800010, | ||
| 11634 | 0x06780043, 0x070000f0, 0x078105d7, 0x050020ff, | ||
| 11635 | 0x027c0002, 0x06000010, 0x078100c3, 0x038005d7, | ||
| 11636 | 0x0700c0d1, 0x0379ff0c, 0x070000ff, 0x0380008e, | ||
| 11637 | 0x0204a051, 0x06780043, 0x070000f0, 0x037c00ff, | ||
| 11638 | 0x06000010, 0x0781816a, 0x072d6000, 0x019485c0, | ||
| 11639 | 0x050fb056, 0x044880e6, 0x04818010, 0x060ff0d0, | ||
| 11640 | 0x0179feff, 0x0700ffff, 0x057dfeff, 0x0700ffff, | ||
| 11641 | 0x078105be, 0x05a00212, 0x0349c0e4, 0x0781811d, | ||
| 11642 | 0x070ff093, 0x050010ff, 0x070ff093, 0x045c0401, | ||
| 11643 | 0x058180db, 0x02046092, 0x04002046, 0x04600202, | ||
| 11644 | 0x00540401, 0x048280e6, 0x04500425, 0x070060ff, | ||
| 11645 | 0x0730ffff, 0x0700000f, 0x0742000f, 0x05810190, | ||
| 11646 | 0x07a005a6, 0x0648a002, 0x048180e9, 0x00047089, | ||
| 11647 | 0x070ff047, 0x045c0443, 0x077800ff, 0x07f00000, | ||
| 11648 | 0x0781818e, 0x07780047, 0x0500e000, 0x048185ad, | ||
| 11649 | 0x070ff006, 0x01860117, 0x0179fe47, 0x0700000f, | ||
| 11650 | 0x010480ff, 0x056c7048, 0x06818102, 0x007a0d4a, | ||
| 11651 | 0x04003801, 0x0220f001, 0x0180010f, 0x07608e48, | ||
| 11652 | 0x034a60ff, 0x0700f0ff, 0x074b88ff, 0x037000ff, | ||
| 11653 | 0x07000600, 0x05500448, 0x074d00ff, 0x045a044a, | ||
| 11654 | 0x0304a0ff, 0x070ff00f, 0x01540406, 0x05820117, | ||
| 11655 | 0x04950120, 0x05a001bd, 0x02868123, 0x0134bfff, | ||
| 11656 | 0x070fffff, 0x0104102e, 0x050fd041, 0x00800126, | ||
| 11657 | 0x0595011d, 0x05a001bd, 0x0186011d, 0x0202f00e, | ||
| 11658 | 0x052e4030, 0x040fd02f, 0x070fc0ff, 0x05a00218, | ||
| 11659 | 0x02800010, 0x0400e02f, 0x042e4020, 0x0202f051, | ||
| 11660 | 0x0004100e, 0x0004b00e, 0x050fd041, 0x024a6c46, | ||
| 11661 | 0x04500423, 0x050070ff, 0x03620024, 0x050080ff, | ||
| 11662 | 0x04004046, 0x0700500f, 0x03206000, 0x05601048, | ||
| 11663 | 0x0700a0ff, 0x0700900a, 0x070ff005, 0x04500446, | ||
| 11664 | 0x00540425, 0x04820157, 0x05601622, 0x050f80ff, | ||
| 11665 | 0x063fa032, 0x06000002, 0x03203000, 0x01204000, | ||
| 11666 | 0x03205000, 0x0120b000, 0x0320c000, 0x07601441, | ||
| 11667 | 0x050f80ff, 0x043fa852, 0x06000001, 0x070ff056, | ||
| 11668 | 0x056c02ff, 0x050fb0ff, 0x070560ff, 0x03079041, | ||
| 11669 | 0x05600e41, 0x050f80ff, 0x073fa011, 0x0600003d, | ||
| 11670 | 0x06780043, 0x07f00000, 0x065a007a, 0x010880ff, | ||
| 11671 | 0x04a001b6, 0x058d0150, 0x0208a04a, 0x0108b04b, | ||
| 11672 | 0x02386001, 0x03010000, 0x072e6300, 0x028000a8, | ||
| 11673 | 0x0500d00a, 0x05500405, 0x014a68ff, 0x070090ff, | ||
| 11674 | 0x0154040a, 0x0700c0ff, 0x0600a023, 0x0500b024, | ||
| 11675 | 0x02206001, 0x05601622, 0x050f80ff, 0x063fa04a, | ||
| 11676 | 0x06000002, 0x05601022, 0x050f80ff, 0x043fa819, | ||
| 11677 | 0x06000001, 0x0600a00d, 0x0180013c, 0x06780043, | ||
| 11678 | 0x070000f0, 0x050010ff, 0x027c0001, 0x07000030, | ||
| 11679 | 0x078105b4, 0x027c0001, 0x06000020, 0x078105b4, | ||
| 11680 | 0x038005cc, 0x054880ff, 0x06810010, 0x070ff056, | ||
| 11681 | 0x050fb0ff, 0x044880e5, 0x0581017d, 0x044880e6, | ||
| 11682 | 0x04818010, 0x00800183, 0x056c02ff, 0x050fb0ff, | ||
| 11683 | 0x070560ff, 0x072e5300, 0x044880e6, 0x04818010, | ||
| 11684 | 0x072d5003, 0x06780043, 0x07f00000, 0x010880ff, | ||
| 11685 | 0x058d0187, 0x03386005, 0x03010000, 0x033e6000, | ||
| 11686 | 0x0700000c, 0x052e5200, 0x02800010, 0x0120918e, | ||
| 11687 | 0x018004e4, 0x01209190, 0x018004e4, 0x00209192, | ||
| 11688 | 0x018004e4, 0x03209000, 0x018004e4, 0x01209196, | ||
| 11689 | 0x018004e4, 0x00209198, 0x018004e4, 0x02493075, | ||
| 11690 | 0x06810510, 0x0120919a, 0x018004e4, 0x06601e01, | ||
| 11691 | 0x050f80ff, 0x063fa029, 0x06000008, 0x02015010, | ||
| 11692 | 0x02016051, 0x00017051, 0x00011051, 0x05601a41, | ||
| 11693 | 0x050f80ff, 0x053fa83a, 0x06000008, 0x05600e41, | ||
| 11694 | 0x050f80ff, 0x01464000, 0x032fa00a, 0x07006011, | ||
| 11695 | 0x05007012, 0x04008013, 0x07009014, 0x0600a015, | ||
| 11696 | 0x0400b016, 0x0700c017, 0x07c00000, 0x072d5003, | ||
| 11697 | 0x06601479, 0x050f80ff, 0x048d01b9, 0x063fa051, | ||
| 11698 | 0x0600003e, 0x07c00000, 0x06005051, 0x0400e02c, | ||
| 11699 | 0x0660060e, 0x050f80ff, 0x032fa009, 0x0379ff00, | ||
| 11700 | 0x070000ff, 0x076c0000, 0x058101dd, 0x0660480e, | ||
| 11701 | 0x0500e0ff, 0x034000ff, 0x01540427, 0x0582020a, | ||
| 11702 | 0x03400005, 0x070ff005, 0x055c0428, 0x0481020e, | ||
| 11703 | 0x01680e05, 0x056c0405, 0x068181bf, 0x040f8029, | ||
| 11704 | 0x053fa809, 0x07000024, 0x06600649, 0x050f80ff, | ||
| 11705 | 0x032fa009, 0x0379ff00, 0x070000ff, 0x076c0000, | ||
| 11706 | 0x068181bf, 0x0400e049, 0x0340002d, 0x050f802b, | ||
| 11707 | 0x053fa80a, 0x06000016, 0x0660480e, 0x0302c0ff, | ||
| 11708 | 0x034000ff, 0x01540427, 0x0582020c, 0x072d6000, | ||
| 11709 | 0x0460040e, 0x050f80ff, 0x0104e0d1, 0x0379ff4e, | ||
| 11710 | 0x0700ffff, 0x062d6002, 0x032fa009, 0x0004d0d0, | ||
| 11711 | 0x074b004d, 0x07780000, 0x07ffff00, 0x055a044d, | ||
| 11712 | 0x070000ff, 0x00201008, 0x04002051, 0x06003051, | ||
| 11713 | 0x05304000, 0x07000060, 0x03205009, 0x07006022, | ||
| 11714 | 0x0460040e, 0x050f80ff, 0x032fa03a, 0x06603c0e, | ||
| 11715 | 0x050f80ff, 0x073fa00a, 0x07000027, 0x050010d1, | ||
| 11716 | 0x0460320e, 0x050f80ff, 0x012fa80a, 0x060ff00e, | ||
| 11717 | 0x055c042e, 0x04810210, 0x07c00000, 0x0400e026, | ||
| 11718 | 0x008001cb, 0x0202c026, 0x008001e6, 0x0500e02e, | ||
| 11719 | 0x008001e6, 0x0400e051, 0x01800209, 0x0349c0e4, | ||
| 11720 | 0x04810215, 0x07c00000, 0x013e4000, 0x070c0000, | ||
| 11721 | 0x07c00000, 0x013e4000, 0x03080000, 0x07c00000, | ||
| 11722 | 0x009702f4, 0x022a5002, 0x0790821d, 0x00910291, | ||
| 11723 | 0x030400a6, 0x0678aae5, 0x06000001, 0x00a1860e, | ||
| 11724 | 0x06600c40, 0x050f80ff, 0x032fa021, 0x074b0000, | ||
| 11725 | 0x076c0600, 0x07818293, 0x05600403, 0x050f80ff, | ||
| 11726 | 0x073fa009, 0x06000002, 0x0279ff04, 0x0700ffff, | ||
| 11727 | 0x010440d7, 0x0179fe44, 0x0700ffff, 0x045c0404, | ||
| 11728 | 0x07818295, 0x0349f044, 0x0681829e, 0x02495001, | ||
| 11729 | 0x06818297, 0x060ff079, 0x045c0440, 0x0781823c, | ||
| 11730 | 0x0644f07a, 0x002fb008, 0x060ff079, 0x045c0440, | ||
| 11731 | 0x07818241, 0x0644f07a, 0x002fb008, 0x0648f001, | ||
| 11732 | 0x07818288, 0x04600e40, 0x050f80ff, 0x06480001, | ||
| 11733 | 0x04810257, 0x0448e001, 0x04810273, 0x02460001, | ||
| 11734 | 0x0644f001, 0x012fa80a, 0x04008040, 0x05a004ee, | ||
| 11735 | 0x0286828c, 0x05a004d8, 0x062da001, 0x013e4000, | ||
| 11736 | 0x06000080, 0x06930013, 0x02920013, 0x02800010, | ||
| 11737 | 0x0644f001, 0x012fa80a, 0x020ef002, 0x00860275, | ||
| 11738 | 0x04600840, 0x050f80ff, 0x053fa809, 0x06000002, | ||
| 11739 | 0x05780105, 0x00800440, 0x017c0105, 0x05000400, | ||
| 11740 | 0x06818275, 0x06601e02, 0x050f80ff, 0x053fa809, | ||
| 11741 | 0x06000002, 0x04602a40, 0x050f80ff, 0x070ff005, | ||
| 11742 | 0x053fa809, 0x06000002, 0x055c0405, 0x06818275, | ||
| 11743 | 0x04008040, 0x0045e008, 0x05a004d8, 0x00800251, | ||
| 11744 | 0x0644f001, 0x012fa80a, 0x050020d8, 0x04600440, | ||
| 11745 | 0x050f80ff, 0x073fa00a, 0x06000001, 0x06480001, | ||
| 11746 | 0x07818281, 0x05308000, 0x03040000, 0x06009040, | ||
| 11747 | 0x04a004dc, 0x00800251, 0x06a0060e, 0x054b0800, | ||
| 11748 | 0x056a0700, 0x06600c40, 0x050f80ff, 0x032fa00a, | ||
| 11749 | 0x00800251, 0x013e4000, 0x06000080, 0x01209288, | ||
| 11750 | 0x018004e4, 0x06009008, 0x05308000, 0x05004000, | ||
| 11751 | 0x04a004dc, 0x00800251, 0x02209002, 0x008002e5, | ||
| 11752 | 0x03209000, 0x008002e5, 0x02209004, 0x008002e5, | ||
| 11753 | 0x04a002fd, 0x062da001, 0x05308000, 0x05002000, | ||
| 11754 | 0x06009040, 0x04a004dc, 0x02800013, 0x013e4000, | ||
| 11755 | 0x06000080, 0x02495001, 0x078182db, 0x04600840, | ||
| 11756 | 0x050f80ff, 0x053fa809, 0x06000001, 0x0721f000, | ||
| 11757 | 0x0349f003, 0x058102aa, 0x0245f01f, 0x06000002, | ||
| 11758 | 0x018602db, 0x07601400, 0x050f80ff, 0x012fa809, | ||
| 11759 | 0x06480001, 0x058102db, 0x06602440, 0x050f80ff, | ||
| 11760 | 0x012fa809, 0x020ef001, 0x038682db, 0x019b02db, | ||
| 11761 | 0x050020d8, 0x062da001, 0x06303002, 0x05000430, | ||
| 11762 | 0x04600440, 0x050f80ff, 0x073fa012, 0x06000001, | ||
| 11763 | 0x028f82bf, 0x050040d8, 0x062da001, 0x07601e00, | ||
| 11764 | 0x050f80ff, 0x073fa009, 0x06000001, 0x060ff004, | ||
| 11765 | 0x00540402, 0x048202d9, 0x06005051, 0x06006051, | ||
| 11766 | 0x06602240, 0x050f80ff, 0x063fa01a, 0x06000002, | ||
| 11767 | 0x06600a40, 0x050f80ff, 0x073fa00a, 0x07000003, | ||
| 11768 | 0x060ff040, 0x045a041f, 0x010eb0ff, 0x06930013, | ||
| 11769 | 0x02920013, 0x02800010, 0x04004002, 0x018002c9, | ||
| 11770 | 0x04a002fd, 0x062da001, 0x05308000, 0x07005000, | ||
| 11771 | 0x06009040, 0x04a004dc, 0x050080d8, 0x05a004e1, | ||
| 11772 | 0x062da001, 0x02800013, 0x050fd009, 0x050fd041, | ||
| 11773 | 0x013e4000, 0x06000080, 0x05308000, 0x03013000, | ||
| 11774 | 0x04a004dc, 0x010440d7, 0x0349f044, 0x048102f2, | ||
| 11775 | 0x062da001, 0x008f02f2, 0x03e00000, 0x062da001, | ||
| 11776 | 0x02800013, 0x0249c0e5, 0x06810013, 0x062da001, | ||
| 11777 | 0x07f00000, 0x07f00000, 0x033e5000, 0x070c0000, | ||
| 11778 | 0x018f02f6, 0x03800011, 0x050020d8, 0x04600440, | ||
| 11779 | 0x050f80ff, 0x073fa00a, 0x06000001, 0x07c00000, | ||
| 11780 | 0x002fb001, 0x03800306, 0x012fb000, 0x03075087, | ||
| 11781 | 0x068d0307, 0x03386000, 0x03020000, 0x04482075, | ||
| 11782 | 0x06810352, 0x0648a0e6, 0x07810347, 0x0642007f, | ||
| 11783 | 0x06810345, 0x0340007e, 0x060ff038, 0x0154047e, | ||
| 11784 | 0x02d00334, 0x0560027d, 0x050f80ff, 0x032fa009, | ||
| 11785 | 0x030ef000, 0x02860504, 0x0107d000, 0x05600800, | ||
| 11786 | 0x050f80ff, 0x032fa009, 0x03681e00, 0x04500420, | ||
| 11787 | 0x050f80ff, 0x073fa009, 0x0700003f, 0x03800311, | ||
| 11788 | 0x070ff07d, 0x0450047c, 0x050f80ff, 0x002fa819, | ||
| 11789 | 0x078d0327, 0x02080001, 0x00081002, 0x0448807a, | ||
| 11790 | 0x0781032e, 0x0379ff03, 0x070000ff, 0x01082003, | ||
| 11791 | 0x068d032f, 0x02386004, 0x03010000, 0x072e6c00, | ||
| 11792 | 0x02800352, 0x0380033a, 0x0380033c, 0x0280033e, | ||
| 11793 | 0x02800340, 0x03800342, 0x03800344, 0x0727c005, | ||
| 11794 | 0x02800323, 0x0627c008, 0x02800323, 0x0627c00b, | ||
| 11795 | 0x02800323, 0x0627c00e, 0x02800323, 0x0727c011, | ||
| 11796 | 0x02800323, 0x03800314, 0x052e6800, 0x02800352, | ||
| 11797 | 0x044880e6, 0x07810533, 0x052e6200, 0x070ff088, | ||
| 11798 | 0x0179feff, 0x070fffff, 0x04818501, 0x060ff083, | ||
| 11799 | 0x0086836d, 0x033e6000, 0x07000003, 0x068d0352, | ||
| 11800 | 0x07286000, 0x07f00000, 0x078d0355, 0x038c0306, | ||
| 11801 | 0x0648c0e6, 0x05818372, 0x0448e0e6, 0x0781036a, | ||
| 11802 | 0x004920e6, 0x07810365, 0x07a0056f, 0x05001088, | ||
| 11803 | 0x00700101, 0x03100000, 0x00088001, 0x033e6000, | ||
| 11804 | 0x07000088, 0x03800560, 0x02386001, 0x07030000, | ||
| 11805 | 0x033e6000, 0x06000008, 0x028003f1, 0x02799075, | ||
| 11806 | 0x0500040f, 0x06810010, 0x06601479, 0x050080ff, | ||
| 11807 | 0x06309052, 0x0600003e, 0x02800376, 0x06602279, | ||
| 11808 | 0x050080ff, 0x05309812, 0x07000041, 0x0648007a, | ||
| 11809 | 0x0781037e, 0x04488075, 0x0581837e, 0x040f8008, | ||
| 11810 | 0x070fa009, 0x0049107a, 0x01a183f3, 0x00798075, | ||
| 11811 | 0x06000507, 0x05818521, 0x0448b075, 0x06810385, | ||
| 11812 | 0x02493075, 0x0681050e, 0x0249c0e6, 0x048183e0, | ||
| 11813 | 0x0648c0e6, 0x0581839a, 0x068d0389, 0x02386001, | ||
| 11814 | 0x07030000, 0x0049107a, 0x07810390, 0x020ef083, | ||
| 11815 | 0x0386039a, 0x06483075, 0x068103ef, 0x0678007a, | ||
| 11816 | 0x07000035, 0x03a184cf, 0x05308000, 0x07060000, | ||
| 11817 | 0x06009079, 0x04a004dc, 0x028003ef, 0x0448807a, | ||
| 11818 | 0x0681039e, 0x06483075, 0x058104f9, 0x0448d07a, | ||
| 11819 | 0x068103a2, 0x06483075, 0x058104f9, 0x068d03a2, | ||
| 11820 | 0x02386001, 0x07030000, 0x0444e07a, 0x0648307a, | ||
| 11821 | 0x048183c7, 0x0448707a, 0x068103ea, 0x0648f07a, | ||
| 11822 | 0x078103b2, 0x05a004cf, 0x04008079, 0x05a004ee, | ||
| 11823 | 0x008683c2, 0x05a004d8, 0x028003ef, 0x0560107b, | ||
| 11824 | 0x050f80ff, 0x032fa009, 0x0349c000, 0x058183c0, | ||
| 11825 | 0x04600e79, 0x050f80ff, 0x073fa00a, 0x0600003d, | ||
| 11826 | 0x06600a79, 0x050f80ff, 0x053fa80a, 0x06000010, | ||
| 11827 | 0x028003ef, 0x0046e07a, 0x028003ea, 0x06009008, | ||
| 11828 | 0x05308000, 0x05004000, 0x04a004dc, 0x028003ef, | ||
| 11829 | 0x0560167b, 0x050f80ff, 0x032fa011, 0x070ff000, | ||
| 11830 | 0x04500401, 0x030460ff, 0x060ff025, 0x00540446, | ||
| 11831 | 0x078203d1, 0x030460ff, 0x04092046, 0x05a00218, | ||
| 11832 | 0x06600679, 0x050f80ff, 0x00201007, 0x012fa80a, | ||
| 11833 | 0x0046047a, 0x034630ff, 0x050020ff, 0x06003051, | ||
| 11834 | 0x04600e79, 0x050f80ff, 0x073fa012, 0x06000001, | ||
| 11835 | 0x028003ef, 0x033e6a00, 0x0202000e, 0x02079051, | ||
| 11836 | 0x07000088, 0x078d03e4, 0x0744c000, 0x01088000, | ||
| 11837 | 0x03386006, 0x03010000, 0x02800010, 0x05a004cf, | ||
| 11838 | 0x05308000, 0x03020000, 0x06009079, 0x04a004dc, | ||
| 11839 | 0x033e6a00, 0x0302000a, 0x02079051, 0x02800010, | ||
| 11840 | 0x04603e79, 0x050f80ff, 0x032fa009, 0x070ff000, | ||
| 11841 | 0x0186040c, 0x057dfeff, 0x07ffffff, 0x0581040c, | ||
| 11842 | 0x050f8000, 0x012fa811, 0x0079fe02, 0x070000ff, | ||
| 11843 | 0x077d66ff, 0x060000dc, 0x0781840c, 0x060ff001, | ||
| 11844 | 0x0286840d, 0x064b0002, 0x06420002, 0x060ff002, | ||
| 11845 | 0x05500400, 0x050f80ff, 0x05004084, 0x073fa00a, | ||
| 11846 | 0x06000002, 0x07c00000, 0x04600201, 0x050f80ff, | ||
| 11847 | 0x073fa009, 0x06000001, 0x0079fe02, 0x070000ff, | ||
| 11848 | 0x077d72ff, 0x070000dd, 0x0781840c, 0x064b0002, | ||
| 11849 | 0x06420002, 0x06000001, 0x01800406, 0x0605004c, | ||
| 11850 | 0x0180041e, 0x0493041a, 0x04a004d5, 0x054bc450, | ||
| 11851 | 0x05810421, 0x01d00422, 0x01800421, 0x00800432, | ||
| 11852 | 0x00800434, 0x00800432, 0x008004a7, 0x0180043f, | ||
| 11853 | 0x00800434, 0x01800471, 0x00800432, 0x00800432, | ||
| 11854 | 0x008004ab, 0x00800432, 0x018004af, 0x008004c4, | ||
| 11855 | 0x01800488, 0x00800432, 0x00800432, 0x00209432, | ||
| 11856 | 0x018004e4, 0x0379ff50, 0x070fffff, 0x060ff079, | ||
| 11857 | 0x055c0450, 0x048104a4, 0x002fb008, 0x060ff079, | ||
| 11858 | 0x055c0450, 0x058104a3, 0x04a004c7, 0x0180049c, | ||
| 11859 | 0x0179fe50, 0x070fffff, 0x070050ff, 0x060ff079, | ||
| 11860 | 0x055c0405, 0x04810449, 0x002fb008, 0x060ff079, | ||
| 11861 | 0x055c0405, 0x078184a0, 0x070ff087, 0x017980ff, | ||
| 11862 | 0x06000507, 0x06818451, 0x02203040, 0x05002087, | ||
| 11863 | 0x0049d002, 0x0481046b, 0x04930458, 0x01257000, | ||
| 11864 | 0x073c3fff, 0x0700000f, 0x052e4003, 0x072e5030, | ||
| 11865 | 0x0304c050, 0x02400057, 0x06740057, 0x06000002, | ||
| 11866 | 0x06820016, 0x04002083, 0x07003084, 0x04004085, | ||
| 11867 | 0x06602279, 0x050f80ff, 0x063fa01a, 0x06000001, | ||
| 11868 | 0x05a004cf, 0x07a00578, 0x033e6a00, 0x0302000a, | ||
| 11869 | 0x062e5020, 0x003e4002, 0x07000a00, 0x028003f1, | ||
| 11870 | 0x07420003, 0x0781844e, 0x00798002, 0x06000507, | ||
| 11871 | 0x06818451, 0x0180045c, 0x05930478, 0x01257000, | ||
| 11872 | 0x073c3fff, 0x0700000f, 0x052e4003, 0x072e5030, | ||
| 11873 | 0x0304c050, 0x067800e6, 0x07000041, 0x0581047d, | ||
| 11874 | 0x07a00581, 0x04818016, 0x002fb008, 0x067800e6, | ||
| 11875 | 0x07000041, 0x04810483, 0x07a00581, 0x04818016, | ||
| 11876 | 0x062e5020, 0x003e4002, 0x07000a00, 0x03e00000, | ||
| 11877 | 0x02800010, 0x0379ff50, 0x070fffff, 0x060ff079, | ||
| 11878 | 0x055c0450, 0x0781848e, 0x0245507a, 0x002fb008, | ||
| 11879 | 0x060ff079, 0x055c0450, 0x07818493, 0x0245507a, | ||
| 11880 | 0x002fb008, 0x05600e50, 0x050f80ff, 0x012fa809, | ||
| 11881 | 0x02455001, 0x05600e50, 0x050f80ff, 0x012fa80a, | ||
| 11882 | 0x0080049d, 0x002fb008, 0x003e4002, 0x07000a00, | ||
| 11883 | 0x02800016, 0x079384a3, 0x062e5020, 0x042e4002, | ||
| 11884 | 0x002fb008, 0x013e4000, 0x05000e00, 0x02800016, | ||
| 11885 | 0x0179fe50, 0x070fffff, 0x010210ff, 0x02800016, | ||
| 11886 | 0x0179fe50, 0x070fffff, 0x050340ff, 0x0080049d, | ||
| 11887 | 0x0179fe50, 0x070fffff, 0x0102e0ff, 0x0760282e, | ||
| 11888 | 0x050f80ff, 0x05222000, 0x07223000, 0x05224000, | ||
| 11889 | 0x07225000, 0x07226000, 0x05227000, 0x05228000, | ||
| 11890 | 0x07229000, 0x0722a000, 0x0522b000, 0x063fa051, | ||
| 11891 | 0x07000011, 0x0202c026, 0x0522d000, 0x052e400c, | ||
| 11892 | 0x02800016, 0x030430d4, 0x062e5008, 0x00800176, | ||
| 11893 | 0x05600e50, 0x050f80ff, 0x032fa009, 0x03460000, | ||
| 11894 | 0x018004d2, 0x0246007a, 0x0045207a, 0x008004d0, | ||
| 11895 | 0x0246007a, 0x0600007a, 0x04600e79, 0x050f80ff, | ||
| 11896 | 0x032fa00a, 0x07c00000, 0x029284d5, 0x070500e1, | ||
| 11897 | 0x07c00000, 0x0245f008, 0x048404d9, 0x020e0008, | ||
| 11898 | 0x07c00000, 0x070ff009, 0x065a0008, 0x058404de, | ||
| 11899 | 0x020e0008, 0x07c00000, 0x058404e1, 0x020e0008, | ||
| 11900 | 0x07c00000, 0x05308000, 0x0500d000, 0x04a004dc, | ||
| 11901 | 0x04a004e9, 0x02800010, 0x052e4300, 0x072e500c, | ||
| 11902 | 0x073c3fff, 0x0700000f, 0x07c00000, 0x06602208, | ||
| 11903 | 0x050f80ff, 0x032fa011, 0x076a0000, 0x068184f7, | ||
| 11904 | 0x066a0001, 0x048104f7, 0x04002051, 0x07c00000, | ||
| 11905 | 0x00202001, 0x07c00000, 0x0648307a, 0x00a18608, | ||
| 11906 | 0x05a004cc, 0x05308000, 0x05001000, 0x06009079, | ||
| 11907 | 0x04a004dc, 0x03800560, 0x0249c0e6, 0x058104f9, | ||
| 11908 | 0x0280036d, 0x0648307a, 0x07818196, 0x05a004cf, | ||
| 11909 | 0x05308000, 0x03013000, 0x03209006, 0x04a004dc, | ||
| 11910 | 0x033e6000, 0x07030000, 0x02800345, 0x02490075, | ||
| 11911 | 0x0781051e, 0x04002089, 0x04780102, 0x07f00000, | ||
| 11912 | 0x05001088, 0x07a0056f, 0x04740101, 0x03100000, | ||
| 11913 | 0x060ff002, 0x045c0401, 0x0481851f, 0x00088001, | ||
| 11914 | 0x033e6000, 0x070000c0, 0x0380055c, 0x07f00000, | ||
| 11915 | 0x0220951f, 0x018004e4, 0x0648307a, 0x07810527, | ||
| 11916 | 0x06780075, 0x06000007, 0x0581852e, 0x06a00608, | ||
| 11917 | 0x06486075, 0x06818194, 0x02490075, 0x0781819a, | ||
| 11918 | 0x04487075, 0x05818536, 0x0280053d, 0x05308000, | ||
| 11919 | 0x03010000, 0x06009079, 0x04a004dc, 0x02800010, | ||
| 11920 | 0x0448e0e6, 0x04818352, 0x00800192, 0x05308000, | ||
| 11921 | 0x0500e000, 0x06009079, 0x04a004dc, 0x04008089, | ||
| 11922 | 0x05a004e1, 0x0380055c, 0x05a004cc, 0x05308000, | ||
| 11923 | 0x0700f000, 0x06009079, 0x07000088, 0x06a00545, | ||
| 11924 | 0x04a004dc, 0x02800010, 0x03386000, 0x07030000, | ||
| 11925 | 0x07f00000, 0x078d0548, 0x033e6a00, 0x0202000e, | ||
| 11926 | 0x02079051, 0x0448b075, 0x07810553, 0x02493075, | ||
| 11927 | 0x07810553, 0x05301005, 0x03010000, 0x03800555, | ||
| 11928 | 0x05301006, 0x03010000, 0x05002087, 0x06485002, | ||
| 11929 | 0x05818555, 0x0744c000, 0x01088000, 0x02086001, | ||
| 11930 | 0x07c00000, 0x05001088, 0x07a0056f, 0x0644c001, | ||
| 11931 | 0x00088001, 0x033e6a00, 0x0202000e, 0x004920e6, | ||
| 11932 | 0x05818565, 0x02079051, 0x078d0565, 0x060ff089, | ||
| 11933 | 0x034990ff, 0x0781056c, 0x03386005, 0x03010000, | ||
| 11934 | 0x02800010, 0x03386006, 0x03010000, 0x02800010, | ||
| 11935 | 0x078d056f, 0x03386000, 0x07030000, 0x07f00000, | ||
| 11936 | 0x068d0573, 0x070ff087, 0x074850ff, 0x05818574, | ||
| 11937 | 0x07c00000, 0x078d0578, 0x02386001, 0x07030000, | ||
| 11938 | 0x07f00000, 0x068d057c, 0x070ff087, 0x074850ff, | ||
| 11939 | 0x0581857d, 0x07c00000, 0x05002087, 0x0049d002, | ||
| 11940 | 0x05818590, 0x002fb008, 0x067800e6, 0x07000041, | ||
| 11941 | 0x002fb008, 0x05818590, 0x07a005a6, 0x0448e002, | ||
| 11942 | 0x07810593, 0x0648a002, 0x0481859d, 0x06486002, | ||
| 11943 | 0x06810597, 0x02400057, 0x056a02ff, 0x07c00000, | ||
| 11944 | 0x07a005a6, 0x06788102, 0x06000004, 0x05818590, | ||
| 11945 | 0x04002089, 0x070ff0d4, 0x045c0402, 0x077800ff, | ||
| 11946 | 0x07f00000, 0x05818590, 0x00202010, 0x038c0590, | ||
| 11947 | 0x07f00000, 0x06420002, 0x0481859e, 0x07a00578, | ||
| 11948 | 0x033e6a00, 0x0302000a, 0x07c00000, 0x07f00000, | ||
| 11949 | 0x060ff0a2, 0x050020ff, 0x060ff0a2, 0x045c0402, | ||
| 11950 | 0x048185a7, 0x07c00000, 0x05a00218, 0x03495047, | ||
| 11951 | 0x078105b2, 0x0320901d, 0x02800604, 0x0220901f, | ||
| 11952 | 0x02800604, 0x014980e4, 0x04818010, 0x013e4000, | ||
| 11953 | 0x07003000, 0x05600e35, 0x050f80ff, 0x07a006fc, | ||
| 11954 | 0x01208003, 0x05a004e1, 0x038005cc, 0x03209009, | ||
| 11955 | 0x02800604, 0x03209011, 0x02800604, 0x02209007, | ||
| 11956 | 0x02800604, 0x03209003, 0x02800604, 0x00498043, | ||
| 11957 | 0x058185be, 0x00497043, 0x048185c2, 0x02209001, | ||
| 11958 | 0x02800604, 0x0220900d, 0x02800604, 0x0320900f, | ||
| 11959 | 0x02800604, 0x03493000, 0x068105d5, 0x027c0045, | ||
| 11960 | 0x070a0000, 0x078105de, 0x0220900b, 0x02800604, | ||
| 11961 | 0x02209013, 0x05308000, 0x01012000, 0x04a004dc, | ||
| 11962 | 0x00800183, 0x03209005, 0x02800604, 0x072e500c, | ||
| 11963 | 0x00208002, 0x05a004e1, 0x02800010, 0x02209015, | ||
| 11964 | 0x02800604, 0x072d6000, 0x05308000, 0x05007000, | ||
| 11965 | 0x07f00000, 0x070090d1, 0x0379ff09, 0x0700ffff, | ||
| 11966 | 0x04a004dc, 0x03209017, 0x02800604, 0x033e5000, | ||
| 11967 | 0x06000080, 0x02209019, 0x02800604, 0x072d6000, | ||
| 11968 | 0x033e5000, 0x06000080, 0x07f00000, 0x060ff0d0, | ||
| 11969 | 0x0179feff, 0x0700ffff, 0x057dfeff, 0x0700ffff, | ||
| 11970 | 0x04818010, 0x02400058, 0x00642058, 0x06820010, | ||
| 11971 | 0x033e5000, 0x06000080, 0x04058051, 0x0320901b, | ||
| 11972 | 0x02800604, 0x05308000, 0x01012000, 0x04a004dc, | ||
| 11973 | 0x00800176, 0x05a00218, 0x05308000, 0x05008000, | ||
| 11974 | 0x06009079, 0x04a004dc, 0x07c00000, 0x034900e4, | ||
| 11975 | 0x05818618, 0x013e4000, 0x070000c0, 0x07f00000, | ||
| 11976 | 0x034900e4, 0x04818616, 0x07c00000, 0x013e4000, | ||
| 11977 | 0x06000080, 0x07f00000, 0x07f00000, 0x07f00000, | ||
| 11978 | 0x034900e4, 0x06810610, 0x03800618, 0x072d6000, | ||
| 11979 | 0x00498043, 0x06810632, 0x060ff0d0, 0x0179feff, | ||
| 11980 | 0x0700ffff, 0x057dfeff, 0x0700ffff, 0x058185e2, | ||
| 11981 | 0x050f8030, 0x032fa009, 0x0379ff00, 0x0700ffff, | ||
| 11982 | 0x070ff0d1, 0x0179feff, 0x0700ffff, 0x055c0400, | ||
| 11983 | 0x078105e2, 0x04004051, 0x0280067a, 0x06a006dc, | ||
| 11984 | 0x062d6001, 0x020ef004, 0x038605e4, 0x06600004, | ||
| 11985 | 0x050f80ff, 0x032fa009, 0x074b0000, 0x05002000, | ||
| 11986 | 0x0769ff00, 0x01640800, 0x078205e4, 0x01640e00, | ||
| 11987 | 0x058285e4, 0x070ff036, 0x045c0404, 0x0581864d, | ||
| 11988 | 0x072d6000, 0x050f8030, 0x032fa009, 0x0379ff00, | ||
| 11989 | 0x0700ffff, 0x070ff0d1, 0x0179feff, 0x0700ffff, | ||
| 11990 | 0x055c0400, 0x078105e2, 0x04482034, 0x078105ff, | ||
| 11991 | 0x06483034, 0x058185ff, 0x070ff0d4, 0x077800ff, | ||
| 11992 | 0x070000f0, 0x037c00ff, 0x06000010, 0x0681067a, | ||
| 11993 | 0x06a006d6, 0x024900e5, 0x0681065d, 0x033e5000, | ||
| 11994 | 0x06000080, 0x02800010, 0x04601c04, 0x050f80ff, | ||
| 11995 | 0x053fa809, 0x06000020, 0x030ef041, 0x038605ee, | ||
| 11996 | 0x062d6002, 0x05602a41, 0x050f80ff, 0x012fa809, | ||
| 11997 | 0x060ff0d0, 0x074b00ff, 0x045c0401, 0x05818678, | ||
| 11998 | 0x062d6001, 0x07602841, 0x050f80ff, 0x053fa809, | ||
| 11999 | 0x06000001, 0x070ff0d1, 0x054b80ff, 0x074b0003, | ||
| 12000 | 0x055c0403, 0x05818678, 0x033e5000, 0x06000080, | ||
| 12001 | 0x0080070e, 0x07600041, 0x0280065e, 0x06a006d6, | ||
| 12002 | 0x024900e5, 0x06810680, 0x033e5000, 0x06000080, | ||
| 12003 | 0x02800010, 0x06a006c2, 0x030ef041, 0x028605f2, | ||
| 12004 | 0x04058051, 0x072d6000, 0x05601041, 0x050f80ff, | ||
| 12005 | 0x012fa809, 0x0600a0d0, 0x0500b0d1, 0x062d6001, | ||
| 12006 | 0x07f00000, 0x07f00000, 0x0600c0d0, 0x0500d0d1, | ||
| 12007 | 0x062d6002, 0x0279ff0d, 0x07ff0000, 0x044d800d, | ||
| 12008 | 0x060ff0d0, 0x074b00ff, 0x065a000d, 0x06601201, | ||
| 12009 | 0x050f80ff, 0x073fa022, 0x07000005, 0x0079fe0d, | ||
| 12010 | 0x070000ff, 0x050020ff, 0x05602a41, 0x050f80ff, | ||
| 12011 | 0x073fa00a, 0x06000001, 0x020ef004, 0x028606bf, | ||
| 12012 | 0x04601c04, 0x050f80ff, 0x053fa809, 0x06000001, | ||
| 12013 | 0x050f80ff, 0x053fa80a, 0x06000020, 0x07602841, | ||
| 12014 | 0x050f80ff, 0x073fa009, 0x06000001, 0x0279ff02, | ||
| 12015 | 0x070000ff, 0x0678000d, 0x0700ff00, 0x065a0002, | ||
| 12016 | 0x07602841, 0x050f80ff, 0x073fa00a, 0x06000001, | ||
| 12017 | 0x07600041, 0x050f80ff, 0x053fa80a, 0x06000001, | ||
| 12018 | 0x07601241, 0x050f80ff, 0x073fa00a, 0x06000002, | ||
| 12019 | 0x033e5000, 0x06000080, 0x0080070e, 0x040f8032, | ||
| 12020 | 0x073fa011, 0x06000001, 0x060ff002, 0x055c0403, | ||
| 12021 | 0x058186ca, 0x00041051, 0x07c00000, 0x04600402, | ||
| 12022 | 0x04500432, 0x050f80ff, 0x053fa809, 0x06000020, | ||
| 12023 | 0x00400402, 0x01680eff, 0x070030ff, 0x040f8032, | ||
| 12024 | 0x053fa80a, 0x06000001, 0x07c00000, 0x024900e5, | ||
| 12025 | 0x068106d9, 0x07c00000, 0x033e5000, 0x070000c0, | ||
| 12026 | 0x07c00000, 0x05004036, 0x060000d0, 0x0179fe00, | ||
| 12027 | 0x0700ffff, 0x057dfeff, 0x0700ffff, 0x068106fb, | ||
| 12028 | 0x070000d1, 0x0379ff00, 0x0700ffff, 0x06005051, | ||
| 12029 | 0x060ff031, 0x05500405, 0x050f80ff, 0x073fa009, | ||
| 12030 | 0x06000002, 0x020ef004, 0x038606f5, 0x04600404, | ||
| 12031 | 0x050f80ff, 0x012fa809, 0x0079fe01, 0x0700ffff, | ||
| 12032 | 0x055c0400, 0x068106fb, 0x01400405, 0x070050ff, | ||
| 12033 | 0x057de0ff, 0x06000007, 0x058186e7, 0x04004051, | ||
| 12034 | 0x07c00000, 0x072d6000, 0x07f00000, 0x07f00000, | ||
| 12035 | 0x000110d0, 0x010120d1, 0x062d6001, 0x07f00000, | ||
| 12036 | 0x07f00000, 0x020130d0, 0x010140d1, 0x062d6002, | ||
| 12037 | 0x010170d4, 0x07f00000, 0x020150d0, 0x030160d1, | ||
| 12038 | 0x053fa83a, 0x06000008, 0x07c00000, 0x07600c41, | ||
| 12039 | 0x050f80ff, 0x073fa009, 0x06000001, 0x04780102, | ||
| 12040 | 0x07ffff00, 0x046a0702, 0x050f80ff, 0x073fa00a, | ||
| 12041 | 0x06000001, 0x05600e41, 0x050f80ff, 0x032fa069, | ||
| 12042 | 0x03800053, 0xba6b4e34, 0x02800004, 0x00000000, | ||
| 12043 | 0x00008000, 0x00000518, 0x040f801f, 0x012fa8c9, | ||
| 12044 | 0x040f801f, 0x073fa081, 0x06000010, 0x03200005, | ||
| 12045 | 0x07420000, 0x050fb000, 0x040f801f, 0x073fa011, | ||
| 12046 | 0x06000038, 0x040f801f, 0x053fa859, 0x0700003a, | ||
| 12047 | 0x050fe000, 0x0581800a, 0x0684003d, 0x04958019, | ||
| 12048 | 0x030e0011, 0x072e4200, 0x03800014, 0x0291001f, | ||
| 12049 | 0x050010c0, 0x04482001, 0x058180e8, 0x06483001, | ||
| 12050 | 0x0781814b, 0x02920029, 0x068b0029, 0x018a0150, | ||
| 12051 | 0x050010c0, 0x06780001, 0x050007c0, 0x06818223, | ||
| 12052 | 0x06780001, 0x0500f800, 0x07818263, 0x03910030, | ||
| 12053 | 0x040fe029, 0x03860030, 0x076c001d, 0x04810294, | ||
| 12054 | 0x076c0a1d, 0x048102b9, 0x0292003d, 0x040fe02f, | ||
| 12055 | 0x0286003d, 0x06000013, 0x050fb000, 0x066c0073, | ||
| 12056 | 0x068103c2, 0x0297003d, 0x014920e4, 0x0481803d, | ||
| 12057 | 0x03400000, 0x076c0a00, 0x04818034, 0x0796003f, | ||
| 12058 | 0x03b900b8, 0x05908014, 0x010170e1, 0x07780017, | ||
| 12059 | 0x03e00000, 0x06810092, 0x050010ff, 0x0179fe17, | ||
| 12060 | 0x031fffff, 0x070000ff, 0x05600800, 0x050f80ff, | ||
| 12061 | 0x073fa009, 0x06000001, 0x06780002, 0x02800040, | ||
| 12062 | 0x037c00ff, 0x03800000, 0x0681005e, 0x0249f002, | ||
| 12063 | 0x068100ab, 0x0448e002, 0x0681005e, 0x07600c00, | ||
| 12064 | 0x050f80ff, 0x073fa009, 0x06000001, 0x06780002, | ||
| 12065 | 0x07ffff00, 0x037c00ff, 0x05000200, 0x048180ab, | ||
| 12066 | 0x064bd401, 0x03d00060, 0x038000a9, 0x02800068, | ||
| 12067 | 0x03800072, 0x0280007c, 0x02800086, 0x03800090, | ||
| 12068 | 0x038000a9, 0x038000a9, 0x050fe027, 0x0186806c, | ||
| 12069 | 0x01028000, 0x0380006f, 0x07600027, 0x050f80ff, | ||
| 12070 | 0x032fa00a, 0x01027000, 0x02400029, 0x028000ab, | ||
| 12071 | 0x040fe025, 0x00868076, 0x03026000, 0x02800079, | ||
| 12072 | 0x06600025, 0x050f80ff, 0x032fa00a, 0x03025000, | ||
| 12073 | 0x02400029, 0x028000ab, 0x050fe021, 0x00868080, | ||
| 12074 | 0x01022000, 0x02800083, 0x07600021, 0x050f80ff, | ||
| 12075 | 0x032fa00a, 0x01021000, 0x02400029, 0x028000ab, | ||
| 12076 | 0x040fe023, 0x0086808a, 0x01024000, 0x0380008d, | ||
| 12077 | 0x06600023, 0x050f80ff, 0x032fa00a, 0x03023000, | ||
| 12078 | 0x02400029, 0x028000ab, 0x06a000c8, 0x028000ab, | ||
| 12079 | 0x01640817, 0x058280a9, 0x070ff017, 0x03d00096, | ||
| 12080 | 0x0280009e, 0x038000a0, 0x038000a3, 0x038000a6, | ||
| 12081 | 0x038000a9, 0x038000a9, 0x038000a9, 0x038000a9, | ||
| 12082 | 0x03e00000, 0x03800014, 0x059080a0, 0x030160e1, | ||
| 12083 | 0x028000ab, 0x059080a3, 0x030150e1, 0x028000ab, | ||
| 12084 | 0x059080a6, 0x010140e1, 0x028000ab, 0x060fc013, | ||
| 12085 | 0x06a00510, 0x03800014, 0x072e4800, 0x07000012, | ||
| 12086 | 0x038000bb, 0x0747f000, 0x05600800, 0x050f80ff, | ||
| 12087 | 0x012fa809, 0x0249f001, 0x078100bb, 0x01012000, | ||
| 12088 | 0x052e4c00, 0x07c00000, 0x070000eb, 0x0349f000, | ||
| 12089 | 0x058180af, 0x05600800, 0x050f80ff, 0x012fa809, | ||
| 12090 | 0x0448e001, 0x068100c1, 0x07c00000, 0x0079c101, | ||
| 12091 | 0x07ffffff, 0x027a4b01, 0x03800000, 0x05600800, | ||
| 12092 | 0x050f80ff, 0x012fa80a, 0x07600c00, 0x050f80ff, | ||
| 12093 | 0x012fa821, 0x06780001, 0x07ffff00, 0x037c00ff, | ||
| 12094 | 0x05000700, 0x078100dd, 0x06601804, 0x070030ff, | ||
| 12095 | 0x050f80ff, 0x012fa809, 0x05002000, 0x050f8003, | ||
| 12096 | 0x073fa00a, 0x06000001, 0x040fe001, 0x038600de, | ||
| 12097 | 0x04600201, 0x050f80ff, 0x032fa00a, 0x07c00000, | ||
| 12098 | 0x050fe02e, 0x008680e3, 0x0102e000, 0x0302f000, | ||
| 12099 | 0x038000e7, 0x0760002e, 0x050f80ff, 0x032fa00a, | ||
| 12100 | 0x0102e000, 0x07c00000, 0x022c0004, 0x056c041d, | ||
| 12101 | 0x078100fc, 0x056c021d, 0x04810113, 0x056c081d, | ||
| 12102 | 0x04810125, 0x076c061d, 0x0581013f, 0x0521d000, | ||
| 12103 | 0x0202c013, 0x0202a013, 0x02020013, 0x0460021a, | ||
| 12104 | 0x050f80ff, 0x053fa80a, 0x07000009, 0x03b600ac, | ||
| 12105 | 0x0484801f, 0x0280003d, 0x040fe02a, 0x028600f2, | ||
| 12106 | 0x06000013, 0x04001013, 0x0560102b, 0x050f80ff, | ||
| 12107 | 0x032fa012, 0x06420029, 0x0660002a, 0x050f80ff, | ||
| 12108 | 0x053fa809, 0x06000001, 0x050fe003, 0x00860110, | ||
| 12109 | 0x01028003, 0x0660002a, 0x050f80ff, 0x053fa80a, | ||
| 12110 | 0x07000009, 0x00800140, 0x00028013, 0x00027013, | ||
| 12111 | 0x00800140, 0x040fe02a, 0x028600f1, 0x06420029, | ||
| 12112 | 0x0660002a, 0x050f80ff, 0x053fa809, 0x06000001, | ||
| 12113 | 0x050fe003, 0x01860122, 0x03026003, 0x0660002a, | ||
| 12114 | 0x050f80ff, 0x053fa80a, 0x07000009, 0x00800140, | ||
| 12115 | 0x02026013, 0x02025013, 0x00800140, 0x040fe02a, | ||
| 12116 | 0x028600f1, 0x06420029, 0x0660002a, 0x050f80ff, | ||
| 12117 | 0x053fa809, 0x06000001, 0x050fe003, 0x00860134, | ||
| 12118 | 0x01022003, 0x0660002a, 0x050f80ff, 0x053fa80a, | ||
| 12119 | 0x07000009, 0x01800136, 0x00022013, 0x00021013, | ||
| 12120 | 0x0647f020, 0x007a0120, 0x04000101, 0x04a00285, | ||
| 12121 | 0x0400802a, 0x05a004f5, 0x009480f1, 0x0521d005, | ||
| 12122 | 0x028000f2, 0x038000fa, 0x0647f020, 0x06486020, | ||
| 12123 | 0x06818145, 0x04a00285, 0x028000f1, 0x007a0120, | ||
| 12124 | 0x04000101, 0x04a00285, 0x0400802a, 0x05a004f5, | ||
| 12125 | 0x028000f1, 0x040fd02a, 0x052e4003, 0x00208010, | ||
| 12126 | 0x05a004f5, 0x038000fa, 0x00018098, 0x07480018, | ||
| 12127 | 0x06818161, 0x05481018, 0x0781815f, 0x05482018, | ||
| 12128 | 0x0681815d, 0x07483018, 0x0681815b, 0x002fb004, | ||
| 12129 | 0x00800162, 0x012fb003, 0x00800162, 0x002fb002, | ||
| 12130 | 0x00800162, 0x002fb001, 0x00800162, 0x012fb000, | ||
| 12131 | 0x0179fe78, 0x070000ff, 0x030190ff, 0x00017086, | ||
| 12132 | 0x058b0166, 0x03385000, 0x03020000, 0x07780017, | ||
| 12133 | 0x00430407, 0x078181ee, 0x046c0419, 0x048101a2, | ||
| 12134 | 0x046c0219, 0x05810172, 0x07219000, 0x00800186, | ||
| 12135 | 0x07219000, 0x07483017, 0x0481018c, 0x05482017, | ||
| 12136 | 0x05810193, 0x0448b075, 0x06818186, 0x06601476, | ||
| 12137 | 0x050f80ff, 0x073fa022, 0x0600003e, 0x06000080, | ||
| 12138 | 0x05001081, 0x05002082, 0x06003083, 0x05004084, | ||
| 12139 | 0x04601c76, 0x050f80ff, 0x022fa02a, 0x07219000, | ||
| 12140 | 0x07780078, 0x07ffff00, 0x045a0419, 0x010780ff, | ||
| 12141 | 0x0484801f, 0x0280003d, 0x040fe07f, 0x0086019b, | ||
| 12142 | 0x05a001bb, 0x00920186, 0x040fe07f, 0x07a681bb, | ||
| 12143 | 0x00800186, 0x0560107b, 0x050f80ff, 0x032fa009, | ||
| 12144 | 0x0744f000, 0x0560107b, 0x050f80ff, 0x032fa00a, | ||
| 12145 | 0x00800179, 0x052e400c, 0x040080fb, 0x046aa108, | ||
| 12146 | 0x06009076, 0x04002075, 0x05a004fc, 0x00800186, | ||
| 12147 | 0x06219001, 0x05482017, 0x058101af, 0x058b01a5, | ||
| 12148 | 0x060ff086, 0x0349f0ff, 0x07818165, 0x07483017, | ||
| 12149 | 0x058101ac, 0x050fd0ff, 0x040fe07f, 0x07a681bb, | ||
| 12150 | 0x00800186, 0x05004084, 0x05a00205, 0x00920186, | ||
| 12151 | 0x070ff07d, 0x0450047c, 0x056004ff, 0x050f80ff, | ||
| 12152 | 0x032fa009, 0x070ff000, 0x00540479, 0x030790ff, | ||
| 12153 | 0x01800193, 0x060ff079, 0x0054047a, 0x058201e7, | ||
| 12154 | 0x058101e7, 0x070ff07d, 0x0450047c, 0x050f80ff, | ||
| 12155 | 0x002fa819, 0x058b01c3, 0x02080001, 0x00081002, | ||
| 12156 | 0x01082003, 0x048b01c7, 0x03385000, 0x03010000, | ||
| 12157 | 0x02400019, 0x070ff003, 0x04500479, 0x030790ff, | ||
| 12158 | 0x0340007e, 0x0642007f, 0x058101e7, 0x070ff07e, | ||
| 12159 | 0x050f80ff, 0x032fa009, 0x050fe000, 0x028681e6, | ||
| 12160 | 0x070ff07d, 0x056002ff, 0x050f80ff, 0x032fa009, | ||
| 12161 | 0x0107d000, 0x018601e8, 0x0560087d, 0x050f80ff, | ||
| 12162 | 0x032fa009, 0x0569fe00, 0x0550041b, 0x050f80ff, | ||
| 12163 | 0x032fa009, 0x0107e000, 0x070ff07e, 0x018001d2, | ||
| 12164 | 0x0307c000, 0x07c00000, 0x052e400c, 0x040080fb, | ||
| 12165 | 0x046aa108, 0x06009076, 0x04002075, 0x018004fc, | ||
| 12166 | 0x040fd076, 0x050fd017, 0x060ff086, 0x077800ff, | ||
| 12167 | 0x07000060, 0x037c00ff, 0x07000060, 0x078181f0, | ||
| 12168 | 0x07780078, 0x07ffff00, 0x045a0419, 0x010780ff, | ||
| 12169 | 0x06601476, 0x050f80ff, 0x073fa022, 0x0600003e, | ||
| 12170 | 0x052e400c, 0x040080fb, 0x066a8108, 0x06009076, | ||
| 12171 | 0x04002075, 0x05a004fc, 0x02800029, 0x0240007f, | ||
| 12172 | 0x0742007e, 0x050f807e, 0x032fa009, 0x050fe000, | ||
| 12173 | 0x0286821f, 0x070ff07d, 0x055c047b, 0x05810214, | ||
| 12174 | 0x0760007d, 0x050f80ff, 0x032fa009, 0x050fe000, | ||
| 12175 | 0x03868214, 0x070ff07b, 0x0107d0ff, 0x0560087d, | ||
| 12176 | 0x050f80ff, 0x032fa009, 0x03681e00, 0x0450041c, | ||
| 12177 | 0x0107e0ff, 0x050f80ff, 0x032fa009, 0x050fe000, | ||
| 12178 | 0x01860221, 0x0307c000, 0x07c00000, 0x040fd076, | ||
| 12179 | 0x02800510, 0x010180c0, 0x0548e018, 0x0781823c, | ||
| 12180 | 0x0748f018, 0x06818238, 0x03490018, 0x06818234, | ||
| 12181 | 0x01491018, 0x07818230, 0x073c0000, 0x06000040, | ||
| 12182 | 0x02200004, 0x0180023f, 0x073c0000, 0x06000020, | ||
| 12183 | 0x03200003, 0x0180023f, 0x073c0000, 0x06000010, | ||
| 12184 | 0x02200002, 0x0180023f, 0x073c0000, 0x06000008, | ||
| 12185 | 0x02200001, 0x0180023f, 0x073c0000, 0x06000004, | ||
| 12186 | 0x06000013, 0x050fb000, 0x040fe076, 0x00860258, | ||
| 12187 | 0x046c0273, 0x04810268, 0x066c0073, 0x04810249, | ||
| 12188 | 0x040fd076, 0x06a00510, 0x03800014, 0x040fd076, | ||
| 12189 | 0x0080024c, 0x00452075, 0x00077013, 0x0647f075, | ||
| 12190 | 0x06486075, 0x06818252, 0x05a0028b, 0x00800258, | ||
| 12191 | 0x007a0175, 0x04000101, 0x05a0028b, 0x04008076, | ||
| 12192 | 0x0245f008, 0x05a004f5, 0x07273000, 0x05600272, | ||
| 12193 | 0x050f80ff, 0x053fa80a, 0x07000009, 0x0379ff78, | ||
| 12194 | 0x070000ff, 0x02076013, 0x02075013, 0x0484801f, | ||
| 12195 | 0x0280003d, 0x070fc0ff, 0x052e400c, 0x00208020, | ||
| 12196 | 0x05a004f5, 0x00800261, 0x04600276, 0x050010ff, | ||
| 12197 | 0x040f8001, 0x032fa009, 0x040f8001, 0x053fa80a, | ||
| 12198 | 0x07000009, 0x070ff000, 0x0286827a, 0x06601276, | ||
| 12199 | 0x050f80ff, 0x073fa009, 0x0700000c, 0x07601818, | ||
| 12200 | 0x050f80ff, 0x053fa80a, 0x07000009, 0x0180027b, | ||
| 12201 | 0x07a000de, 0x0448b075, 0x0581024b, 0x06000013, | ||
| 12202 | 0x04001013, 0x0560107b, 0x050f80ff, 0x032fa012, | ||
| 12203 | 0x0046b075, 0x03b600ac, 0x0080024c, 0x06000020, | ||
| 12204 | 0x04001016, 0x0460082a, 0x050f80ff, 0x032fa012, | ||
| 12205 | 0x07c00000, 0x06000075, 0x040010a2, 0x044b0801, | ||
| 12206 | 0x060ff016, 0x065a0001, 0x04600876, 0x050f80ff, | ||
| 12207 | 0x032fa012, 0x07c00000, 0x050fe022, 0x0186029a, | ||
| 12208 | 0x0421d004, 0x0302a022, 0x04a002c1, 0x018002b1, | ||
| 12209 | 0x040fe026, 0x008602b3, 0x0421d001, 0x0202a026, | ||
| 12210 | 0x04a002c1, 0x0202c013, 0x00683e20, 0x070060ff, | ||
| 12211 | 0x056c0206, 0x048102f4, 0x056c0406, 0x0781030a, | ||
| 12212 | 0x076c0606, 0x06810379, 0x056c1606, 0x078182b1, | ||
| 12213 | 0x04488020, 0x07810387, 0x040fd02a, 0x0521d000, | ||
| 12214 | 0x0202a013, 0x02020013, 0x008002b3, 0x04a004ec, | ||
| 12215 | 0x008002bf, 0x050fe028, 0x008602bf, 0x0302a028, | ||
| 12216 | 0x0421d002, 0x04a002c1, 0x008002c8, 0x050fe022, | ||
| 12217 | 0x008602bf, 0x0421d004, 0x0302a022, 0x04a002c1, | ||
| 12218 | 0x04a004ec, 0x05848030, 0x0280003d, 0x0460082a, | ||
| 12219 | 0x050f80ff, 0x022fa031, 0x03020000, 0x0002b004, | ||
| 12220 | 0x01018005, 0x07c00000, 0x0400702a, 0x06a003ba, | ||
| 12221 | 0x007a0101, 0x07060000, 0x07303000, 0x07008290, | ||
| 12222 | 0x07600018, 0x050f80ff, 0x053fa809, 0x07000003, | ||
| 12223 | 0x0448e007, 0x068182d6, 0x06006013, 0x018002dd, | ||
| 12224 | 0x02400010, 0x048102d6, 0x06006010, 0x0460322a, | ||
| 12225 | 0x050f80ff, 0x073fa00a, 0x07000003, 0x050f801e, | ||
| 12226 | 0x032fa03a, 0x063aa020, 0x06000002, 0x013e4000, | ||
| 12227 | 0x07000030, 0x009802e3, 0x070ff0f6, 0x036830ff, | ||
| 12228 | 0x078182e4, 0x070f001e, 0x0560102b, 0x050f10ff, | ||
| 12229 | 0x063f3c08, 0x0600000d, 0x013e4000, 0x06000020, | ||
| 12230 | 0x040f801a, 0x0320000a, 0x022017d0, 0x032fa012, | ||
| 12231 | 0x0202c013, 0x008002bf, 0x04007013, 0x06a003ba, | ||
| 12232 | 0x007a0101, 0x07050000, 0x07303000, 0x07008890, | ||
| 12233 | 0x074d0005, 0x06006013, 0x050f801e, 0x032fa03a, | ||
| 12234 | 0x05601a2b, 0x050f80ff, 0x022fa019, 0x04001002, | ||
| 12235 | 0x04002013, 0x040f801f, 0x022fa01a, 0x073aa00c, | ||
| 12236 | 0x06000002, 0x07300c03, 0x0600000d, 0x028003a7, | ||
| 12237 | 0x04007013, 0x06a003ba, 0x007a0101, 0x03070000, | ||
| 12238 | 0x0660282a, 0x050f80ff, 0x073fa009, 0x06000004, | ||
| 12239 | 0x02499008, 0x07810317, 0x07303000, 0x07008890, | ||
| 12240 | 0x02800319, 0x07303000, 0x04008980, 0x05007003, | ||
| 12241 | 0x074d0005, 0x06006013, 0x050f801e, 0x032fa03a, | ||
| 12242 | 0x0760142b, 0x050f80ff, 0x032fa021, 0x064b0002, | ||
| 12243 | 0x02499008, 0x06810325, 0x0644c002, 0x054b0400, | ||
| 12244 | 0x050040ff, 0x06698104, 0x0581833a, 0x06000013, | ||
| 12245 | 0x04001013, 0x04780102, 0x06000010, 0x06003013, | ||
| 12246 | 0x04004013, 0x06005013, 0x06006013, 0x04007013, | ||
| 12247 | 0x00644015, 0x07820336, 0x04448002, 0x02205008, | ||
| 12248 | 0x040f801f, 0x032fa042, 0x04008015, 0x03800371, | ||
| 12249 | 0x046c8004, 0x05818348, 0x01208018, 0x06780002, | ||
| 12250 | 0x07000003, 0x0581834b, 0x06003001, 0x06000013, | ||
| 12251 | 0x04001013, 0x04004013, 0x06005013, 0x040f801f, | ||
| 12252 | 0x022fa032, 0x03800371, 0x040fd02a, 0x06a00510, | ||
| 12253 | 0x03800014, 0x04488002, 0x07810350, 0x070ff003, | ||
| 12254 | 0x04500408, 0x050080ff, 0x06489002, 0x06810357, | ||
| 12255 | 0x0379ff00, 0x070000ff, 0x070ff000, 0x04500408, | ||
| 12256 | 0x050080ff, 0x07005003, 0x05004000, 0x06003001, | ||
| 12257 | 0x06000013, 0x04001013, 0x040f801f, 0x022fa032, | ||
| 12258 | 0x05601c2b, 0x050f80ff, 0x022fa031, 0x06600c1f, | ||
| 12259 | 0x050f80ff, 0x022fa032, 0x02680608, 0x07810371, | ||
| 12260 | 0x016408ff, 0x057dfeff, 0x07ffffff, 0x034000ff, | ||
| 12261 | 0x045a0407, 0x070000ff, 0x0760061e, 0x050f80ff, | ||
| 12262 | 0x032fa00a, 0x06600908, 0x0669f908, 0x027a0008, | ||
| 12263 | 0x06000020, 0x070aa0ff, 0x014a20ff, 0x037a00ff, | ||
| 12264 | 0x060000dc, 0x070000ff, 0x028003a7, 0x04007013, | ||
| 12265 | 0x06a003ba, 0x007a0101, 0x07030000, 0x07303000, | ||
| 12266 | 0x07008190, 0x06006013, 0x050f801e, 0x032fa03a, | ||
| 12267 | 0x073aa000, 0x06000002, 0x07300c00, 0x07000005, | ||
| 12268 | 0x028003a7, 0x04007013, 0x06a003ba, 0x007a0101, | ||
| 12269 | 0x07810000, 0x07303000, 0x07000090, 0x06006013, | ||
| 12270 | 0x06600c2a, 0x050f80ff, 0x053fa809, 0x07000003, | ||
| 12271 | 0x04780107, 0x07ffff00, 0x007c0107, 0x07000500, | ||
| 12272 | 0x0581839a, 0x07303000, 0x05000890, 0x074d0005, | ||
| 12273 | 0x0660282a, 0x050f80ff, 0x053fa809, 0x07000003, | ||
| 12274 | 0x0049d007, 0x068103a1, 0x02206001, 0x050f801e, | ||
| 12275 | 0x032fa03a, 0x073aa000, 0x06000002, 0x07300c00, | ||
| 12276 | 0x07000005, 0x013e4000, 0x07000030, 0x039803a9, | ||
| 12277 | 0x070ff0f6, 0x036830ff, 0x058183aa, 0x070f001e, | ||
| 12278 | 0x040f101f, 0x070f3000, 0x013e4000, 0x06000020, | ||
| 12279 | 0x040f801a, 0x0320000a, 0x022017d0, 0x032fa012, | ||
| 12280 | 0x008002bf, 0x03200000, 0x06006076, 0x028003bc, | ||
| 12281 | 0x03200011, 0x0600602a, 0x05a00441, 0x05600406, | ||
| 12282 | 0x050f80ff, 0x053fa809, 0x06000002, 0x07c00000, | ||
| 12283 | 0x0207602f, 0x04600876, 0x050f80ff, 0x022fa031, | ||
| 12284 | 0x03075000, 0x0007b004, 0x01018005, 0x06600076, | ||
| 12285 | 0x050020ff, 0x050f80ff, 0x012fa809, 0x0202f001, | ||
| 12286 | 0x008683d0, 0x0002e013, 0x040f8002, 0x053fa80a, | ||
| 12287 | 0x07000009, 0x06273001, 0x0448b075, 0x048183da, | ||
| 12288 | 0x04602076, 0x050f80ff, 0x053fa811, 0x0700003c, | ||
| 12289 | 0x0179fe78, 0x070000ff, 0x030190ff, 0x018683e2, | ||
| 12290 | 0x07a003f6, 0x00078019, 0x039203f5, 0x0180043a, | ||
| 12291 | 0x040fd076, 0x040fd019, 0x04600276, 0x050020ff, | ||
| 12292 | 0x050f80ff, 0x032fa009, 0x040f8002, 0x053fa80a, | ||
| 12293 | 0x07000009, 0x050fe000, 0x008683f2, 0x07601818, | ||
| 12294 | 0x050f80ff, 0x053fa80a, 0x07000009, 0x038003f3, | ||
| 12295 | 0x07a000de, 0x07273000, 0x02076013, 0x0280003d, | ||
| 12296 | 0x078b03f6, 0x03385000, 0x07030000, 0x05600818, | ||
| 12297 | 0x050f80ff, 0x032fa009, 0x054b0400, 0x0308a0ff, | ||
| 12298 | 0x0179fe00, 0x070000ff, 0x010880ff, 0x0448b075, | ||
| 12299 | 0x04810410, 0x0760147b, 0x050f80ff, 0x002fa819, | ||
| 12300 | 0x064b0001, 0x02080002, 0x01081003, 0x00082001, | ||
| 12301 | 0x02083001, 0x02079001, 0x0207a001, 0x00084013, | ||
| 12302 | 0x0207f013, 0x00800432, 0x06485075, 0x05810428, | ||
| 12303 | 0x02465075, 0x06601476, 0x050f80ff, 0x073fa021, | ||
| 12304 | 0x0600003e, 0x070ff07d, 0x0450047c, 0x050f80ff, | ||
| 12305 | 0x002fa819, 0x058b041b, 0x02080001, 0x00081002, | ||
| 12306 | 0x01082003, 0x03079003, 0x0208307a, 0x0340007e, | ||
| 12307 | 0x0642007f, 0x0581042d, 0x070ff07e, 0x05a001d2, | ||
| 12308 | 0x0392842d, 0x01800439, 0x058b0428, 0x06601476, | ||
| 12309 | 0x050f80ff, 0x073fa041, 0x0600003e, 0x06602476, | ||
| 12310 | 0x050f80ff, 0x073fa009, 0x06000007, 0x0008400e, | ||
| 12311 | 0x048b0432, 0x03385000, 0x03010000, 0x06219001, | ||
| 12312 | 0x040fe07f, 0x01860439, 0x018001bb, 0x07c00000, | ||
| 12313 | 0x00683e75, 0x0581043f, 0x0448d075, 0x05810465, | ||
| 12314 | 0x01800493, 0x05a004f0, 0x038003f5, 0x0297844c, | ||
| 12315 | 0x07602418, 0x050f80ff, 0x012fa809, 0x06780001, | ||
| 12316 | 0x070000ff, 0x075a0000, 0x070ff014, 0x0569feff, | ||
| 12317 | 0x054b08ff, 0x075a0000, 0x05600418, 0x050f80ff, | ||
| 12318 | 0x012fa809, 0x040fe007, 0x03868453, 0x01204000, | ||
| 12319 | 0x00800461, 0x00700101, 0x03010000, 0x06780001, | ||
| 12320 | 0x07ff0000, 0x076c00ff, 0x0681845b, 0x00700101, | ||
| 12321 | 0x03010000, 0x05600418, 0x050f80ff, 0x012fa80a, | ||
| 12322 | 0x06780001, 0x07ff0000, 0x050040ff, 0x0279ff01, | ||
| 12323 | 0x0700ffff, 0x05002014, 0x07c00000, 0x04007076, | ||
| 12324 | 0x0448b075, 0x0481047f, 0x03200011, 0x06006076, | ||
| 12325 | 0x06a003bc, 0x007a0101, 0x07060000, 0x07303000, | ||
| 12326 | 0x07008290, 0x07600018, 0x050f80ff, 0x053fa809, | ||
| 12327 | 0x07000003, 0x0448e007, 0x07818477, 0x06006013, | ||
| 12328 | 0x0180048e, 0x02400010, 0x05810477, 0x06006010, | ||
| 12329 | 0x04603276, 0x050f80ff, 0x073fa00a, 0x07000003, | ||
| 12330 | 0x0180048e, 0x04602a76, 0x050f80ff, 0x032fa009, | ||
| 12331 | 0x060ff07a, 0x05500400, 0x070000ff, 0x04602a76, | ||
| 12332 | 0x050f80ff, 0x032fa00a, 0x07a003b7, 0x007a0101, | ||
| 12333 | 0x03010000, 0x06303008, 0x05008000, 0x0600600e, | ||
| 12334 | 0x050f8074, 0x032fa03a, 0x053079a0, 0x0700000c, | ||
| 12335 | 0x008004d3, 0x00683e75, 0x076c0aff, 0x058104b2, | ||
| 12336 | 0x04007013, 0x03200011, 0x06006076, 0x06a003bc, | ||
| 12337 | 0x007a0101, 0x03070000, 0x06602876, 0x050f80ff, | ||
| 12338 | 0x053fa809, 0x06000001, 0x03499003, 0x048104a7, | ||
| 12339 | 0x07303000, 0x07008890, 0x053079a0, 0x0700000c, | ||
| 12340 | 0x008004ab, 0x07303000, 0x04008980, 0x04307920, | ||
| 12341 | 0x0700000c, 0x074d0005, 0x06006013, 0x050f8074, | ||
| 12342 | 0x032fa03a, 0x04307920, 0x0700000c, 0x008004d3, | ||
| 12343 | 0x04602a76, 0x050f80ff, 0x032fa009, 0x060ff07a, | ||
| 12344 | 0x05500400, 0x070000ff, 0x04602a76, 0x050f80ff, | ||
| 12345 | 0x032fa00a, 0x04007076, 0x07a003b7, 0x007a0101, | ||
| 12346 | 0x03010000, 0x06303008, 0x07008800, 0x074d0005, | ||
| 12347 | 0x06600a76, 0x050f80ff, 0x073fa009, 0x07000003, | ||
| 12348 | 0x054b0406, 0x045a0404, 0x050040ff, 0x0600600e, | ||
| 12349 | 0x050f8074, 0x032fa03a, 0x0648c075, 0x058104d1, | ||
| 12350 | 0x06307d20, 0x0700000c, 0x008004d3, 0x04307920, | ||
| 12351 | 0x0700000c, 0x013e4000, 0x07000030, 0x009804d5, | ||
| 12352 | 0x070ff0f6, 0x074850ff, 0x068184d6, 0x050f2074, | ||
| 12353 | 0x060a0007, 0x040070fb, 0x046a7007, 0x050f40ff, | ||
| 12354 | 0x013e4000, 0x06000020, 0x0678007a, 0x07fff000, | ||
| 12355 | 0x068184e6, 0x0320000a, 0x022017d0, 0x008004e9, | ||
| 12356 | 0x0320000a, 0x06301b58, 0x06000001, 0x050f8072, | ||
| 12357 | 0x032fa012, 0x038003f5, 0x01208060, 0x0600902a, | ||
| 12358 | 0x04002020, 0x018004fc, 0x040080fb, 0x066ae108, | ||
| 12359 | 0x06009076, 0x04002075, 0x018004fc, 0x03201100, | ||
| 12360 | 0x078484fa, 0x06420001, 0x078184f6, 0x02800513, | ||
| 12361 | 0x020e0008, 0x07c00000, 0x050fd009, 0x040fd008, | ||
| 12362 | 0x03201100, 0x05848503, 0x06420001, 0x078184ff, | ||
| 12363 | 0x02800513, 0x007a0102, 0x04000101, 0x05600809, | ||
| 12364 | 0x050f80ff, 0x073fa00a, 0x06000001, 0x020e0008, | ||
| 12365 | 0x0684050d, 0x030e0009, 0x07c00000, 0x01011009, | ||
| 12366 | 0x052e4300, 0x07c00000, 0x052e400f, 0x01208090, | ||
| 12367 | 0x018004f5, 0x070fc0ff, 0x040f8013, 0x032fa009, | ||
| 12368 | 0x02800516, 0x15416ea9, 0xffef0b01 | ||
| 12369 | }; | ||
| 12370 | |||
| 12371 | #ifdef UNIQUE_FW_NAME | ||
| 12372 | uint32_t fw2400_length02 = 0x000014ff ; | ||
| 12373 | #else | ||
| 12374 | uint32_t risc_code_length02 = 0x000014ff ; | ||
| 12375 | #endif | ||
| 12376 | |||
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 48e460eef05a..2efca52dff50 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
| @@ -232,7 +232,7 @@ static ssize_t | |||
| 232 | qla2x00_isp_name_show(struct class_device *cdev, char *buf) | 232 | qla2x00_isp_name_show(struct class_device *cdev, char *buf) |
| 233 | { | 233 | { |
| 234 | scsi_qla_host_t *ha = to_qla_host(class_to_shost(cdev)); | 234 | scsi_qla_host_t *ha = to_qla_host(class_to_shost(cdev)); |
| 235 | return snprintf(buf, PAGE_SIZE, "%s\n", ha->brd_info->isp_name); | 235 | return snprintf(buf, PAGE_SIZE, "ISP%04X\n", ha->pdev->device); |
| 236 | } | 236 | } |
| 237 | 237 | ||
| 238 | static ssize_t | 238 | static ssize_t |
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 7b3efd531297..79d8a914f9d0 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #include <linux/completion.h> | 22 | #include <linux/completion.h> |
| 23 | #include <linux/interrupt.h> | 23 | #include <linux/interrupt.h> |
| 24 | #include <linux/workqueue.h> | 24 | #include <linux/workqueue.h> |
| 25 | #include <linux/firmware.h> | ||
| 25 | #include <asm/semaphore.h> | 26 | #include <asm/semaphore.h> |
| 26 | 27 | ||
| 27 | #include <scsi/scsi.h> | 28 | #include <scsi/scsi.h> |
| @@ -29,6 +30,7 @@ | |||
| 29 | #include <scsi/scsi_device.h> | 30 | #include <scsi/scsi_device.h> |
| 30 | #include <scsi/scsi_cmnd.h> | 31 | #include <scsi/scsi_cmnd.h> |
| 31 | 32 | ||
| 33 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) | ||
| 32 | #if defined(CONFIG_SCSI_QLA21XX) || defined(CONFIG_SCSI_QLA21XX_MODULE) | 34 | #if defined(CONFIG_SCSI_QLA21XX) || defined(CONFIG_SCSI_QLA21XX_MODULE) |
| 33 | #define IS_QLA2100(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2100) | 35 | #define IS_QLA2100(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2100) |
| 34 | #else | 36 | #else |
| @@ -79,9 +81,23 @@ | |||
| 79 | #define IS_QLA2522(ha) 0 | 81 | #define IS_QLA2522(ha) 0 |
| 80 | #endif | 82 | #endif |
| 81 | 83 | ||
| 84 | #else /* !defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) */ | ||
| 85 | |||
| 86 | #define IS_QLA2100(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2100) | ||
| 87 | #define IS_QLA2200(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2200) | ||
| 88 | #define IS_QLA2300(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2300) | ||
| 89 | #define IS_QLA2312(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2312) | ||
| 90 | #define IS_QLA2322(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2322) | ||
| 91 | #define IS_QLA6312(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP6312) | ||
| 92 | #define IS_QLA6322(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP6322) | ||
| 93 | #define IS_QLA2422(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422) | ||
| 94 | #define IS_QLA2432(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432) | ||
| 95 | #define IS_QLA2512(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2512) | ||
| 96 | #define IS_QLA2522(ha) ((ha)->pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2522) | ||
| 97 | #endif | ||
| 98 | |||
| 82 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ | 99 | #define IS_QLA23XX(ha) (IS_QLA2300(ha) || IS_QLA2312(ha) || IS_QLA2322(ha) || \ |
| 83 | IS_QLA6312(ha) || IS_QLA6322(ha)) | 100 | IS_QLA6312(ha) || IS_QLA6322(ha)) |
| 84 | |||
| 85 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) | 101 | #define IS_QLA24XX(ha) (IS_QLA2422(ha) || IS_QLA2432(ha)) |
| 86 | #define IS_QLA25XX(ha) (IS_QLA2512(ha) || IS_QLA2522(ha)) | 102 | #define IS_QLA25XX(ha) (IS_QLA2512(ha) || IS_QLA2522(ha)) |
| 87 | 103 | ||
| @@ -2124,6 +2140,12 @@ struct qla_board_info { | |||
| 2124 | struct scsi_host_template *sht; | 2140 | struct scsi_host_template *sht; |
| 2125 | }; | 2141 | }; |
| 2126 | 2142 | ||
| 2143 | struct fw_blob { | ||
| 2144 | char *name; | ||
| 2145 | uint32_t segs[4]; | ||
| 2146 | const struct firmware *fw; | ||
| 2147 | }; | ||
| 2148 | |||
| 2127 | /* Return data from MBC_GET_ID_LIST call. */ | 2149 | /* Return data from MBC_GET_ID_LIST call. */ |
| 2128 | struct gid_list_info { | 2150 | struct gid_list_info { |
| 2129 | uint8_t al_pa; | 2151 | uint8_t al_pa; |
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index fedcb0d3fc72..bec81adcf4fd 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h | |||
| @@ -33,8 +33,8 @@ extern int qla24xx_nvram_config(struct scsi_qla_host *); | |||
| 33 | extern void qla2x00_update_fw_options(struct scsi_qla_host *); | 33 | extern void qla2x00_update_fw_options(struct scsi_qla_host *); |
| 34 | extern void qla24xx_update_fw_options(scsi_qla_host_t *); | 34 | extern void qla24xx_update_fw_options(scsi_qla_host_t *); |
| 35 | extern int qla2x00_load_risc(struct scsi_qla_host *, uint32_t *); | 35 | extern int qla2x00_load_risc(struct scsi_qla_host *, uint32_t *); |
| 36 | extern int qla24xx_load_risc(scsi_qla_host_t *, uint32_t *); | ||
| 36 | extern int qla24xx_load_risc_flash(scsi_qla_host_t *, uint32_t *); | 37 | extern int qla24xx_load_risc_flash(scsi_qla_host_t *, uint32_t *); |
| 37 | extern int qla24xx_load_risc_hotplug(scsi_qla_host_t *, uint32_t *); | ||
| 38 | 38 | ||
| 39 | extern fc_port_t *qla2x00_alloc_fcport(scsi_qla_host_t *, gfp_t); | 39 | extern fc_port_t *qla2x00_alloc_fcport(scsi_qla_host_t *, gfp_t); |
| 40 | 40 | ||
| @@ -76,6 +76,8 @@ extern void qla2x00_blink_led(scsi_qla_host_t *); | |||
| 76 | 76 | ||
| 77 | extern int qla2x00_down_timeout(struct semaphore *, unsigned long); | 77 | extern int qla2x00_down_timeout(struct semaphore *, unsigned long); |
| 78 | 78 | ||
| 79 | extern struct fw_blob *qla2x00_request_firmware(scsi_qla_host_t *); | ||
| 80 | |||
| 79 | /* | 81 | /* |
| 80 | * Global Function Prototypes in qla_iocb.c source file. | 82 | * Global Function Prototypes in qla_iocb.c source file. |
| 81 | */ | 83 | */ |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index c46d2469b85f..7d973bd9022b 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
| @@ -8,7 +8,6 @@ | |||
| 8 | 8 | ||
| 9 | #include <linux/delay.h> | 9 | #include <linux/delay.h> |
| 10 | #include <linux/vmalloc.h> | 10 | #include <linux/vmalloc.h> |
| 11 | #include <linux/firmware.h> | ||
| 12 | #include <scsi/scsi_transport_fc.h> | 11 | #include <scsi/scsi_transport_fc.h> |
| 13 | 12 | ||
| 14 | #include "qla_devtbl.h" | 13 | #include "qla_devtbl.h" |
| @@ -3484,17 +3483,16 @@ qla24xx_nvram_config(scsi_qla_host_t *ha) | |||
| 3484 | return (rval); | 3483 | return (rval); |
| 3485 | } | 3484 | } |
| 3486 | 3485 | ||
| 3486 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) | ||
| 3487 | |||
| 3487 | int | 3488 | int |
| 3488 | qla2x00_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | 3489 | qla2x00_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) |
| 3489 | { | 3490 | { |
| 3490 | int rval; | 3491 | int rval, num, i; |
| 3491 | uint16_t cnt; | 3492 | uint32_t cnt; |
| 3492 | uint16_t *risc_code; | 3493 | uint16_t *risc_code; |
| 3493 | unsigned long risc_address; | 3494 | uint32_t risc_addr, risc_size; |
| 3494 | unsigned long risc_code_size; | 3495 | uint16_t *req_ring; |
| 3495 | int num; | ||
| 3496 | int i; | ||
| 3497 | uint16_t *req_ring; | ||
| 3498 | struct qla_fw_info *fw_iter; | 3496 | struct qla_fw_info *fw_iter; |
| 3499 | 3497 | ||
| 3500 | rval = QLA_SUCCESS; | 3498 | rval = QLA_SUCCESS; |
| @@ -3504,37 +3502,29 @@ qla2x00_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3504 | *srisc_addr = *ha->brd_info->fw_info->fwstart; | 3502 | *srisc_addr = *ha->brd_info->fw_info->fwstart; |
| 3505 | while (fw_iter->addressing != FW_INFO_ADDR_NOMORE) { | 3503 | while (fw_iter->addressing != FW_INFO_ADDR_NOMORE) { |
| 3506 | risc_code = fw_iter->fwcode; | 3504 | risc_code = fw_iter->fwcode; |
| 3507 | risc_code_size = *fw_iter->fwlen; | 3505 | risc_size = *fw_iter->fwlen; |
| 3508 | 3506 | if (fw_iter->addressing == FW_INFO_ADDR_NORMAL) | |
| 3509 | if (fw_iter->addressing == FW_INFO_ADDR_NORMAL) { | 3507 | risc_addr = *fw_iter->fwstart; |
| 3510 | risc_address = *fw_iter->fwstart; | 3508 | else |
| 3511 | } else { | 3509 | risc_addr = *fw_iter->lfwstart; |
| 3512 | /* Extended address */ | ||
| 3513 | risc_address = *fw_iter->lfwstart; | ||
| 3514 | } | ||
| 3515 | 3510 | ||
| 3516 | num = 0; | 3511 | num = 0; |
| 3517 | rval = 0; | 3512 | rval = 0; |
| 3518 | while (risc_code_size > 0 && !rval) { | 3513 | while (risc_size > 0 && !rval) { |
| 3519 | cnt = (uint16_t)(ha->fw_transfer_size >> 1); | 3514 | cnt = (uint16_t)(ha->fw_transfer_size >> 1); |
| 3520 | if (cnt > risc_code_size) | 3515 | if (cnt > risc_size) |
| 3521 | cnt = risc_code_size; | 3516 | cnt = risc_size; |
| 3522 | 3517 | ||
| 3523 | DEBUG7(printk("scsi(%ld): Loading risc segment@ " | 3518 | DEBUG7(printk("scsi(%ld): Loading risc segment@ " |
| 3524 | "addr %p, number of bytes 0x%x, offset 0x%lx.\n", | 3519 | "addr %p, number of bytes 0x%x, offset 0x%lx.\n", |
| 3525 | ha->host_no, risc_code, cnt, risc_address)); | 3520 | ha->host_no, risc_code, cnt, risc_addr)); |
| 3526 | 3521 | ||
| 3527 | req_ring = (uint16_t *)ha->request_ring; | 3522 | req_ring = (uint16_t *)ha->request_ring; |
| 3528 | for (i = 0; i < cnt; i++) | 3523 | for (i = 0; i < cnt; i++) |
| 3529 | req_ring[i] = cpu_to_le16(risc_code[i]); | 3524 | req_ring[i] = cpu_to_le16(risc_code[i]); |
| 3530 | 3525 | ||
| 3531 | if (fw_iter->addressing == FW_INFO_ADDR_NORMAL) { | 3526 | rval = qla2x00_load_ram(ha, ha->request_dma, risc_addr, |
| 3532 | rval = qla2x00_load_ram(ha, ha->request_dma, | 3527 | cnt); |
| 3533 | risc_address, cnt); | ||
| 3534 | } else { | ||
| 3535 | rval = qla2x00_load_ram_ext(ha, | ||
| 3536 | ha->request_dma, risc_address, cnt); | ||
| 3537 | } | ||
| 3538 | if (rval) { | 3528 | if (rval) { |
| 3539 | DEBUG(printk("scsi(%ld): [ERROR] Failed to " | 3529 | DEBUG(printk("scsi(%ld): [ERROR] Failed to " |
| 3540 | "load segment %d of firmware\n", | 3530 | "load segment %d of firmware\n", |
| @@ -3548,16 +3538,76 @@ qla2x00_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3548 | } | 3538 | } |
| 3549 | 3539 | ||
| 3550 | risc_code += cnt; | 3540 | risc_code += cnt; |
| 3551 | risc_address += cnt; | 3541 | risc_addr += cnt; |
| 3552 | risc_code_size -= cnt; | 3542 | risc_size -= cnt; |
| 3553 | num++; | 3543 | num++; |
| 3554 | } | 3544 | } |
| 3555 | 3545 | ||
| 3556 | /* Next firmware sequence */ | 3546 | /* Next firmware sequence */ |
| 3557 | fw_iter++; | 3547 | fw_iter++; |
| 3558 | } | 3548 | } |
| 3549 | return rval; | ||
| 3550 | } | ||
| 3559 | 3551 | ||
| 3560 | return (rval); | 3552 | int |
| 3553 | qla24xx_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | ||
| 3554 | { | ||
| 3555 | int rval, num, i; | ||
| 3556 | uint32_t cnt; | ||
| 3557 | uint32_t *risc_code; | ||
| 3558 | uint32_t risc_addr, risc_size; | ||
| 3559 | uint32_t *req_ring; | ||
| 3560 | struct qla_fw_info *fw_iter; | ||
| 3561 | |||
| 3562 | rval = QLA_SUCCESS; | ||
| 3563 | |||
| 3564 | /* Load firmware sequences */ | ||
| 3565 | fw_iter = ha->brd_info->fw_info; | ||
| 3566 | *srisc_addr = *((uint32_t *)fw_iter->lfwstart); | ||
| 3567 | while (fw_iter->addressing != FW_INFO_ADDR_NOMORE) { | ||
| 3568 | risc_code = (uint32_t *)fw_iter->fwcode; | ||
| 3569 | risc_size = *((uint32_t *)fw_iter->fwlen); | ||
| 3570 | risc_addr = *((uint32_t *)fw_iter->lfwstart); | ||
| 3571 | |||
| 3572 | num = 0; | ||
| 3573 | rval = 0; | ||
| 3574 | while (risc_size > 0 && !rval) { | ||
| 3575 | cnt = (uint32_t)(ha->fw_transfer_size >> 2); | ||
| 3576 | if (cnt > risc_size) | ||
| 3577 | cnt = risc_size; | ||
| 3578 | |||
| 3579 | DEBUG7(printk("scsi(%ld): Loading risc segment@ " | ||
| 3580 | "addr %p, number of bytes 0x%x, offset 0x%lx.\n", | ||
| 3581 | ha->host_no, risc_code, cnt, risc_addr)); | ||
| 3582 | |||
| 3583 | req_ring = (uint32_t *)ha->request_ring; | ||
| 3584 | for (i = 0; i < cnt; i++) | ||
| 3585 | req_ring[i] = cpu_to_le32(risc_code[i]); | ||
| 3586 | |||
| 3587 | rval = qla2x00_load_ram(ha, ha->request_dma, risc_addr, | ||
| 3588 | cnt); | ||
| 3589 | if (rval) { | ||
| 3590 | DEBUG(printk("scsi(%ld): [ERROR] Failed to " | ||
| 3591 | "load segment %d of firmware\n", | ||
| 3592 | ha->host_no, num)); | ||
| 3593 | qla_printk(KERN_WARNING, ha, | ||
| 3594 | "[ERROR] Failed to load segment %d of " | ||
| 3595 | "firmware\n", num); | ||
| 3596 | |||
| 3597 | qla2x00_dump_regs(ha); | ||
| 3598 | break; | ||
| 3599 | } | ||
| 3600 | |||
| 3601 | risc_code += cnt; | ||
| 3602 | risc_addr += cnt; | ||
| 3603 | risc_size -= cnt; | ||
| 3604 | num++; | ||
| 3605 | } | ||
| 3606 | |||
| 3607 | /* Next firmware sequence */ | ||
| 3608 | fw_iter++; | ||
| 3609 | } | ||
| 3610 | return rval; | ||
| 3561 | } | 3611 | } |
| 3562 | 3612 | ||
| 3563 | int | 3613 | int |
| @@ -3642,8 +3692,108 @@ qla24xx_load_risc_flash(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3642 | return rval; | 3692 | return rval; |
| 3643 | } | 3693 | } |
| 3644 | 3694 | ||
| 3695 | #else /* !defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) */ | ||
| 3696 | |||
| 3645 | int | 3697 | int |
| 3646 | qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | 3698 | qla2x00_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) |
| 3699 | { | ||
| 3700 | int rval; | ||
| 3701 | int i, fragment; | ||
| 3702 | uint16_t *wcode, *fwcode; | ||
| 3703 | uint32_t risc_addr, risc_size, fwclen, wlen, *seg; | ||
| 3704 | struct fw_blob *blob; | ||
| 3705 | |||
| 3706 | /* Load firmware blob. */ | ||
| 3707 | blob = qla2x00_request_firmware(ha); | ||
| 3708 | if (!blob) { | ||
| 3709 | qla_printk(KERN_ERR, ha, "Firmware image unavailable.\n"); | ||
| 3710 | return QLA_FUNCTION_FAILED; | ||
| 3711 | } | ||
| 3712 | |||
| 3713 | rval = QLA_SUCCESS; | ||
| 3714 | |||
| 3715 | wcode = (uint16_t *)ha->request_ring; | ||
| 3716 | *srisc_addr = 0; | ||
| 3717 | fwcode = (uint16_t *)blob->fw->data; | ||
| 3718 | fwclen = 0; | ||
| 3719 | |||
| 3720 | /* Validate firmware image by checking version. */ | ||
| 3721 | if (blob->fw->size < 8 * sizeof(uint16_t)) { | ||
| 3722 | qla_printk(KERN_WARNING, ha, | ||
| 3723 | "Unable to verify integrity of firmware image (%Zd)!\n", | ||
| 3724 | blob->fw->size); | ||
| 3725 | goto fail_fw_integrity; | ||
| 3726 | } | ||
| 3727 | for (i = 0; i < 4; i++) | ||
| 3728 | wcode[i] = be16_to_cpu(fwcode[i + 4]); | ||
| 3729 | if ((wcode[0] == 0xffff && wcode[1] == 0xffff && wcode[2] == 0xffff && | ||
| 3730 | wcode[3] == 0xffff) || (wcode[0] == 0 && wcode[1] == 0 && | ||
| 3731 | wcode[2] == 0 && wcode[3] == 0)) { | ||
| 3732 | qla_printk(KERN_WARNING, ha, | ||
| 3733 | "Unable to verify integrity of firmware image!\n"); | ||
| 3734 | qla_printk(KERN_WARNING, ha, | ||
| 3735 | "Firmware data: %04x %04x %04x %04x!\n", wcode[0], | ||
| 3736 | wcode[1], wcode[2], wcode[3]); | ||
| 3737 | goto fail_fw_integrity; | ||
| 3738 | } | ||
| 3739 | |||
| 3740 | seg = blob->segs; | ||
| 3741 | while (*seg && rval == QLA_SUCCESS) { | ||
| 3742 | risc_addr = *seg; | ||
| 3743 | *srisc_addr = *srisc_addr == 0 ? *seg : *srisc_addr; | ||
| 3744 | risc_size = be16_to_cpu(fwcode[3]); | ||
| 3745 | |||
| 3746 | /* Validate firmware image size. */ | ||
| 3747 | fwclen += risc_size * sizeof(uint16_t); | ||
| 3748 | if (blob->fw->size < fwclen) { | ||
| 3749 | qla_printk(KERN_WARNING, ha, | ||
| 3750 | "Unable to verify integrity of firmware image " | ||
| 3751 | "(%Zd)!\n", blob->fw->size); | ||
| 3752 | goto fail_fw_integrity; | ||
| 3753 | } | ||
| 3754 | |||
| 3755 | fragment = 0; | ||
| 3756 | while (risc_size > 0 && rval == QLA_SUCCESS) { | ||
| 3757 | wlen = (uint16_t)(ha->fw_transfer_size >> 1); | ||
| 3758 | if (wlen > risc_size) | ||
| 3759 | wlen = risc_size; | ||
| 3760 | |||
| 3761 | DEBUG7(printk("scsi(%ld): Loading risc segment@ risc " | ||
| 3762 | "addr %x, number of words 0x%x.\n", ha->host_no, | ||
| 3763 | risc_addr, wlen)); | ||
| 3764 | |||
| 3765 | for (i = 0; i < wlen; i++) | ||
| 3766 | wcode[i] = swab16(fwcode[i]); | ||
| 3767 | |||
| 3768 | rval = qla2x00_load_ram(ha, ha->request_dma, risc_addr, | ||
| 3769 | wlen); | ||
| 3770 | if (rval) { | ||
| 3771 | DEBUG(printk("scsi(%ld):[ERROR] Failed to load " | ||
| 3772 | "segment %d of firmware\n", ha->host_no, | ||
| 3773 | fragment)); | ||
| 3774 | qla_printk(KERN_WARNING, ha, | ||
| 3775 | "[ERROR] Failed to load segment %d of " | ||
| 3776 | "firmware\n", fragment); | ||
| 3777 | break; | ||
| 3778 | } | ||
| 3779 | |||
| 3780 | fwcode += wlen; | ||
| 3781 | risc_addr += wlen; | ||
| 3782 | risc_size -= wlen; | ||
| 3783 | fragment++; | ||
| 3784 | } | ||
| 3785 | |||
| 3786 | /* Next segment. */ | ||
| 3787 | seg++; | ||
| 3788 | } | ||
| 3789 | return rval; | ||
| 3790 | |||
| 3791 | fail_fw_integrity: | ||
| 3792 | return QLA_FUNCTION_FAILED; | ||
| 3793 | } | ||
| 3794 | |||
| 3795 | int | ||
| 3796 | qla24xx_load_risc(scsi_qla_host_t *ha, uint32_t *srisc_addr) | ||
| 3647 | { | 3797 | { |
| 3648 | int rval; | 3798 | int rval; |
| 3649 | int segments, fragment; | 3799 | int segments, fragment; |
| @@ -3651,14 +3801,13 @@ qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3651 | uint32_t risc_addr; | 3801 | uint32_t risc_addr; |
| 3652 | uint32_t risc_size; | 3802 | uint32_t risc_size; |
| 3653 | uint32_t i; | 3803 | uint32_t i; |
| 3654 | const struct firmware *fw_entry; | 3804 | struct fw_blob *blob; |
| 3655 | uint32_t *fwcode, fwclen; | 3805 | uint32_t *fwcode, fwclen; |
| 3656 | 3806 | ||
| 3657 | if (request_firmware(&fw_entry, ha->brd_info->fw_fname, | 3807 | /* Load firmware blob. */ |
| 3658 | &ha->pdev->dev)) { | 3808 | blob = qla2x00_request_firmware(ha); |
| 3659 | qla_printk(KERN_ERR, ha, | 3809 | if (!blob) { |
| 3660 | "Firmware image file not available: '%s'\n", | 3810 | qla_printk(KERN_ERR, ha, "Firmware image unavailable.\n"); |
| 3661 | ha->brd_info->fw_fname); | ||
| 3662 | return QLA_FUNCTION_FAILED; | 3811 | return QLA_FUNCTION_FAILED; |
| 3663 | } | 3812 | } |
| 3664 | 3813 | ||
| @@ -3667,14 +3816,14 @@ qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3667 | segments = FA_RISC_CODE_SEGMENTS; | 3816 | segments = FA_RISC_CODE_SEGMENTS; |
| 3668 | dcode = (uint32_t *)ha->request_ring; | 3817 | dcode = (uint32_t *)ha->request_ring; |
| 3669 | *srisc_addr = 0; | 3818 | *srisc_addr = 0; |
| 3670 | fwcode = (uint32_t *)fw_entry->data; | 3819 | fwcode = (uint32_t *)blob->fw->data; |
| 3671 | fwclen = 0; | 3820 | fwclen = 0; |
| 3672 | 3821 | ||
| 3673 | /* Validate firmware image by checking version. */ | 3822 | /* Validate firmware image by checking version. */ |
| 3674 | if (fw_entry->size < 8 * sizeof(uint32_t)) { | 3823 | if (blob->fw->size < 8 * sizeof(uint32_t)) { |
| 3675 | qla_printk(KERN_WARNING, ha, | 3824 | qla_printk(KERN_WARNING, ha, |
| 3676 | "Unable to verify integrity of flash firmware image " | 3825 | "Unable to verify integrity of firmware image (%Zd)!\n", |
| 3677 | "(%Zd)!\n", fw_entry->size); | 3826 | blob->fw->size); |
| 3678 | goto fail_fw_integrity; | 3827 | goto fail_fw_integrity; |
| 3679 | } | 3828 | } |
| 3680 | for (i = 0; i < 4; i++) | 3829 | for (i = 0; i < 4; i++) |
| @@ -3684,7 +3833,7 @@ qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3684 | (dcode[0] == 0 && dcode[1] == 0 && dcode[2] == 0 && | 3833 | (dcode[0] == 0 && dcode[1] == 0 && dcode[2] == 0 && |
| 3685 | dcode[3] == 0)) { | 3834 | dcode[3] == 0)) { |
| 3686 | qla_printk(KERN_WARNING, ha, | 3835 | qla_printk(KERN_WARNING, ha, |
| 3687 | "Unable to verify integrity of flash firmware image!\n"); | 3836 | "Unable to verify integrity of firmware image!\n"); |
| 3688 | qla_printk(KERN_WARNING, ha, | 3837 | qla_printk(KERN_WARNING, ha, |
| 3689 | "Firmware data: %08x %08x %08x %08x!\n", dcode[0], | 3838 | "Firmware data: %08x %08x %08x %08x!\n", dcode[0], |
| 3690 | dcode[1], dcode[2], dcode[3]); | 3839 | dcode[1], dcode[2], dcode[3]); |
| @@ -3698,10 +3847,11 @@ qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3698 | 3847 | ||
| 3699 | /* Validate firmware image size. */ | 3848 | /* Validate firmware image size. */ |
| 3700 | fwclen += risc_size * sizeof(uint32_t); | 3849 | fwclen += risc_size * sizeof(uint32_t); |
| 3701 | if (fw_entry->size < fwclen) { | 3850 | if (blob->fw->size < fwclen) { |
| 3702 | qla_printk(KERN_WARNING, ha, | 3851 | qla_printk(KERN_WARNING, ha, |
| 3703 | "Unable to verify integrity of flash firmware " | 3852 | "Unable to verify integrity of firmware image " |
| 3704 | "image (%Zd)!\n", fw_entry->size); | 3853 | "(%Zd)!\n", blob->fw->size); |
| 3854 | |||
| 3705 | goto fail_fw_integrity; | 3855 | goto fail_fw_integrity; |
| 3706 | } | 3856 | } |
| 3707 | 3857 | ||
| @@ -3739,13 +3889,9 @@ qla24xx_load_risc_hotplug(scsi_qla_host_t *ha, uint32_t *srisc_addr) | |||
| 3739 | /* Next segment. */ | 3889 | /* Next segment. */ |
| 3740 | segments--; | 3890 | segments--; |
| 3741 | } | 3891 | } |
| 3742 | |||
| 3743 | release_firmware(fw_entry); | ||
| 3744 | return rval; | 3892 | return rval; |
| 3745 | 3893 | ||
| 3746 | fail_fw_integrity: | 3894 | fail_fw_integrity: |
| 3747 | |||
| 3748 | release_firmware(fw_entry); | ||
| 3749 | return QLA_FUNCTION_FAILED; | 3895 | return QLA_FUNCTION_FAILED; |
| 3750 | |||
| 3751 | } | 3896 | } |
| 3897 | #endif | ||
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index c58c9d97b041..24304300d7b5 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
| @@ -54,10 +54,12 @@ module_param(ql2xloginretrycount, int, S_IRUGO|S_IRUSR); | |||
| 54 | MODULE_PARM_DESC(ql2xloginretrycount, | 54 | MODULE_PARM_DESC(ql2xloginretrycount, |
| 55 | "Specify an alternate value for the NVRAM login retry count."); | 55 | "Specify an alternate value for the NVRAM login retry count."); |
| 56 | 56 | ||
| 57 | int ql2xfwloadbin=1; | 57 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) |
| 58 | module_param(ql2xfwloadbin, int, S_IRUGO|S_IRUSR); | 58 | int ql2xfwloadflash; |
| 59 | MODULE_PARM_DESC(ql2xfwloadbin, | 59 | module_param(ql2xfwloadflash, int, S_IRUGO|S_IRUSR); |
| 60 | "Load ISP2xxx firmware image via hotplug."); | 60 | MODULE_PARM_DESC(ql2xfwloadflash, |
| 61 | "Load ISP24xx firmware image from FLASH (onboard memory)."); | ||
| 62 | #endif | ||
| 61 | 63 | ||
| 62 | static void qla2x00_free_device(scsi_qla_host_t *); | 64 | static void qla2x00_free_device(scsi_qla_host_t *); |
| 63 | 65 | ||
| @@ -1261,12 +1263,16 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) | |||
| 1261 | char pci_info[20]; | 1263 | char pci_info[20]; |
| 1262 | char fw_str[30]; | 1264 | char fw_str[30]; |
| 1263 | fc_port_t *fcport; | 1265 | fc_port_t *fcport; |
| 1266 | struct scsi_host_template *sht; | ||
| 1264 | 1267 | ||
| 1265 | if (pci_enable_device(pdev)) | 1268 | if (pci_enable_device(pdev)) |
| 1266 | goto probe_out; | 1269 | goto probe_out; |
| 1267 | 1270 | ||
| 1268 | host = scsi_host_alloc(brd_info->sht ? brd_info->sht: | 1271 | sht = &qla2x00_driver_template; |
| 1269 | &qla2x00_driver_template, sizeof(scsi_qla_host_t)); | 1272 | if (pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2422 || |
| 1273 | pdev->device == PCI_DEVICE_ID_QLOGIC_ISP2432) | ||
| 1274 | sht = &qla24xx_driver_template; | ||
| 1275 | host = scsi_host_alloc(sht, sizeof(scsi_qla_host_t)); | ||
| 1270 | if (host == NULL) { | 1276 | if (host == NULL) { |
| 1271 | printk(KERN_WARNING | 1277 | printk(KERN_WARNING |
| 1272 | "qla2xxx: Couldn't allocate host from scsi layer!\n"); | 1278 | "qla2xxx: Couldn't allocate host from scsi layer!\n"); |
| @@ -1291,8 +1297,8 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) | |||
| 1291 | goto probe_failed; | 1297 | goto probe_failed; |
| 1292 | 1298 | ||
| 1293 | qla_printk(KERN_INFO, ha, | 1299 | qla_printk(KERN_INFO, ha, |
| 1294 | "Found an %s, irq %d, iobase 0x%p\n", ha->brd_info->isp_name, | 1300 | "Found an ISP%04X, irq %d, iobase 0x%p\n", pdev->device, pdev->irq, |
| 1295 | pdev->irq, ha->iobase); | 1301 | ha->iobase); |
| 1296 | 1302 | ||
| 1297 | spin_lock_init(&ha->hardware_lock); | 1303 | spin_lock_init(&ha->hardware_lock); |
| 1298 | 1304 | ||
| @@ -1368,9 +1374,11 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) | |||
| 1368 | ha->isp_ops.reset_adapter = qla24xx_reset_adapter; | 1374 | ha->isp_ops.reset_adapter = qla24xx_reset_adapter; |
| 1369 | ha->isp_ops.nvram_config = qla24xx_nvram_config; | 1375 | ha->isp_ops.nvram_config = qla24xx_nvram_config; |
| 1370 | ha->isp_ops.update_fw_options = qla24xx_update_fw_options; | 1376 | ha->isp_ops.update_fw_options = qla24xx_update_fw_options; |
| 1371 | ha->isp_ops.load_risc = qla24xx_load_risc_flash; | 1377 | ha->isp_ops.load_risc = qla24xx_load_risc; |
| 1372 | if (ql2xfwloadbin) | 1378 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) |
| 1373 | ha->isp_ops.load_risc = qla24xx_load_risc_hotplug; | 1379 | if (ql2xfwloadflash) |
| 1380 | ha->isp_ops.load_risc = qla24xx_load_risc_flash; | ||
| 1381 | #endif | ||
| 1374 | ha->isp_ops.pci_info_str = qla24xx_pci_info_str; | 1382 | ha->isp_ops.pci_info_str = qla24xx_pci_info_str; |
| 1375 | ha->isp_ops.fw_version_str = qla24xx_fw_version_str; | 1383 | ha->isp_ops.fw_version_str = qla24xx_fw_version_str; |
| 1376 | ha->isp_ops.intr_handler = qla24xx_intr_handler; | 1384 | ha->isp_ops.intr_handler = qla24xx_intr_handler; |
| @@ -1531,11 +1539,12 @@ int qla2x00_probe_one(struct pci_dev *pdev, struct qla_board_info *brd_info) | |||
| 1531 | qla_printk(KERN_INFO, ha, "\n" | 1539 | qla_printk(KERN_INFO, ha, "\n" |
| 1532 | " QLogic Fibre Channel HBA Driver: %s\n" | 1540 | " QLogic Fibre Channel HBA Driver: %s\n" |
| 1533 | " QLogic %s - %s\n" | 1541 | " QLogic %s - %s\n" |
| 1534 | " %s: %s @ %s hdma%c, host#=%ld, fw=%s\n", qla2x00_version_str, | 1542 | " ISP%04X: %s @ %s hdma%c, host#=%ld, fw=%s\n", |
| 1535 | ha->model_number, ha->model_desc ? ha->model_desc: "", | 1543 | qla2x00_version_str, ha->model_number, |
| 1536 | ha->brd_info->isp_name, ha->isp_ops.pci_info_str(ha, pci_info), | 1544 | ha->model_desc ? ha->model_desc: "", pdev->device, |
| 1537 | pci_name(pdev), ha->flags.enable_64bit_addressing ? '+': '-', | 1545 | ha->isp_ops.pci_info_str(ha, pci_info), pci_name(pdev), |
| 1538 | ha->host_no, ha->isp_ops.fw_version_str(ha, fw_str)); | 1546 | ha->flags.enable_64bit_addressing ? '+': '-', ha->host_no, |
| 1547 | ha->isp_ops.fw_version_str(ha, fw_str)); | ||
| 1539 | 1548 | ||
| 1540 | /* Go with fc_rport registration. */ | 1549 | /* Go with fc_rport registration. */ |
| 1541 | list_for_each_entry(fcport, &ha->fcports, list) | 1550 | list_for_each_entry(fcport, &ha->fcports, list) |
| @@ -2483,45 +2492,115 @@ qla2x00_down_timeout(struct semaphore *sema, unsigned long timeout) | |||
| 2483 | return -ETIMEDOUT; | 2492 | return -ETIMEDOUT; |
| 2484 | } | 2493 | } |
| 2485 | 2494 | ||
| 2486 | static struct qla_board_info qla_board_tbl[] = { | 2495 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) |
| 2487 | { | 2496 | |
| 2488 | .drv_name = "qla2400", | 2497 | #define qla2x00_release_firmware() do { } while (0) |
| 2489 | .isp_name = "ISP2422", | 2498 | #define qla2x00_pci_module_init() (0) |
| 2490 | .fw_fname = "ql2400_fw.bin", | 2499 | #define qla2x00_pci_module_exit() do { } while (0) |
| 2491 | .sht = &qla24xx_driver_template, | 2500 | |
| 2492 | }, | 2501 | #else /* !defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) */ |
| 2493 | { | 2502 | |
| 2494 | .drv_name = "qla2400", | 2503 | /* Firmware interface routines. */ |
| 2495 | .isp_name = "ISP2432", | 2504 | |
| 2496 | .fw_fname = "ql2400_fw.bin", | 2505 | #define FW_BLOBS 6 |
| 2497 | .sht = &qla24xx_driver_template, | 2506 | #define FW_ISP21XX 0 |
| 2498 | }, | 2507 | #define FW_ISP22XX 1 |
| 2508 | #define FW_ISP2300 2 | ||
| 2509 | #define FW_ISP2322 3 | ||
| 2510 | #define FW_ISP63XX 4 | ||
| 2511 | #define FW_ISP24XX 5 | ||
| 2512 | |||
| 2513 | static DECLARE_MUTEX(qla_fw_lock); | ||
| 2514 | |||
| 2515 | static struct fw_blob qla_fw_blobs[FW_BLOBS] = { | ||
| 2516 | { .name = "ql2100_fw.bin", .segs = { 0x1000, 0 }, }, | ||
| 2517 | { .name = "ql2200_fw.bin", .segs = { 0x1000, 0 }, }, | ||
| 2518 | { .name = "ql2300_fw.bin", .segs = { 0x800, 0 }, }, | ||
| 2519 | { .name = "ql2322_fw.bin", .segs = { 0x800, 0x1c000, 0x1e000, 0 }, }, | ||
| 2520 | { .name = "ql6312_fw.bin", .segs = { 0x800, 0 }, }, | ||
| 2521 | { .name = "ql2400_fw.bin", }, | ||
| 2522 | }; | ||
| 2523 | |||
| 2524 | struct fw_blob * | ||
| 2525 | qla2x00_request_firmware(scsi_qla_host_t *ha) | ||
| 2526 | { | ||
| 2527 | struct fw_blob *blob; | ||
| 2528 | |||
| 2529 | blob = NULL; | ||
| 2530 | if (IS_QLA2100(ha)) { | ||
| 2531 | blob = &qla_fw_blobs[FW_ISP21XX]; | ||
| 2532 | } else if (IS_QLA2200(ha)) { | ||
| 2533 | blob = &qla_fw_blobs[FW_ISP22XX]; | ||
| 2534 | } else if (IS_QLA2300(ha) || IS_QLA2312(ha)) { | ||
| 2535 | blob = &qla_fw_blobs[FW_ISP2300]; | ||
| 2536 | } else if (IS_QLA2322(ha)) { | ||
| 2537 | blob = &qla_fw_blobs[FW_ISP2322]; | ||
| 2538 | } else if (IS_QLA6312(ha) || IS_QLA6322(ha)) { | ||
| 2539 | blob = &qla_fw_blobs[FW_ISP63XX]; | ||
| 2540 | } else if (IS_QLA24XX(ha)) { | ||
| 2541 | blob = &qla_fw_blobs[FW_ISP24XX]; | ||
| 2542 | } | ||
| 2543 | |||
| 2544 | down(&qla_fw_lock); | ||
| 2545 | if (blob->fw) | ||
| 2546 | goto out; | ||
| 2547 | |||
| 2548 | if (request_firmware(&blob->fw, blob->name, &ha->pdev->dev)) { | ||
| 2549 | DEBUG2(printk("scsi(%ld): Failed to load firmware image " | ||
| 2550 | "(%s).\n", ha->host_no, blob->name)); | ||
| 2551 | blob->fw = NULL; | ||
| 2552 | blob = NULL; | ||
| 2553 | goto out; | ||
| 2554 | } | ||
| 2555 | |||
| 2556 | out: | ||
| 2557 | up(&qla_fw_lock); | ||
| 2558 | return blob; | ||
| 2559 | } | ||
| 2560 | |||
| 2561 | static void | ||
| 2562 | qla2x00_release_firmware(void) | ||
| 2563 | { | ||
| 2564 | int idx; | ||
| 2565 | |||
| 2566 | down(&qla_fw_lock); | ||
| 2567 | for (idx = 0; idx < FW_BLOBS; idx++) | ||
| 2568 | if (qla_fw_blobs[idx].fw) | ||
| 2569 | release_firmware(qla_fw_blobs[idx].fw); | ||
| 2570 | up(&qla_fw_lock); | ||
| 2571 | } | ||
| 2572 | |||
| 2573 | static struct qla_board_info qla_board_tbl = { | ||
| 2574 | .drv_name = "qla2xxx", | ||
| 2499 | }; | 2575 | }; |
| 2500 | 2576 | ||
| 2501 | static struct pci_device_id qla2xxx_pci_tbl[] = { | 2577 | static struct pci_device_id qla2xxx_pci_tbl[] = { |
| 2502 | { | 2578 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2100, |
| 2503 | .vendor = PCI_VENDOR_ID_QLOGIC, | 2579 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2504 | .device = PCI_DEVICE_ID_QLOGIC_ISP2422, | 2580 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2200, |
| 2505 | .subvendor = PCI_ANY_ID, | 2581 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2506 | .subdevice = PCI_ANY_ID, | 2582 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2300, |
| 2507 | .driver_data = (unsigned long)&qla_board_tbl[0], | 2583 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2508 | }, | 2584 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2312, |
| 2509 | { | 2585 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2510 | .vendor = PCI_VENDOR_ID_QLOGIC, | 2586 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2322, |
| 2511 | .device = PCI_DEVICE_ID_QLOGIC_ISP2432, | 2587 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2512 | .subvendor = PCI_ANY_ID, | 2588 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6312, |
| 2513 | .subdevice = PCI_ANY_ID, | 2589 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2514 | .driver_data = (unsigned long)&qla_board_tbl[1], | 2590 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP6322, |
| 2515 | }, | 2591 | PCI_ANY_ID, PCI_ANY_ID, }, |
| 2516 | {0, 0}, | 2592 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2422, |
| 2593 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 2594 | { PCI_VENDOR_ID_QLOGIC, PCI_DEVICE_ID_QLOGIC_ISP2432, | ||
| 2595 | PCI_ANY_ID, PCI_ANY_ID, }, | ||
| 2596 | { 0 }, | ||
| 2517 | }; | 2597 | }; |
| 2518 | MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl); | 2598 | MODULE_DEVICE_TABLE(pci, qla2xxx_pci_tbl); |
| 2519 | 2599 | ||
| 2520 | static int __devinit | 2600 | static int __devinit |
| 2521 | qla2xxx_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | 2601 | qla2xxx_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) |
| 2522 | { | 2602 | { |
| 2523 | return qla2x00_probe_one(pdev, | 2603 | return qla2x00_probe_one(pdev, &qla_board_tbl); |
| 2524 | (struct qla_board_info *)id->driver_data); | ||
| 2525 | } | 2604 | } |
| 2526 | 2605 | ||
| 2527 | static void __devexit | 2606 | static void __devexit |
| @@ -2532,11 +2611,28 @@ qla2xxx_remove_one(struct pci_dev *pdev) | |||
| 2532 | 2611 | ||
| 2533 | static struct pci_driver qla2xxx_pci_driver = { | 2612 | static struct pci_driver qla2xxx_pci_driver = { |
| 2534 | .name = "qla2xxx", | 2613 | .name = "qla2xxx", |
| 2614 | .driver = { | ||
| 2615 | .owner = THIS_MODULE, | ||
| 2616 | }, | ||
| 2535 | .id_table = qla2xxx_pci_tbl, | 2617 | .id_table = qla2xxx_pci_tbl, |
| 2536 | .probe = qla2xxx_probe_one, | 2618 | .probe = qla2xxx_probe_one, |
| 2537 | .remove = __devexit_p(qla2xxx_remove_one), | 2619 | .remove = __devexit_p(qla2xxx_remove_one), |
| 2538 | }; | 2620 | }; |
| 2539 | 2621 | ||
| 2622 | static inline int | ||
| 2623 | qla2x00_pci_module_init(void) | ||
| 2624 | { | ||
| 2625 | return pci_module_init(&qla2xxx_pci_driver); | ||
| 2626 | } | ||
| 2627 | |||
| 2628 | static inline void | ||
| 2629 | qla2x00_pci_module_exit(void) | ||
| 2630 | { | ||
| 2631 | pci_unregister_driver(&qla2xxx_pci_driver); | ||
| 2632 | } | ||
| 2633 | |||
| 2634 | #endif | ||
| 2635 | |||
| 2540 | /** | 2636 | /** |
| 2541 | * qla2x00_module_init - Module initialization. | 2637 | * qla2x00_module_init - Module initialization. |
| 2542 | **/ | 2638 | **/ |
| @@ -2556,6 +2652,9 @@ qla2x00_module_init(void) | |||
| 2556 | 2652 | ||
| 2557 | /* Derive version string. */ | 2653 | /* Derive version string. */ |
| 2558 | strcpy(qla2x00_version_str, QLA2XXX_VERSION); | 2654 | strcpy(qla2x00_version_str, QLA2XXX_VERSION); |
| 2655 | #if defined(CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE) | ||
| 2656 | strcat(qla2x00_version_str, "-fw"); | ||
| 2657 | #endif | ||
| 2559 | #if DEBUG_QLA2100 | 2658 | #if DEBUG_QLA2100 |
| 2560 | strcat(qla2x00_version_str, "-debug"); | 2659 | strcat(qla2x00_version_str, "-debug"); |
| 2561 | #endif | 2660 | #endif |
| @@ -2565,7 +2664,7 @@ qla2x00_module_init(void) | |||
| 2565 | return -ENODEV; | 2664 | return -ENODEV; |
| 2566 | 2665 | ||
| 2567 | printk(KERN_INFO "QLogic Fibre Channel HBA Driver\n"); | 2666 | printk(KERN_INFO "QLogic Fibre Channel HBA Driver\n"); |
| 2568 | ret = pci_module_init(&qla2xxx_pci_driver); | 2667 | ret = qla2x00_pci_module_init(); |
| 2569 | if (ret) { | 2668 | if (ret) { |
| 2570 | kmem_cache_destroy(srb_cachep); | 2669 | kmem_cache_destroy(srb_cachep); |
| 2571 | fc_release_transport(qla2xxx_transport_template); | 2670 | fc_release_transport(qla2xxx_transport_template); |
| @@ -2579,7 +2678,8 @@ qla2x00_module_init(void) | |||
| 2579 | static void __exit | 2678 | static void __exit |
| 2580 | qla2x00_module_exit(void) | 2679 | qla2x00_module_exit(void) |
| 2581 | { | 2680 | { |
| 2582 | pci_unregister_driver(&qla2xxx_pci_driver); | 2681 | qla2x00_pci_module_exit(); |
| 2682 | qla2x00_release_firmware(); | ||
| 2583 | kmem_cache_destroy(srb_cachep); | 2683 | kmem_cache_destroy(srb_cachep); |
| 2584 | fc_release_transport(qla2xxx_transport_template); | 2684 | fc_release_transport(qla2xxx_transport_template); |
| 2585 | } | 2685 | } |
diff --git a/drivers/scsi/raid_class.c b/drivers/scsi/raid_class.c index 5b1c12041a4f..5ec5f44602ac 100644 --- a/drivers/scsi/raid_class.c +++ b/drivers/scsi/raid_class.c | |||
| @@ -115,7 +115,7 @@ static DECLARE_TRANSPORT_CLASS(raid_class, | |||
| 115 | raid_remove, | 115 | raid_remove, |
| 116 | NULL); | 116 | NULL); |
| 117 | 117 | ||
| 118 | static struct { | 118 | static const struct { |
| 119 | enum raid_state value; | 119 | enum raid_state value; |
| 120 | char *name; | 120 | char *name; |
| 121 | } raid_states[] = { | 121 | } raid_states[] = { |
diff --git a/drivers/scsi/scsi_devinfo.c b/drivers/scsi/scsi_devinfo.c index e69477d1889b..f01ec0a7c506 100644 --- a/drivers/scsi/scsi_devinfo.c +++ b/drivers/scsi/scsi_devinfo.c | |||
| @@ -354,8 +354,9 @@ static int scsi_dev_info_list_add_str(char *dev_list) | |||
| 354 | * @model, if found, return the matching flags value, else return | 354 | * @model, if found, return the matching flags value, else return |
| 355 | * the host or global default settings. | 355 | * the host or global default settings. |
| 356 | **/ | 356 | **/ |
| 357 | int scsi_get_device_flags(struct scsi_device *sdev, unsigned char *vendor, | 357 | int scsi_get_device_flags(struct scsi_device *sdev, |
| 358 | unsigned char *model) | 358 | const unsigned char *vendor, |
| 359 | const unsigned char *model) | ||
| 359 | { | 360 | { |
| 360 | struct scsi_dev_info_list *devinfo; | 361 | struct scsi_dev_info_list *devinfo; |
| 361 | unsigned int bflags; | 362 | unsigned int bflags; |
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index c0ae9e965f6f..a2333d2c7af0 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c | |||
| @@ -1320,23 +1320,6 @@ int scsi_decide_disposition(struct scsi_cmnd *scmd) | |||
| 1320 | } | 1320 | } |
| 1321 | 1321 | ||
| 1322 | /** | 1322 | /** |
| 1323 | * scsi_eh_lock_done - done function for eh door lock request | ||
| 1324 | * @scmd: SCSI command block for the door lock request | ||
| 1325 | * | ||
| 1326 | * Notes: | ||
| 1327 | * We completed the asynchronous door lock request, and it has either | ||
| 1328 | * locked the door or failed. We must free the command structures | ||
| 1329 | * associated with this request. | ||
| 1330 | **/ | ||
| 1331 | static void scsi_eh_lock_done(struct scsi_cmnd *scmd) | ||
| 1332 | { | ||
| 1333 | struct scsi_request *sreq = scmd->sc_request; | ||
| 1334 | |||
| 1335 | scsi_release_request(sreq); | ||
| 1336 | } | ||
| 1337 | |||
| 1338 | |||
| 1339 | /** | ||
| 1340 | * scsi_eh_lock_door - Prevent medium removal for the specified device | 1323 | * scsi_eh_lock_door - Prevent medium removal for the specified device |
| 1341 | * @sdev: SCSI device to prevent medium removal | 1324 | * @sdev: SCSI device to prevent medium removal |
| 1342 | * | 1325 | * |
| @@ -1358,29 +1341,17 @@ static void scsi_eh_lock_done(struct scsi_cmnd *scmd) | |||
| 1358 | **/ | 1341 | **/ |
| 1359 | static void scsi_eh_lock_door(struct scsi_device *sdev) | 1342 | static void scsi_eh_lock_door(struct scsi_device *sdev) |
| 1360 | { | 1343 | { |
| 1361 | struct scsi_request *sreq = scsi_allocate_request(sdev, GFP_KERNEL); | 1344 | unsigned char cmnd[MAX_COMMAND_SIZE]; |
| 1362 | 1345 | ||
| 1363 | if (unlikely(!sreq)) { | 1346 | cmnd[0] = ALLOW_MEDIUM_REMOVAL; |
| 1364 | printk(KERN_ERR "%s: request allocate failed," | 1347 | cmnd[1] = 0; |
| 1365 | "prevent media removal cmd not sent\n", __FUNCTION__); | 1348 | cmnd[2] = 0; |
| 1366 | return; | 1349 | cmnd[3] = 0; |
| 1367 | } | 1350 | cmnd[4] = SCSI_REMOVAL_PREVENT; |
| 1351 | cmnd[5] = 0; | ||
| 1368 | 1352 | ||
| 1369 | sreq->sr_cmnd[0] = ALLOW_MEDIUM_REMOVAL; | 1353 | scsi_execute_async(sdev, cmnd, DMA_NONE, NULL, 0, 0, 10 * HZ, |
| 1370 | sreq->sr_cmnd[1] = 0; | 1354 | 5, NULL, NULL, GFP_KERNEL); |
| 1371 | sreq->sr_cmnd[2] = 0; | ||
| 1372 | sreq->sr_cmnd[3] = 0; | ||
| 1373 | sreq->sr_cmnd[4] = SCSI_REMOVAL_PREVENT; | ||
| 1374 | sreq->sr_cmnd[5] = 0; | ||
| 1375 | sreq->sr_data_direction = DMA_NONE; | ||
| 1376 | sreq->sr_bufflen = 0; | ||
| 1377 | sreq->sr_buffer = NULL; | ||
| 1378 | sreq->sr_allowed = 5; | ||
| 1379 | sreq->sr_done = scsi_eh_lock_done; | ||
| 1380 | sreq->sr_timeout_per_command = 10 * HZ; | ||
| 1381 | sreq->sr_cmd_len = COMMAND_SIZE(sreq->sr_cmnd[0]); | ||
| 1382 | |||
| 1383 | scsi_insert_special_req(sreq, 1); | ||
| 1384 | } | 1355 | } |
| 1385 | 1356 | ||
| 1386 | 1357 | ||
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c index dc249cb970ea..a7f3f0c84db7 100644 --- a/drivers/scsi/scsi_lib.c +++ b/drivers/scsi/scsi_lib.c | |||
| @@ -63,39 +63,6 @@ static struct scsi_host_sg_pool scsi_sg_pools[] = { | |||
| 63 | }; | 63 | }; |
| 64 | #undef SP | 64 | #undef SP |
| 65 | 65 | ||
| 66 | |||
| 67 | /* | ||
| 68 | * Function: scsi_insert_special_req() | ||
| 69 | * | ||
| 70 | * Purpose: Insert pre-formed request into request queue. | ||
| 71 | * | ||
| 72 | * Arguments: sreq - request that is ready to be queued. | ||
| 73 | * at_head - boolean. True if we should insert at head | ||
| 74 | * of queue, false if we should insert at tail. | ||
| 75 | * | ||
| 76 | * Lock status: Assumed that lock is not held upon entry. | ||
| 77 | * | ||
| 78 | * Returns: Nothing | ||
| 79 | * | ||
| 80 | * Notes: This function is called from character device and from | ||
| 81 | * ioctl types of functions where the caller knows exactly | ||
| 82 | * what SCSI command needs to be issued. The idea is that | ||
| 83 | * we merely inject the command into the queue (at the head | ||
| 84 | * for now), and then call the queue request function to actually | ||
| 85 | * process it. | ||
| 86 | */ | ||
| 87 | int scsi_insert_special_req(struct scsi_request *sreq, int at_head) | ||
| 88 | { | ||
| 89 | /* | ||
| 90 | * Because users of this function are apt to reuse requests with no | ||
| 91 | * modification, we have to sanitise the request flags here | ||
| 92 | */ | ||
| 93 | sreq->sr_request->flags &= ~REQ_DONTPREP; | ||
| 94 | blk_insert_request(sreq->sr_device->request_queue, sreq->sr_request, | ||
| 95 | at_head, sreq); | ||
| 96 | return 0; | ||
| 97 | } | ||
| 98 | |||
| 99 | static void scsi_run_queue(struct request_queue *q); | 66 | static void scsi_run_queue(struct request_queue *q); |
| 100 | 67 | ||
| 101 | /* | 68 | /* |
| @@ -249,8 +216,13 @@ void scsi_do_req(struct scsi_request *sreq, const void *cmnd, | |||
| 249 | 216 | ||
| 250 | /* | 217 | /* |
| 251 | * head injection *required* here otherwise quiesce won't work | 218 | * head injection *required* here otherwise quiesce won't work |
| 219 | * | ||
| 220 | * Because users of this function are apt to reuse requests with no | ||
| 221 | * modification, we have to sanitise the request flags here | ||
| 252 | */ | 222 | */ |
| 253 | scsi_insert_special_req(sreq, 1); | 223 | sreq->sr_request->flags &= ~REQ_DONTPREP; |
| 224 | blk_insert_request(sreq->sr_device->request_queue, sreq->sr_request, | ||
| 225 | 1, sreq); | ||
| 254 | } | 226 | } |
| 255 | EXPORT_SYMBOL(scsi_do_req); | 227 | EXPORT_SYMBOL(scsi_do_req); |
| 256 | 228 | ||
| @@ -287,6 +259,7 @@ int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd, | |||
| 287 | memcpy(req->cmd, cmd, req->cmd_len); | 259 | memcpy(req->cmd, cmd, req->cmd_len); |
| 288 | req->sense = sense; | 260 | req->sense = sense; |
| 289 | req->sense_len = 0; | 261 | req->sense_len = 0; |
| 262 | req->retries = retries; | ||
| 290 | req->timeout = timeout; | 263 | req->timeout = timeout; |
| 291 | req->flags |= flags | REQ_BLOCK_PC | REQ_SPECIAL | REQ_QUIET; | 264 | req->flags |= flags | REQ_BLOCK_PC | REQ_SPECIAL | REQ_QUIET; |
| 292 | 265 | ||
| @@ -327,6 +300,200 @@ int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, | |||
| 327 | } | 300 | } |
| 328 | EXPORT_SYMBOL(scsi_execute_req); | 301 | EXPORT_SYMBOL(scsi_execute_req); |
| 329 | 302 | ||
| 303 | struct scsi_io_context { | ||
| 304 | void *data; | ||
| 305 | void (*done)(void *data, char *sense, int result, int resid); | ||
| 306 | char sense[SCSI_SENSE_BUFFERSIZE]; | ||
| 307 | }; | ||
| 308 | |||
| 309 | static kmem_cache_t *scsi_io_context_cache; | ||
| 310 | |||
| 311 | static void scsi_end_async(struct request *req) | ||
| 312 | { | ||
| 313 | struct scsi_io_context *sioc = req->end_io_data; | ||
| 314 | |||
| 315 | if (sioc->done) | ||
| 316 | sioc->done(sioc->data, sioc->sense, req->errors, req->data_len); | ||
| 317 | |||
| 318 | kmem_cache_free(scsi_io_context_cache, sioc); | ||
| 319 | __blk_put_request(req->q, req); | ||
| 320 | } | ||
| 321 | |||
| 322 | static int scsi_merge_bio(struct request *rq, struct bio *bio) | ||
| 323 | { | ||
| 324 | struct request_queue *q = rq->q; | ||
| 325 | |||
| 326 | bio->bi_flags &= ~(1 << BIO_SEG_VALID); | ||
| 327 | if (rq_data_dir(rq) == WRITE) | ||
| 328 | bio->bi_rw |= (1 << BIO_RW); | ||
| 329 | blk_queue_bounce(q, &bio); | ||
| 330 | |||
| 331 | if (!rq->bio) | ||
| 332 | blk_rq_bio_prep(q, rq, bio); | ||
| 333 | else if (!q->back_merge_fn(q, rq, bio)) | ||
| 334 | return -EINVAL; | ||
| 335 | else { | ||
| 336 | rq->biotail->bi_next = bio; | ||
| 337 | rq->biotail = bio; | ||
| 338 | rq->hard_nr_sectors += bio_sectors(bio); | ||
| 339 | rq->nr_sectors = rq->hard_nr_sectors; | ||
| 340 | } | ||
| 341 | |||
| 342 | return 0; | ||
| 343 | } | ||
| 344 | |||
| 345 | static int scsi_bi_endio(struct bio *bio, unsigned int bytes_done, int error) | ||
| 346 | { | ||
| 347 | if (bio->bi_size) | ||
| 348 | return 1; | ||
| 349 | |||
| 350 | bio_put(bio); | ||
| 351 | return 0; | ||
| 352 | } | ||
| 353 | |||
| 354 | /** | ||
| 355 | * scsi_req_map_sg - map a scatterlist into a request | ||
| 356 | * @rq: request to fill | ||
| 357 | * @sg: scatterlist | ||
| 358 | * @nsegs: number of elements | ||
| 359 | * @bufflen: len of buffer | ||
| 360 | * @gfp: memory allocation flags | ||
| 361 | * | ||
| 362 | * scsi_req_map_sg maps a scatterlist into a request so that the | ||
| 363 | * request can be sent to the block layer. We do not trust the scatterlist | ||
| 364 | * sent to use, as some ULDs use that struct to only organize the pages. | ||
| 365 | */ | ||
| 366 | static int scsi_req_map_sg(struct request *rq, struct scatterlist *sgl, | ||
| 367 | int nsegs, unsigned bufflen, gfp_t gfp) | ||
| 368 | { | ||
| 369 | struct request_queue *q = rq->q; | ||
| 370 | int nr_pages = (bufflen + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
| 371 | unsigned int data_len = 0, len, bytes, off; | ||
| 372 | struct page *page; | ||
| 373 | struct bio *bio = NULL; | ||
| 374 | int i, err, nr_vecs = 0; | ||
| 375 | |||
| 376 | for (i = 0; i < nsegs; i++) { | ||
| 377 | page = sgl[i].page; | ||
| 378 | off = sgl[i].offset; | ||
| 379 | len = sgl[i].length; | ||
| 380 | data_len += len; | ||
| 381 | |||
| 382 | while (len > 0) { | ||
| 383 | bytes = min_t(unsigned int, len, PAGE_SIZE - off); | ||
| 384 | |||
| 385 | if (!bio) { | ||
| 386 | nr_vecs = min_t(int, BIO_MAX_PAGES, nr_pages); | ||
| 387 | nr_pages -= nr_vecs; | ||
| 388 | |||
| 389 | bio = bio_alloc(gfp, nr_vecs); | ||
| 390 | if (!bio) { | ||
| 391 | err = -ENOMEM; | ||
| 392 | goto free_bios; | ||
| 393 | } | ||
| 394 | bio->bi_end_io = scsi_bi_endio; | ||
| 395 | } | ||
| 396 | |||
| 397 | if (bio_add_pc_page(q, bio, page, bytes, off) != | ||
| 398 | bytes) { | ||
| 399 | bio_put(bio); | ||
| 400 | err = -EINVAL; | ||
| 401 | goto free_bios; | ||
| 402 | } | ||
| 403 | |||
| 404 | if (bio->bi_vcnt >= nr_vecs) { | ||
| 405 | err = scsi_merge_bio(rq, bio); | ||
| 406 | if (err) { | ||
| 407 | bio_endio(bio, bio->bi_size, 0); | ||
| 408 | goto free_bios; | ||
| 409 | } | ||
| 410 | bio = NULL; | ||
| 411 | } | ||
| 412 | |||
| 413 | page++; | ||
| 414 | len -= bytes; | ||
| 415 | off = 0; | ||
| 416 | } | ||
| 417 | } | ||
| 418 | |||
| 419 | rq->buffer = rq->data = NULL; | ||
| 420 | rq->data_len = data_len; | ||
| 421 | return 0; | ||
| 422 | |||
| 423 | free_bios: | ||
| 424 | while ((bio = rq->bio) != NULL) { | ||
| 425 | rq->bio = bio->bi_next; | ||
| 426 | /* | ||
| 427 | * call endio instead of bio_put incase it was bounced | ||
| 428 | */ | ||
| 429 | bio_endio(bio, bio->bi_size, 0); | ||
| 430 | } | ||
| 431 | |||
| 432 | return err; | ||
| 433 | } | ||
| 434 | |||
| 435 | /** | ||
| 436 | * scsi_execute_async - insert request | ||
| 437 | * @sdev: scsi device | ||
| 438 | * @cmd: scsi command | ||
| 439 | * @data_direction: data direction | ||
| 440 | * @buffer: data buffer (this can be a kernel buffer or scatterlist) | ||
| 441 | * @bufflen: len of buffer | ||
| 442 | * @use_sg: if buffer is a scatterlist this is the number of elements | ||
| 443 | * @timeout: request timeout in seconds | ||
| 444 | * @retries: number of times to retry request | ||
| 445 | * @flags: or into request flags | ||
| 446 | **/ | ||
| 447 | int scsi_execute_async(struct scsi_device *sdev, const unsigned char *cmd, | ||
| 448 | int data_direction, void *buffer, unsigned bufflen, | ||
| 449 | int use_sg, int timeout, int retries, void *privdata, | ||
| 450 | void (*done)(void *, char *, int, int), gfp_t gfp) | ||
| 451 | { | ||
| 452 | struct request *req; | ||
| 453 | struct scsi_io_context *sioc; | ||
| 454 | int err = 0; | ||
| 455 | int write = (data_direction == DMA_TO_DEVICE); | ||
| 456 | |||
| 457 | sioc = kmem_cache_alloc(scsi_io_context_cache, gfp); | ||
| 458 | if (!sioc) | ||
| 459 | return DRIVER_ERROR << 24; | ||
| 460 | memset(sioc, 0, sizeof(*sioc)); | ||
| 461 | |||
| 462 | req = blk_get_request(sdev->request_queue, write, gfp); | ||
| 463 | if (!req) | ||
| 464 | goto free_sense; | ||
| 465 | req->flags |= REQ_BLOCK_PC | REQ_QUIET; | ||
| 466 | |||
| 467 | if (use_sg) | ||
| 468 | err = scsi_req_map_sg(req, buffer, use_sg, bufflen, gfp); | ||
| 469 | else if (bufflen) | ||
| 470 | err = blk_rq_map_kern(req->q, req, buffer, bufflen, gfp); | ||
| 471 | |||
| 472 | if (err) | ||
| 473 | goto free_req; | ||
| 474 | |||
| 475 | req->cmd_len = COMMAND_SIZE(cmd[0]); | ||
| 476 | memcpy(req->cmd, cmd, req->cmd_len); | ||
| 477 | req->sense = sioc->sense; | ||
| 478 | req->sense_len = 0; | ||
| 479 | req->timeout = timeout; | ||
| 480 | req->retries = retries; | ||
| 481 | req->end_io_data = sioc; | ||
| 482 | |||
| 483 | sioc->data = privdata; | ||
| 484 | sioc->done = done; | ||
| 485 | |||
| 486 | blk_execute_rq_nowait(req->q, NULL, req, 1, scsi_end_async); | ||
| 487 | return 0; | ||
| 488 | |||
| 489 | free_req: | ||
| 490 | blk_put_request(req); | ||
| 491 | free_sense: | ||
| 492 | kfree(sioc); | ||
| 493 | return DRIVER_ERROR << 24; | ||
| 494 | } | ||
| 495 | EXPORT_SYMBOL_GPL(scsi_execute_async); | ||
| 496 | |||
| 330 | /* | 497 | /* |
| 331 | * Function: scsi_init_cmd_errh() | 498 | * Function: scsi_init_cmd_errh() |
| 332 | * | 499 | * |
| @@ -884,7 +1051,8 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes, | |||
| 884 | * system where READ CAPACITY failed, we may have read | 1051 | * system where READ CAPACITY failed, we may have read |
| 885 | * past the end of the disk. | 1052 | * past the end of the disk. |
| 886 | */ | 1053 | */ |
| 887 | if (cmd->device->use_10_for_rw && | 1054 | if ((cmd->device->use_10_for_rw && |
| 1055 | sshdr.asc == 0x20 && sshdr.ascq == 0x00) && | ||
| 888 | (cmd->cmnd[0] == READ_10 || | 1056 | (cmd->cmnd[0] == READ_10 || |
| 889 | cmd->cmnd[0] == WRITE_10)) { | 1057 | cmd->cmnd[0] == WRITE_10)) { |
| 890 | cmd->device->use_10_for_rw = 0; | 1058 | cmd->device->use_10_for_rw = 0; |
| @@ -1082,10 +1250,16 @@ static int scsi_issue_flush_fn(request_queue_t *q, struct gendisk *disk, | |||
| 1082 | static void scsi_generic_done(struct scsi_cmnd *cmd) | 1250 | static void scsi_generic_done(struct scsi_cmnd *cmd) |
| 1083 | { | 1251 | { |
| 1084 | BUG_ON(!blk_pc_request(cmd->request)); | 1252 | BUG_ON(!blk_pc_request(cmd->request)); |
| 1085 | scsi_io_completion(cmd, cmd->result == 0 ? cmd->bufflen : 0, 0); | 1253 | /* |
| 1254 | * This will complete the whole command with uptodate=1 so | ||
| 1255 | * as far as the block layer is concerned the command completed | ||
| 1256 | * successfully. Since this is a REQ_BLOCK_PC command the | ||
| 1257 | * caller should check the request's errors value | ||
| 1258 | */ | ||
| 1259 | scsi_io_completion(cmd, cmd->bufflen, 0); | ||
| 1086 | } | 1260 | } |
| 1087 | 1261 | ||
| 1088 | void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd, int retries) | 1262 | void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd) |
| 1089 | { | 1263 | { |
| 1090 | struct request *req = cmd->request; | 1264 | struct request *req = cmd->request; |
| 1091 | 1265 | ||
| @@ -1100,7 +1274,7 @@ void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd, int retries) | |||
| 1100 | cmd->sc_data_direction = DMA_FROM_DEVICE; | 1274 | cmd->sc_data_direction = DMA_FROM_DEVICE; |
| 1101 | 1275 | ||
| 1102 | cmd->transfersize = req->data_len; | 1276 | cmd->transfersize = req->data_len; |
| 1103 | cmd->allowed = retries; | 1277 | cmd->allowed = req->retries; |
| 1104 | cmd->timeout_per_command = req->timeout; | 1278 | cmd->timeout_per_command = req->timeout; |
| 1105 | } | 1279 | } |
| 1106 | EXPORT_SYMBOL_GPL(scsi_setup_blk_pc_cmnd); | 1280 | EXPORT_SYMBOL_GPL(scsi_setup_blk_pc_cmnd); |
| @@ -1240,7 +1414,7 @@ static int scsi_prep_fn(struct request_queue *q, struct request *req) | |||
| 1240 | goto kill; | 1414 | goto kill; |
| 1241 | } | 1415 | } |
| 1242 | } else { | 1416 | } else { |
| 1243 | scsi_setup_blk_pc_cmnd(cmd, 3); | 1417 | scsi_setup_blk_pc_cmnd(cmd); |
| 1244 | cmd->done = scsi_generic_done; | 1418 | cmd->done = scsi_generic_done; |
| 1245 | } | 1419 | } |
| 1246 | } | 1420 | } |
| @@ -1603,6 +1777,14 @@ int __init scsi_init_queue(void) | |||
| 1603 | { | 1777 | { |
| 1604 | int i; | 1778 | int i; |
| 1605 | 1779 | ||
| 1780 | scsi_io_context_cache = kmem_cache_create("scsi_io_context", | ||
| 1781 | sizeof(struct scsi_io_context), | ||
| 1782 | 0, 0, NULL, NULL); | ||
| 1783 | if (!scsi_io_context_cache) { | ||
| 1784 | printk(KERN_ERR "SCSI: can't init scsi io context cache\n"); | ||
| 1785 | return -ENOMEM; | ||
| 1786 | } | ||
| 1787 | |||
| 1606 | for (i = 0; i < SG_MEMPOOL_NR; i++) { | 1788 | for (i = 0; i < SG_MEMPOOL_NR; i++) { |
| 1607 | struct scsi_host_sg_pool *sgp = scsi_sg_pools + i; | 1789 | struct scsi_host_sg_pool *sgp = scsi_sg_pools + i; |
| 1608 | int size = sgp->size * sizeof(struct scatterlist); | 1790 | int size = sgp->size * sizeof(struct scatterlist); |
| @@ -1630,6 +1812,8 @@ void scsi_exit_queue(void) | |||
| 1630 | { | 1812 | { |
| 1631 | int i; | 1813 | int i; |
| 1632 | 1814 | ||
| 1815 | kmem_cache_destroy(scsi_io_context_cache); | ||
| 1816 | |||
| 1633 | for (i = 0; i < SG_MEMPOOL_NR; i++) { | 1817 | for (i = 0; i < SG_MEMPOOL_NR; i++) { |
| 1634 | struct scsi_host_sg_pool *sgp = scsi_sg_pools + i; | 1818 | struct scsi_host_sg_pool *sgp = scsi_sg_pools + i; |
| 1635 | mempool_destroy(sgp->pool); | 1819 | mempool_destroy(sgp->pool); |
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h index d632d9e1493c..f04e7e11f57a 100644 --- a/drivers/scsi/scsi_priv.h +++ b/drivers/scsi/scsi_priv.h | |||
| @@ -40,7 +40,6 @@ extern void scsi_exit_hosts(void); | |||
| 40 | extern int scsi_dispatch_cmd(struct scsi_cmnd *cmd); | 40 | extern int scsi_dispatch_cmd(struct scsi_cmnd *cmd); |
| 41 | extern int scsi_setup_command_freelist(struct Scsi_Host *shost); | 41 | extern int scsi_setup_command_freelist(struct Scsi_Host *shost); |
| 42 | extern void scsi_destroy_command_freelist(struct Scsi_Host *shost); | 42 | extern void scsi_destroy_command_freelist(struct Scsi_Host *shost); |
| 43 | extern int scsi_insert_special_req(struct scsi_request *sreq, int); | ||
| 44 | extern void scsi_init_cmd_from_req(struct scsi_cmnd *cmd, | 43 | extern void scsi_init_cmd_from_req(struct scsi_cmnd *cmd, |
| 45 | struct scsi_request *sreq); | 44 | struct scsi_request *sreq); |
| 46 | extern void __scsi_release_request(struct scsi_request *sreq); | 45 | extern void __scsi_release_request(struct scsi_request *sreq); |
| @@ -57,7 +56,8 @@ static inline void scsi_log_completion(struct scsi_cmnd *cmd, int disposition) | |||
| 57 | 56 | ||
| 58 | /* scsi_devinfo.c */ | 57 | /* scsi_devinfo.c */ |
| 59 | extern int scsi_get_device_flags(struct scsi_device *sdev, | 58 | extern int scsi_get_device_flags(struct scsi_device *sdev, |
| 60 | unsigned char *vendor, unsigned char *model); | 59 | const unsigned char *vendor, |
| 60 | const unsigned char *model); | ||
| 61 | extern int __init scsi_init_devinfo(void); | 61 | extern int __init scsi_init_devinfo(void); |
| 62 | extern void scsi_exit_devinfo(void); | 62 | extern void scsi_exit_devinfo(void); |
| 63 | 63 | ||
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c index 4e6709f448e1..05ebb9cef961 100644 --- a/drivers/scsi/scsi_scan.c +++ b/drivers/scsi/scsi_scan.c | |||
| @@ -74,7 +74,7 @@ | |||
| 74 | #define SCSI_SCAN_TARGET_PRESENT 1 | 74 | #define SCSI_SCAN_TARGET_PRESENT 1 |
| 75 | #define SCSI_SCAN_LUN_PRESENT 2 | 75 | #define SCSI_SCAN_LUN_PRESENT 2 |
| 76 | 76 | ||
| 77 | static char *scsi_null_device_strs = "nullnullnullnull"; | 77 | static const char *scsi_null_device_strs = "nullnullnullnull"; |
| 78 | 78 | ||
| 79 | #define MAX_SCSI_LUNS 512 | 79 | #define MAX_SCSI_LUNS 512 |
| 80 | 80 | ||
diff --git a/drivers/scsi/scsi_sysfs.c b/drivers/scsi/scsi_sysfs.c index 46349293de08..15842b1f0f4a 100644 --- a/drivers/scsi/scsi_sysfs.c +++ b/drivers/scsi/scsi_sysfs.c | |||
| @@ -21,7 +21,7 @@ | |||
| 21 | #include "scsi_priv.h" | 21 | #include "scsi_priv.h" |
| 22 | #include "scsi_logging.h" | 22 | #include "scsi_logging.h" |
| 23 | 23 | ||
| 24 | static struct { | 24 | static const struct { |
| 25 | enum scsi_device_state value; | 25 | enum scsi_device_state value; |
| 26 | char *name; | 26 | char *name; |
| 27 | } sdev_states[] = { | 27 | } sdev_states[] = { |
| @@ -48,7 +48,7 @@ const char *scsi_device_state_name(enum scsi_device_state state) | |||
| 48 | return name; | 48 | return name; |
| 49 | } | 49 | } |
| 50 | 50 | ||
| 51 | static struct { | 51 | static const struct { |
| 52 | enum scsi_host_state value; | 52 | enum scsi_host_state value; |
| 53 | char *name; | 53 | char *name; |
| 54 | } shost_states[] = { | 54 | } shost_states[] = { |
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c index 2a1a99a2ef56..685b997306cf 100644 --- a/drivers/scsi/scsi_transport_fc.c +++ b/drivers/scsi/scsi_transport_fc.c | |||
| @@ -112,7 +112,7 @@ fc_enum_name_search(port_state, fc_port_state, fc_port_state_names) | |||
| 112 | 112 | ||
| 113 | 113 | ||
| 114 | /* Convert fc_tgtid_binding_type values to ascii string name */ | 114 | /* Convert fc_tgtid_binding_type values to ascii string name */ |
| 115 | static struct { | 115 | static const struct { |
| 116 | enum fc_tgtid_binding_type value; | 116 | enum fc_tgtid_binding_type value; |
| 117 | char *name; | 117 | char *name; |
| 118 | int matchlen; | 118 | int matchlen; |
| @@ -150,7 +150,7 @@ get_fc_##title##_names(u32 table_key, char *buf) \ | |||
| 150 | 150 | ||
| 151 | 151 | ||
| 152 | /* Convert FC_COS bit values to ascii string name */ | 152 | /* Convert FC_COS bit values to ascii string name */ |
| 153 | static struct { | 153 | static const struct { |
| 154 | u32 value; | 154 | u32 value; |
| 155 | char *name; | 155 | char *name; |
| 156 | } fc_cos_names[] = { | 156 | } fc_cos_names[] = { |
| @@ -164,7 +164,7 @@ fc_bitfield_name_search(cos, fc_cos_names) | |||
| 164 | 164 | ||
| 165 | 165 | ||
| 166 | /* Convert FC_PORTSPEED bit values to ascii string name */ | 166 | /* Convert FC_PORTSPEED bit values to ascii string name */ |
| 167 | static struct { | 167 | static const struct { |
| 168 | u32 value; | 168 | u32 value; |
| 169 | char *name; | 169 | char *name; |
| 170 | } fc_port_speed_names[] = { | 170 | } fc_port_speed_names[] = { |
| @@ -190,7 +190,7 @@ show_fc_fc4s (char *buf, u8 *fc4_list) | |||
| 190 | 190 | ||
| 191 | 191 | ||
| 192 | /* Convert FC_RPORT_ROLE bit values to ascii string name */ | 192 | /* Convert FC_RPORT_ROLE bit values to ascii string name */ |
| 193 | static struct { | 193 | static const struct { |
| 194 | u32 value; | 194 | u32 value; |
| 195 | char *name; | 195 | char *name; |
| 196 | } fc_remote_port_role_names[] = { | 196 | } fc_remote_port_role_names[] = { |
diff --git a/drivers/scsi/scsi_transport_spi.c b/drivers/scsi/scsi_transport_spi.c index 38a53b5f9e9a..46da6fe10ad5 100644 --- a/drivers/scsi/scsi_transport_spi.c +++ b/drivers/scsi/scsi_transport_spi.c | |||
| @@ -18,6 +18,7 @@ | |||
| 18 | * along with this program; if not, write to the Free Software | 18 | * along with this program; if not, write to the Free Software |
| 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 20 | */ | 20 | */ |
| 21 | #include <linux/config.h> | ||
| 21 | #include <linux/ctype.h> | 22 | #include <linux/ctype.h> |
| 22 | #include <linux/init.h> | 23 | #include <linux/init.h> |
| 23 | #include <linux/module.h> | 24 | #include <linux/module.h> |
| @@ -378,9 +379,7 @@ static CLASS_DEVICE_ATTR(revalidate, S_IWUSR, NULL, store_spi_revalidate); | |||
| 378 | 379 | ||
| 379 | /* Translate the period into ns according to the current spec | 380 | /* Translate the period into ns according to the current spec |
| 380 | * for SDTR/PPR messages */ | 381 | * for SDTR/PPR messages */ |
| 381 | static ssize_t | 382 | static int period_to_str(char *buf, int period) |
| 382 | show_spi_transport_period_helper(struct class_device *cdev, char *buf, | ||
| 383 | int period) | ||
| 384 | { | 383 | { |
| 385 | int len, picosec; | 384 | int len, picosec; |
| 386 | 385 | ||
| @@ -398,6 +397,14 @@ show_spi_transport_period_helper(struct class_device *cdev, char *buf, | |||
| 398 | len = sprint_frac(buf, picosec, 1000); | 397 | len = sprint_frac(buf, picosec, 1000); |
| 399 | } | 398 | } |
| 400 | 399 | ||
| 400 | return len; | ||
| 401 | } | ||
| 402 | |||
| 403 | static ssize_t | ||
| 404 | show_spi_transport_period_helper(struct class_device *cdev, char *buf, | ||
| 405 | int period) | ||
| 406 | { | ||
| 407 | int len = period_to_str(buf, period); | ||
| 401 | buf[len++] = '\n'; | 408 | buf[len++] = '\n'; |
| 402 | buf[len] = '\0'; | 409 | buf[len] = '\0'; |
| 403 | return len; | 410 | return len; |
| @@ -1041,12 +1048,133 @@ void spi_display_xfer_agreement(struct scsi_target *starget) | |||
| 1041 | tp->hold_mcs ? " HMCS" : "", | 1048 | tp->hold_mcs ? " HMCS" : "", |
| 1042 | tmp, tp->offset); | 1049 | tmp, tp->offset); |
| 1043 | } else { | 1050 | } else { |
| 1044 | dev_info(&starget->dev, "%sasynchronous.\n", | 1051 | dev_info(&starget->dev, "%sasynchronous\n", |
| 1045 | tp->width ? "wide " : ""); | 1052 | tp->width ? "wide " : ""); |
| 1046 | } | 1053 | } |
| 1047 | } | 1054 | } |
| 1048 | EXPORT_SYMBOL(spi_display_xfer_agreement); | 1055 | EXPORT_SYMBOL(spi_display_xfer_agreement); |
| 1049 | 1056 | ||
| 1057 | #ifdef CONFIG_SCSI_CONSTANTS | ||
| 1058 | static const char * const one_byte_msgs[] = { | ||
| 1059 | /* 0x00 */ "Command Complete", NULL, "Save Pointers", | ||
| 1060 | /* 0x03 */ "Restore Pointers", "Disconnect", "Initiator Error", | ||
| 1061 | /* 0x06 */ "Abort", "Message Reject", "Nop", "Message Parity Error", | ||
| 1062 | /* 0x0a */ "Linked Command Complete", "Linked Command Complete w/flag", | ||
| 1063 | /* 0x0c */ "Bus device reset", "Abort Tag", "Clear Queue", | ||
| 1064 | /* 0x0f */ "Initiate Recovery", "Release Recovery" | ||
| 1065 | }; | ||
| 1066 | |||
| 1067 | static const char * const two_byte_msgs[] = { | ||
| 1068 | /* 0x20 */ "Simple Queue Tag", "Head of Queue Tag", "Ordered Queue Tag", | ||
| 1069 | /* 0x23 */ "Ignore Wide Residue" | ||
| 1070 | }; | ||
| 1071 | |||
| 1072 | static const char * const extended_msgs[] = { | ||
| 1073 | /* 0x00 */ "Modify Data Pointer", "Synchronous Data Transfer Request", | ||
| 1074 | /* 0x02 */ "SCSI-I Extended Identify", "Wide Data Transfer Request", | ||
| 1075 | /* 0x04 */ "Parallel Protocol Request" | ||
| 1076 | }; | ||
| 1077 | |||
| 1078 | void print_nego(const unsigned char *msg, int per, int off, int width) | ||
| 1079 | { | ||
| 1080 | if (per) { | ||
| 1081 | char buf[20]; | ||
| 1082 | period_to_str(buf, msg[per]); | ||
| 1083 | printk("period = %s ns ", buf); | ||
| 1084 | } | ||
| 1085 | |||
| 1086 | if (off) | ||
| 1087 | printk("offset = %d ", msg[off]); | ||
| 1088 | if (width) | ||
| 1089 | printk("width = %d ", 8 << msg[width]); | ||
| 1090 | } | ||
| 1091 | |||
| 1092 | int spi_print_msg(const unsigned char *msg) | ||
| 1093 | { | ||
| 1094 | int len = 0, i; | ||
| 1095 | if (msg[0] == EXTENDED_MESSAGE) { | ||
| 1096 | len = 3 + msg[1]; | ||
| 1097 | if (msg[2] < ARRAY_SIZE(extended_msgs)) | ||
| 1098 | printk ("%s ", extended_msgs[msg[2]]); | ||
| 1099 | else | ||
| 1100 | printk ("Extended Message, reserved code (0x%02x) ", | ||
| 1101 | (int) msg[2]); | ||
| 1102 | switch (msg[2]) { | ||
| 1103 | case EXTENDED_MODIFY_DATA_POINTER: | ||
| 1104 | printk("pointer = %d", (int) (msg[3] << 24) | | ||
| 1105 | (msg[4] << 16) | (msg[5] << 8) | msg[6]); | ||
| 1106 | break; | ||
| 1107 | case EXTENDED_SDTR: | ||
| 1108 | print_nego(msg, 3, 4, 0); | ||
| 1109 | break; | ||
| 1110 | case EXTENDED_WDTR: | ||
| 1111 | print_nego(msg, 0, 0, 3); | ||
| 1112 | break; | ||
| 1113 | case EXTENDED_PPR: | ||
| 1114 | print_nego(msg, 3, 5, 6); | ||
| 1115 | break; | ||
| 1116 | default: | ||
| 1117 | for (i = 2; i < len; ++i) | ||
| 1118 | printk("%02x ", msg[i]); | ||
| 1119 | } | ||
| 1120 | /* Identify */ | ||
| 1121 | } else if (msg[0] & 0x80) { | ||
| 1122 | printk("Identify disconnect %sallowed %s %d ", | ||
| 1123 | (msg[0] & 0x40) ? "" : "not ", | ||
| 1124 | (msg[0] & 0x20) ? "target routine" : "lun", | ||
| 1125 | msg[0] & 0x7); | ||
| 1126 | len = 1; | ||
| 1127 | /* Normal One byte */ | ||
| 1128 | } else if (msg[0] < 0x1f) { | ||
| 1129 | if (msg[0] < ARRAY_SIZE(one_byte_msgs)) | ||
| 1130 | printk(one_byte_msgs[msg[0]]); | ||
| 1131 | else | ||
| 1132 | printk("reserved (%02x) ", msg[0]); | ||
| 1133 | len = 1; | ||
| 1134 | /* Two byte */ | ||
| 1135 | } else if (msg[0] <= 0x2f) { | ||
| 1136 | if ((msg[0] - 0x20) < ARRAY_SIZE(two_byte_msgs)) | ||
| 1137 | printk("%s %02x ", two_byte_msgs[msg[0] - 0x20], | ||
| 1138 | msg[1]); | ||
| 1139 | else | ||
| 1140 | printk("reserved two byte (%02x %02x) ", | ||
| 1141 | msg[0], msg[1]); | ||
| 1142 | len = 2; | ||
| 1143 | } else | ||
| 1144 | printk("reserved"); | ||
| 1145 | return len; | ||
| 1146 | } | ||
| 1147 | EXPORT_SYMBOL(spi_print_msg); | ||
| 1148 | |||
| 1149 | #else /* ifndef CONFIG_SCSI_CONSTANTS */ | ||
| 1150 | |||
| 1151 | int spi_print_msg(const unsigned char *msg) | ||
| 1152 | { | ||
| 1153 | int len = 0, i; | ||
| 1154 | |||
| 1155 | if (msg[0] == EXTENDED_MESSAGE) { | ||
| 1156 | len = 3 + msg[1]; | ||
| 1157 | for (i = 0; i < len; ++i) | ||
| 1158 | printk("%02x ", msg[i]); | ||
| 1159 | /* Identify */ | ||
| 1160 | } else if (msg[0] & 0x80) { | ||
| 1161 | printk("%02x ", msg[0]); | ||
| 1162 | len = 1; | ||
| 1163 | /* Normal One byte */ | ||
| 1164 | } else if (msg[0] < 0x1f) { | ||
| 1165 | printk("%02x ", msg[0]); | ||
| 1166 | len = 1; | ||
| 1167 | /* Two byte */ | ||
| 1168 | } else if (msg[0] <= 0x2f) { | ||
| 1169 | printk("%02x %02x", msg[0], msg[1]); | ||
| 1170 | len = 2; | ||
| 1171 | } else | ||
| 1172 | printk("%02x ", msg[0]); | ||
| 1173 | return len; | ||
| 1174 | } | ||
| 1175 | EXPORT_SYMBOL(spi_print_msg); | ||
| 1176 | #endif /* ! CONFIG_SCSI_CONSTANTS */ | ||
| 1177 | |||
| 1050 | #define SETUP_ATTRIBUTE(field) \ | 1178 | #define SETUP_ATTRIBUTE(field) \ |
| 1051 | i->private_attrs[count] = class_device_attr_##field; \ | 1179 | i->private_attrs[count] = class_device_attr_##field; \ |
| 1052 | if (!i->f->set_##field) { \ | 1180 | if (!i->f->set_##field) { \ |
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 03fcbab30033..3d3ad7d1b779 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c | |||
| @@ -245,7 +245,7 @@ static int sd_init_command(struct scsi_cmnd * SCpnt) | |||
| 245 | * SG_IO from block layer already setup, just copy cdb basically | 245 | * SG_IO from block layer already setup, just copy cdb basically |
| 246 | */ | 246 | */ |
| 247 | if (blk_pc_request(rq)) { | 247 | if (blk_pc_request(rq)) { |
| 248 | scsi_setup_blk_pc_cmnd(SCpnt, SD_PASSTHROUGH_RETRIES); | 248 | scsi_setup_blk_pc_cmnd(SCpnt); |
| 249 | if (rq->timeout) | 249 | if (rq->timeout) |
| 250 | timeout = rq->timeout; | 250 | timeout = rq->timeout; |
| 251 | 251 | ||
| @@ -1495,9 +1495,7 @@ static int sd_revalidate_disk(struct gendisk *disk) | |||
| 1495 | */ | 1495 | */ |
| 1496 | if (sdkp->media_present) { | 1496 | if (sdkp->media_present) { |
| 1497 | sd_read_capacity(sdkp, disk->disk_name, buffer); | 1497 | sd_read_capacity(sdkp, disk->disk_name, buffer); |
| 1498 | if (sdp->removable) | 1498 | sd_read_write_protect_flag(sdkp, disk->disk_name, buffer); |
| 1499 | sd_read_write_protect_flag(sdkp, disk->disk_name, | ||
| 1500 | buffer); | ||
| 1501 | sd_read_cache_type(sdkp, disk->disk_name, buffer); | 1499 | sd_read_cache_type(sdkp, disk->disk_name, buffer); |
| 1502 | } | 1500 | } |
| 1503 | 1501 | ||
diff --git a/drivers/scsi/sg.c b/drivers/scsi/sg.c index b55c2a8a547c..221e96e2620a 100644 --- a/drivers/scsi/sg.c +++ b/drivers/scsi/sg.c | |||
| @@ -104,8 +104,6 @@ static int sg_allow_dio = SG_ALLOW_DIO_DEF; | |||
| 104 | static int sg_add(struct class_device *, struct class_interface *); | 104 | static int sg_add(struct class_device *, struct class_interface *); |
| 105 | static void sg_remove(struct class_device *, struct class_interface *); | 105 | static void sg_remove(struct class_device *, struct class_interface *); |
| 106 | 106 | ||
| 107 | static Scsi_Request *dummy_cmdp; /* only used for sizeof */ | ||
| 108 | |||
| 109 | static DEFINE_RWLOCK(sg_dev_arr_lock); /* Also used to lock | 107 | static DEFINE_RWLOCK(sg_dev_arr_lock); /* Also used to lock |
| 110 | file descriptor list for device */ | 108 | file descriptor list for device */ |
| 111 | 109 | ||
| @@ -119,7 +117,7 @@ typedef struct sg_scatter_hold { /* holding area for scsi scatter gather info */ | |||
| 119 | unsigned short sglist_len; /* size of malloc'd scatter-gather list ++ */ | 117 | unsigned short sglist_len; /* size of malloc'd scatter-gather list ++ */ |
| 120 | unsigned bufflen; /* Size of (aggregate) data buffer */ | 118 | unsigned bufflen; /* Size of (aggregate) data buffer */ |
| 121 | unsigned b_malloc_len; /* actual len malloc'ed in buffer */ | 119 | unsigned b_malloc_len; /* actual len malloc'ed in buffer */ |
| 122 | void *buffer; /* Data buffer or scatter list (k_use_sg>0) */ | 120 | struct scatterlist *buffer;/* scatter list */ |
| 123 | char dio_in_use; /* 0->indirect IO (or mmap), 1->dio */ | 121 | char dio_in_use; /* 0->indirect IO (or mmap), 1->dio */ |
| 124 | unsigned char cmd_opcode; /* first byte of command */ | 122 | unsigned char cmd_opcode; /* first byte of command */ |
| 125 | } Sg_scatter_hold; | 123 | } Sg_scatter_hold; |
| @@ -128,12 +126,11 @@ struct sg_device; /* forward declarations */ | |||
| 128 | struct sg_fd; | 126 | struct sg_fd; |
| 129 | 127 | ||
| 130 | typedef struct sg_request { /* SG_MAX_QUEUE requests outstanding per file */ | 128 | typedef struct sg_request { /* SG_MAX_QUEUE requests outstanding per file */ |
| 131 | Scsi_Request *my_cmdp; /* != 0 when request with lower levels */ | ||
| 132 | struct sg_request *nextrp; /* NULL -> tail request (slist) */ | 129 | struct sg_request *nextrp; /* NULL -> tail request (slist) */ |
| 133 | struct sg_fd *parentfp; /* NULL -> not in use */ | 130 | struct sg_fd *parentfp; /* NULL -> not in use */ |
| 134 | Sg_scatter_hold data; /* hold buffer, perhaps scatter list */ | 131 | Sg_scatter_hold data; /* hold buffer, perhaps scatter list */ |
| 135 | sg_io_hdr_t header; /* scsi command+info, see <scsi/sg.h> */ | 132 | sg_io_hdr_t header; /* scsi command+info, see <scsi/sg.h> */ |
| 136 | unsigned char sense_b[sizeof (dummy_cmdp->sr_sense_buffer)]; | 133 | unsigned char sense_b[SCSI_SENSE_BUFFERSIZE]; |
| 137 | char res_used; /* 1 -> using reserve buffer, 0 -> not ... */ | 134 | char res_used; /* 1 -> using reserve buffer, 0 -> not ... */ |
| 138 | char orphan; /* 1 -> drop on sight, 0 -> normal */ | 135 | char orphan; /* 1 -> drop on sight, 0 -> normal */ |
| 139 | char sg_io_owned; /* 1 -> packet belongs to SG_IO */ | 136 | char sg_io_owned; /* 1 -> packet belongs to SG_IO */ |
| @@ -174,7 +171,8 @@ typedef struct sg_device { /* holds the state of each scsi generic device */ | |||
| 174 | } Sg_device; | 171 | } Sg_device; |
| 175 | 172 | ||
| 176 | static int sg_fasync(int fd, struct file *filp, int mode); | 173 | static int sg_fasync(int fd, struct file *filp, int mode); |
| 177 | static void sg_cmd_done(Scsi_Cmnd * SCpnt); /* tasklet or soft irq callback */ | 174 | /* tasklet or soft irq callback */ |
| 175 | static void sg_cmd_done(void *data, char *sense, int result, int resid); | ||
| 178 | static int sg_start_req(Sg_request * srp); | 176 | static int sg_start_req(Sg_request * srp); |
| 179 | static void sg_finish_rem_req(Sg_request * srp); | 177 | static void sg_finish_rem_req(Sg_request * srp); |
| 180 | static int sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size); | 178 | static int sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size); |
| @@ -195,8 +193,8 @@ static void sg_remove_scat(Sg_scatter_hold * schp); | |||
| 195 | static void sg_build_reserve(Sg_fd * sfp, int req_size); | 193 | static void sg_build_reserve(Sg_fd * sfp, int req_size); |
| 196 | static void sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size); | 194 | static void sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size); |
| 197 | static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp); | 195 | static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp); |
| 198 | static char *sg_page_malloc(int rqSz, int lowDma, int *retSzp); | 196 | static struct page *sg_page_malloc(int rqSz, int lowDma, int *retSzp); |
| 199 | static void sg_page_free(char *buff, int size); | 197 | static void sg_page_free(struct page *page, int size); |
| 200 | static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev); | 198 | static Sg_fd *sg_add_sfp(Sg_device * sdp, int dev); |
| 201 | static int sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp); | 199 | static int sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp); |
| 202 | static void __sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp); | 200 | static void __sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp); |
| @@ -207,7 +205,6 @@ static int sg_res_in_use(Sg_fd * sfp); | |||
| 207 | static int sg_allow_access(unsigned char opcode, char dev_type); | 205 | static int sg_allow_access(unsigned char opcode, char dev_type); |
| 208 | static int sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len); | 206 | static int sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len); |
| 209 | static Sg_device *sg_get_dev(int dev); | 207 | static Sg_device *sg_get_dev(int dev); |
| 210 | static inline unsigned char *sg_scatg2virt(const struct scatterlist *sclp); | ||
| 211 | #ifdef CONFIG_SCSI_PROC_FS | 208 | #ifdef CONFIG_SCSI_PROC_FS |
| 212 | static int sg_last_dev(void); | 209 | static int sg_last_dev(void); |
| 213 | #endif | 210 | #endif |
| @@ -226,6 +223,7 @@ sg_open(struct inode *inode, struct file *filp) | |||
| 226 | { | 223 | { |
| 227 | int dev = iminor(inode); | 224 | int dev = iminor(inode); |
| 228 | int flags = filp->f_flags; | 225 | int flags = filp->f_flags; |
| 226 | struct request_queue *q; | ||
| 229 | Sg_device *sdp; | 227 | Sg_device *sdp; |
| 230 | Sg_fd *sfp; | 228 | Sg_fd *sfp; |
| 231 | int res; | 229 | int res; |
| @@ -287,7 +285,9 @@ sg_open(struct inode *inode, struct file *filp) | |||
| 287 | } | 285 | } |
| 288 | if (!sdp->headfp) { /* no existing opens on this device */ | 286 | if (!sdp->headfp) { /* no existing opens on this device */ |
| 289 | sdp->sgdebug = 0; | 287 | sdp->sgdebug = 0; |
| 290 | sdp->sg_tablesize = sdp->device->host->sg_tablesize; | 288 | q = sdp->device->request_queue; |
| 289 | sdp->sg_tablesize = min(q->max_hw_segments, | ||
| 290 | q->max_phys_segments); | ||
| 291 | } | 291 | } |
| 292 | if ((sfp = sg_add_sfp(sdp, dev))) | 292 | if ((sfp = sg_add_sfp(sdp, dev))) |
| 293 | filp->private_data = sfp; | 293 | filp->private_data = sfp; |
| @@ -340,6 +340,7 @@ sg_read(struct file *filp, char __user *buf, size_t count, loff_t * ppos) | |||
| 340 | return -ENXIO; | 340 | return -ENXIO; |
| 341 | SCSI_LOG_TIMEOUT(3, printk("sg_read: %s, count=%d\n", | 341 | SCSI_LOG_TIMEOUT(3, printk("sg_read: %s, count=%d\n", |
| 342 | sdp->disk->disk_name, (int) count)); | 342 | sdp->disk->disk_name, (int) count)); |
| 343 | |||
| 343 | if (!access_ok(VERIFY_WRITE, buf, count)) | 344 | if (!access_ok(VERIFY_WRITE, buf, count)) |
| 344 | return -EFAULT; | 345 | return -EFAULT; |
| 345 | if (sfp->force_packid && (count >= SZ_SG_HEADER)) { | 346 | if (sfp->force_packid && (count >= SZ_SG_HEADER)) { |
| @@ -491,7 +492,7 @@ sg_new_read(Sg_fd * sfp, char __user *buf, size_t count, Sg_request * srp) | |||
| 491 | if ((hp->mx_sb_len > 0) && hp->sbp) { | 492 | if ((hp->mx_sb_len > 0) && hp->sbp) { |
| 492 | if ((CHECK_CONDITION & hp->masked_status) || | 493 | if ((CHECK_CONDITION & hp->masked_status) || |
| 493 | (DRIVER_SENSE & hp->driver_status)) { | 494 | (DRIVER_SENSE & hp->driver_status)) { |
| 494 | int sb_len = sizeof (dummy_cmdp->sr_sense_buffer); | 495 | int sb_len = SCSI_SENSE_BUFFERSIZE; |
| 495 | sb_len = (hp->mx_sb_len > sb_len) ? sb_len : hp->mx_sb_len; | 496 | sb_len = (hp->mx_sb_len > sb_len) ? sb_len : hp->mx_sb_len; |
| 496 | len = 8 + (int) srp->sense_b[7]; /* Additional sense length field */ | 497 | len = 8 + (int) srp->sense_b[7]; /* Additional sense length field */ |
| 497 | len = (len > sb_len) ? sb_len : len; | 498 | len = (len > sb_len) ? sb_len : len; |
| @@ -525,7 +526,7 @@ sg_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 525 | Sg_request *srp; | 526 | Sg_request *srp; |
| 526 | struct sg_header old_hdr; | 527 | struct sg_header old_hdr; |
| 527 | sg_io_hdr_t *hp; | 528 | sg_io_hdr_t *hp; |
| 528 | unsigned char cmnd[sizeof (dummy_cmdp->sr_cmnd)]; | 529 | unsigned char cmnd[MAX_COMMAND_SIZE]; |
| 529 | 530 | ||
| 530 | if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) | 531 | if ((!(sfp = (Sg_fd *) filp->private_data)) || (!(sdp = sfp->parentdp))) |
| 531 | return -ENXIO; | 532 | return -ENXIO; |
| @@ -624,7 +625,7 @@ sg_new_write(Sg_fd * sfp, const char __user *buf, size_t count, | |||
| 624 | int k; | 625 | int k; |
| 625 | Sg_request *srp; | 626 | Sg_request *srp; |
| 626 | sg_io_hdr_t *hp; | 627 | sg_io_hdr_t *hp; |
| 627 | unsigned char cmnd[sizeof (dummy_cmdp->sr_cmnd)]; | 628 | unsigned char cmnd[MAX_COMMAND_SIZE]; |
| 628 | int timeout; | 629 | int timeout; |
| 629 | unsigned long ul_timeout; | 630 | unsigned long ul_timeout; |
| 630 | 631 | ||
| @@ -692,11 +693,9 @@ static int | |||
| 692 | sg_common_write(Sg_fd * sfp, Sg_request * srp, | 693 | sg_common_write(Sg_fd * sfp, Sg_request * srp, |
| 693 | unsigned char *cmnd, int timeout, int blocking) | 694 | unsigned char *cmnd, int timeout, int blocking) |
| 694 | { | 695 | { |
| 695 | int k; | 696 | int k, data_dir; |
| 696 | Scsi_Request *SRpnt; | ||
| 697 | Sg_device *sdp = sfp->parentdp; | 697 | Sg_device *sdp = sfp->parentdp; |
| 698 | sg_io_hdr_t *hp = &srp->header; | 698 | sg_io_hdr_t *hp = &srp->header; |
| 699 | request_queue_t *q; | ||
| 700 | 699 | ||
| 701 | srp->data.cmd_opcode = cmnd[0]; /* hold opcode of command */ | 700 | srp->data.cmd_opcode = cmnd[0]; /* hold opcode of command */ |
| 702 | hp->status = 0; | 701 | hp->status = 0; |
| @@ -723,51 +722,36 @@ sg_common_write(Sg_fd * sfp, Sg_request * srp, | |||
| 723 | sg_finish_rem_req(srp); | 722 | sg_finish_rem_req(srp); |
| 724 | return -ENODEV; | 723 | return -ENODEV; |
| 725 | } | 724 | } |
| 726 | SRpnt = scsi_allocate_request(sdp->device, GFP_ATOMIC); | ||
| 727 | if (SRpnt == NULL) { | ||
| 728 | SCSI_LOG_TIMEOUT(1, printk("sg_write: no mem\n")); | ||
| 729 | sg_finish_rem_req(srp); | ||
| 730 | return -ENOMEM; | ||
| 731 | } | ||
| 732 | 725 | ||
| 733 | srp->my_cmdp = SRpnt; | ||
| 734 | q = SRpnt->sr_device->request_queue; | ||
| 735 | SRpnt->sr_request->rq_disk = sdp->disk; | ||
| 736 | SRpnt->sr_sense_buffer[0] = 0; | ||
| 737 | SRpnt->sr_cmd_len = hp->cmd_len; | ||
| 738 | SRpnt->sr_use_sg = srp->data.k_use_sg; | ||
| 739 | SRpnt->sr_sglist_len = srp->data.sglist_len; | ||
| 740 | SRpnt->sr_bufflen = srp->data.bufflen; | ||
| 741 | SRpnt->sr_underflow = 0; | ||
| 742 | SRpnt->sr_buffer = srp->data.buffer; | ||
| 743 | switch (hp->dxfer_direction) { | 726 | switch (hp->dxfer_direction) { |
| 744 | case SG_DXFER_TO_FROM_DEV: | 727 | case SG_DXFER_TO_FROM_DEV: |
| 745 | case SG_DXFER_FROM_DEV: | 728 | case SG_DXFER_FROM_DEV: |
| 746 | SRpnt->sr_data_direction = DMA_FROM_DEVICE; | 729 | data_dir = DMA_FROM_DEVICE; |
| 747 | break; | 730 | break; |
| 748 | case SG_DXFER_TO_DEV: | 731 | case SG_DXFER_TO_DEV: |
| 749 | SRpnt->sr_data_direction = DMA_TO_DEVICE; | 732 | data_dir = DMA_TO_DEVICE; |
| 750 | break; | 733 | break; |
| 751 | case SG_DXFER_UNKNOWN: | 734 | case SG_DXFER_UNKNOWN: |
| 752 | SRpnt->sr_data_direction = DMA_BIDIRECTIONAL; | 735 | data_dir = DMA_BIDIRECTIONAL; |
| 753 | break; | 736 | break; |
| 754 | default: | 737 | default: |
| 755 | SRpnt->sr_data_direction = DMA_NONE; | 738 | data_dir = DMA_NONE; |
| 756 | break; | 739 | break; |
| 757 | } | 740 | } |
| 758 | SRpnt->upper_private_data = srp; | ||
| 759 | srp->data.k_use_sg = 0; | ||
| 760 | srp->data.sglist_len = 0; | ||
| 761 | srp->data.bufflen = 0; | ||
| 762 | srp->data.buffer = NULL; | ||
| 763 | hp->duration = jiffies_to_msecs(jiffies); | 741 | hp->duration = jiffies_to_msecs(jiffies); |
| 764 | /* Now send everything of to mid-level. The next time we hear about this | 742 | /* Now send everything of to mid-level. The next time we hear about this |
| 765 | packet is when sg_cmd_done() is called (i.e. a callback). */ | 743 | packet is when sg_cmd_done() is called (i.e. a callback). */ |
| 766 | scsi_do_req(SRpnt, (void *) cmnd, | 744 | if (scsi_execute_async(sdp->device, cmnd, data_dir, srp->data.buffer, |
| 767 | (void *) SRpnt->sr_buffer, hp->dxfer_len, | 745 | hp->dxfer_len, srp->data.k_use_sg, timeout, |
| 768 | sg_cmd_done, timeout, SG_DEFAULT_RETRIES); | 746 | SG_DEFAULT_RETRIES, srp, sg_cmd_done, |
| 769 | /* dxfer_len overwrites SRpnt->sr_bufflen, hence need for b_malloc_len */ | 747 | GFP_ATOMIC)) { |
| 770 | return 0; | 748 | SCSI_LOG_TIMEOUT(1, printk("sg_write: scsi_execute_async failed\n")); |
| 749 | /* | ||
| 750 | * most likely out of mem, but could also be a bad map | ||
| 751 | */ | ||
| 752 | return -ENOMEM; | ||
| 753 | } else | ||
| 754 | return 0; | ||
| 771 | } | 755 | } |
| 772 | 756 | ||
| 773 | static int | 757 | static int |
| @@ -1156,45 +1140,22 @@ sg_fasync(int fd, struct file *filp, int mode) | |||
| 1156 | return (retval < 0) ? retval : 0; | 1140 | return (retval < 0) ? retval : 0; |
| 1157 | } | 1141 | } |
| 1158 | 1142 | ||
| 1159 | static inline unsigned char * | ||
| 1160 | sg_scatg2virt(const struct scatterlist *sclp) | ||
| 1161 | { | ||
| 1162 | return (sclp && sclp->page) ? | ||
| 1163 | (unsigned char *) page_address(sclp->page) + sclp->offset : NULL; | ||
| 1164 | } | ||
| 1165 | |||
| 1166 | /* When startFinish==1 increments page counts for pages other than the | 1143 | /* When startFinish==1 increments page counts for pages other than the |
| 1167 | first of scatter gather elements obtained from __get_free_pages(). | 1144 | first of scatter gather elements obtained from alloc_pages(). |
| 1168 | When startFinish==0 decrements ... */ | 1145 | When startFinish==0 decrements ... */ |
| 1169 | static void | 1146 | static void |
| 1170 | sg_rb_correct4mmap(Sg_scatter_hold * rsv_schp, int startFinish) | 1147 | sg_rb_correct4mmap(Sg_scatter_hold * rsv_schp, int startFinish) |
| 1171 | { | 1148 | { |
| 1172 | void *page_ptr; | 1149 | struct scatterlist *sg = rsv_schp->buffer; |
| 1173 | struct page *page; | 1150 | struct page *page; |
| 1174 | int k, m; | 1151 | int k, m; |
| 1175 | 1152 | ||
| 1176 | SCSI_LOG_TIMEOUT(3, printk("sg_rb_correct4mmap: startFinish=%d, scatg=%d\n", | 1153 | SCSI_LOG_TIMEOUT(3, printk("sg_rb_correct4mmap: startFinish=%d, scatg=%d\n", |
| 1177 | startFinish, rsv_schp->k_use_sg)); | 1154 | startFinish, rsv_schp->k_use_sg)); |
| 1178 | /* N.B. correction _not_ applied to base page of each allocation */ | 1155 | /* N.B. correction _not_ applied to base page of each allocation */ |
| 1179 | if (rsv_schp->k_use_sg) { /* reserve buffer is a scatter gather list */ | 1156 | for (k = 0; k < rsv_schp->k_use_sg; ++k, ++sg) { |
| 1180 | struct scatterlist *sclp = rsv_schp->buffer; | 1157 | for (m = PAGE_SIZE; m < sg->length; m += PAGE_SIZE) { |
| 1181 | 1158 | page = sg->page; | |
| 1182 | for (k = 0; k < rsv_schp->k_use_sg; ++k, ++sclp) { | ||
| 1183 | for (m = PAGE_SIZE; m < sclp->length; m += PAGE_SIZE) { | ||
| 1184 | page_ptr = sg_scatg2virt(sclp) + m; | ||
| 1185 | page = virt_to_page(page_ptr); | ||
| 1186 | if (startFinish) | ||
| 1187 | get_page(page); | ||
| 1188 | else { | ||
| 1189 | if (page_count(page) > 0) | ||
| 1190 | __put_page(page); | ||
| 1191 | } | ||
| 1192 | } | ||
| 1193 | } | ||
| 1194 | } else { /* reserve buffer is just a single allocation */ | ||
| 1195 | for (m = PAGE_SIZE; m < rsv_schp->bufflen; m += PAGE_SIZE) { | ||
| 1196 | page_ptr = (unsigned char *) rsv_schp->buffer + m; | ||
| 1197 | page = virt_to_page(page_ptr); | ||
| 1198 | if (startFinish) | 1159 | if (startFinish) |
| 1199 | get_page(page); | 1160 | get_page(page); |
| 1200 | else { | 1161 | else { |
| @@ -1210,9 +1171,10 @@ sg_vma_nopage(struct vm_area_struct *vma, unsigned long addr, int *type) | |||
| 1210 | { | 1171 | { |
| 1211 | Sg_fd *sfp; | 1172 | Sg_fd *sfp; |
| 1212 | struct page *page = NOPAGE_SIGBUS; | 1173 | struct page *page = NOPAGE_SIGBUS; |
| 1213 | void *page_ptr = NULL; | 1174 | unsigned long offset, len, sa; |
| 1214 | unsigned long offset; | ||
| 1215 | Sg_scatter_hold *rsv_schp; | 1175 | Sg_scatter_hold *rsv_schp; |
| 1176 | struct scatterlist *sg; | ||
| 1177 | int k; | ||
| 1216 | 1178 | ||
| 1217 | if ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data))) | 1179 | if ((NULL == vma) || (!(sfp = (Sg_fd *) vma->vm_private_data))) |
| 1218 | return page; | 1180 | return page; |
| @@ -1222,30 +1184,21 @@ sg_vma_nopage(struct vm_area_struct *vma, unsigned long addr, int *type) | |||
| 1222 | return page; | 1184 | return page; |
| 1223 | SCSI_LOG_TIMEOUT(3, printk("sg_vma_nopage: offset=%lu, scatg=%d\n", | 1185 | SCSI_LOG_TIMEOUT(3, printk("sg_vma_nopage: offset=%lu, scatg=%d\n", |
| 1224 | offset, rsv_schp->k_use_sg)); | 1186 | offset, rsv_schp->k_use_sg)); |
| 1225 | if (rsv_schp->k_use_sg) { /* reserve buffer is a scatter gather list */ | 1187 | sg = rsv_schp->buffer; |
| 1226 | int k; | 1188 | sa = vma->vm_start; |
| 1227 | unsigned long sa = vma->vm_start; | 1189 | for (k = 0; (k < rsv_schp->k_use_sg) && (sa < vma->vm_end); |
| 1228 | unsigned long len; | 1190 | ++k, ++sg) { |
| 1229 | struct scatterlist *sclp = rsv_schp->buffer; | 1191 | len = vma->vm_end - sa; |
| 1230 | 1192 | len = (len < sg->length) ? len : sg->length; | |
| 1231 | for (k = 0; (k < rsv_schp->k_use_sg) && (sa < vma->vm_end); | 1193 | if (offset < len) { |
| 1232 | ++k, ++sclp) { | 1194 | page = sg->page; |
| 1233 | len = vma->vm_end - sa; | 1195 | get_page(page); /* increment page count */ |
| 1234 | len = (len < sclp->length) ? len : sclp->length; | 1196 | break; |
| 1235 | if (offset < len) { | ||
| 1236 | page_ptr = sg_scatg2virt(sclp) + offset; | ||
| 1237 | page = virt_to_page(page_ptr); | ||
| 1238 | get_page(page); /* increment page count */ | ||
| 1239 | break; | ||
| 1240 | } | ||
| 1241 | sa += len; | ||
| 1242 | offset -= len; | ||
| 1243 | } | 1197 | } |
| 1244 | } else { /* reserve buffer is just a single allocation */ | 1198 | sa += len; |
| 1245 | page_ptr = (unsigned char *) rsv_schp->buffer + offset; | 1199 | offset -= len; |
| 1246 | page = virt_to_page(page_ptr); | ||
| 1247 | get_page(page); /* increment page count */ | ||
| 1248 | } | 1200 | } |
| 1201 | |||
| 1249 | if (type) | 1202 | if (type) |
| 1250 | *type = VM_FAULT_MINOR; | 1203 | *type = VM_FAULT_MINOR; |
| 1251 | return page; | 1204 | return page; |
| @@ -1259,8 +1212,10 @@ static int | |||
| 1259 | sg_mmap(struct file *filp, struct vm_area_struct *vma) | 1212 | sg_mmap(struct file *filp, struct vm_area_struct *vma) |
| 1260 | { | 1213 | { |
| 1261 | Sg_fd *sfp; | 1214 | Sg_fd *sfp; |
| 1262 | unsigned long req_sz; | 1215 | unsigned long req_sz, len, sa; |
| 1263 | Sg_scatter_hold *rsv_schp; | 1216 | Sg_scatter_hold *rsv_schp; |
| 1217 | int k; | ||
| 1218 | struct scatterlist *sg; | ||
| 1264 | 1219 | ||
| 1265 | if ((!filp) || (!vma) || (!(sfp = (Sg_fd *) filp->private_data))) | 1220 | if ((!filp) || (!vma) || (!(sfp = (Sg_fd *) filp->private_data))) |
| 1266 | return -ENXIO; | 1221 | return -ENXIO; |
| @@ -1273,24 +1228,15 @@ sg_mmap(struct file *filp, struct vm_area_struct *vma) | |||
| 1273 | if (req_sz > rsv_schp->bufflen) | 1228 | if (req_sz > rsv_schp->bufflen) |
| 1274 | return -ENOMEM; /* cannot map more than reserved buffer */ | 1229 | return -ENOMEM; /* cannot map more than reserved buffer */ |
| 1275 | 1230 | ||
| 1276 | if (rsv_schp->k_use_sg) { /* reserve buffer is a scatter gather list */ | 1231 | sa = vma->vm_start; |
| 1277 | int k; | 1232 | sg = rsv_schp->buffer; |
| 1278 | unsigned long sa = vma->vm_start; | 1233 | for (k = 0; (k < rsv_schp->k_use_sg) && (sa < vma->vm_end); |
| 1279 | unsigned long len; | 1234 | ++k, ++sg) { |
| 1280 | struct scatterlist *sclp = rsv_schp->buffer; | 1235 | len = vma->vm_end - sa; |
| 1281 | 1236 | len = (len < sg->length) ? len : sg->length; | |
| 1282 | for (k = 0; (k < rsv_schp->k_use_sg) && (sa < vma->vm_end); | 1237 | sa += len; |
| 1283 | ++k, ++sclp) { | ||
| 1284 | if (0 != sclp->offset) | ||
| 1285 | return -EFAULT; /* non page aligned memory ?? */ | ||
| 1286 | len = vma->vm_end - sa; | ||
| 1287 | len = (len < sclp->length) ? len : sclp->length; | ||
| 1288 | sa += len; | ||
| 1289 | } | ||
| 1290 | } else { /* reserve buffer is just a single allocation */ | ||
| 1291 | if ((unsigned long) rsv_schp->buffer & (PAGE_SIZE - 1)) | ||
| 1292 | return -EFAULT; /* non page aligned memory ?? */ | ||
| 1293 | } | 1238 | } |
| 1239 | |||
| 1294 | if (0 == sfp->mmap_called) { | 1240 | if (0 == sfp->mmap_called) { |
| 1295 | sg_rb_correct4mmap(rsv_schp, 1); /* do only once per fd lifetime */ | 1241 | sg_rb_correct4mmap(rsv_schp, 1); /* do only once per fd lifetime */ |
| 1296 | sfp->mmap_called = 1; | 1242 | sfp->mmap_called = 1; |
| @@ -1304,21 +1250,16 @@ sg_mmap(struct file *filp, struct vm_area_struct *vma) | |||
| 1304 | /* This function is a "bottom half" handler that is called by the | 1250 | /* This function is a "bottom half" handler that is called by the |
| 1305 | * mid level when a command is completed (or has failed). */ | 1251 | * mid level when a command is completed (or has failed). */ |
| 1306 | static void | 1252 | static void |
| 1307 | sg_cmd_done(Scsi_Cmnd * SCpnt) | 1253 | sg_cmd_done(void *data, char *sense, int result, int resid) |
| 1308 | { | 1254 | { |
| 1309 | Scsi_Request *SRpnt = NULL; | 1255 | Sg_request *srp = data; |
| 1310 | Sg_device *sdp = NULL; | 1256 | Sg_device *sdp = NULL; |
| 1311 | Sg_fd *sfp; | 1257 | Sg_fd *sfp; |
| 1312 | Sg_request *srp = NULL; | ||
| 1313 | unsigned long iflags; | 1258 | unsigned long iflags; |
| 1314 | unsigned int ms; | 1259 | unsigned int ms; |
| 1315 | 1260 | ||
| 1316 | if (SCpnt && (SRpnt = SCpnt->sc_request)) | ||
| 1317 | srp = (Sg_request *) SRpnt->upper_private_data; | ||
| 1318 | if (NULL == srp) { | 1261 | if (NULL == srp) { |
| 1319 | printk(KERN_ERR "sg_cmd_done: NULL request\n"); | 1262 | printk(KERN_ERR "sg_cmd_done: NULL request\n"); |
| 1320 | if (SRpnt) | ||
| 1321 | scsi_release_request(SRpnt); | ||
| 1322 | return; | 1263 | return; |
| 1323 | } | 1264 | } |
| 1324 | sfp = srp->parentfp; | 1265 | sfp = srp->parentfp; |
| @@ -1326,49 +1267,34 @@ sg_cmd_done(Scsi_Cmnd * SCpnt) | |||
| 1326 | sdp = sfp->parentdp; | 1267 | sdp = sfp->parentdp; |
| 1327 | if ((NULL == sdp) || sdp->detached) { | 1268 | if ((NULL == sdp) || sdp->detached) { |
| 1328 | printk(KERN_INFO "sg_cmd_done: device detached\n"); | 1269 | printk(KERN_INFO "sg_cmd_done: device detached\n"); |
| 1329 | scsi_release_request(SRpnt); | ||
| 1330 | return; | 1270 | return; |
| 1331 | } | 1271 | } |
| 1332 | 1272 | ||
| 1333 | /* First transfer ownership of data buffers to sg_device object. */ | ||
| 1334 | srp->data.k_use_sg = SRpnt->sr_use_sg; | ||
| 1335 | srp->data.sglist_len = SRpnt->sr_sglist_len; | ||
| 1336 | srp->data.bufflen = SRpnt->sr_bufflen; | ||
| 1337 | srp->data.buffer = SRpnt->sr_buffer; | ||
| 1338 | /* now clear out request structure */ | ||
| 1339 | SRpnt->sr_use_sg = 0; | ||
| 1340 | SRpnt->sr_sglist_len = 0; | ||
| 1341 | SRpnt->sr_bufflen = 0; | ||
| 1342 | SRpnt->sr_buffer = NULL; | ||
| 1343 | SRpnt->sr_underflow = 0; | ||
| 1344 | SRpnt->sr_request->rq_disk = NULL; /* "sg" _disowns_ request blk */ | ||
| 1345 | |||
| 1346 | srp->my_cmdp = NULL; | ||
| 1347 | 1273 | ||
| 1348 | SCSI_LOG_TIMEOUT(4, printk("sg_cmd_done: %s, pack_id=%d, res=0x%x\n", | 1274 | SCSI_LOG_TIMEOUT(4, printk("sg_cmd_done: %s, pack_id=%d, res=0x%x\n", |
| 1349 | sdp->disk->disk_name, srp->header.pack_id, (int) SRpnt->sr_result)); | 1275 | sdp->disk->disk_name, srp->header.pack_id, result)); |
| 1350 | srp->header.resid = SCpnt->resid; | 1276 | srp->header.resid = resid; |
| 1351 | ms = jiffies_to_msecs(jiffies); | 1277 | ms = jiffies_to_msecs(jiffies); |
| 1352 | srp->header.duration = (ms > srp->header.duration) ? | 1278 | srp->header.duration = (ms > srp->header.duration) ? |
| 1353 | (ms - srp->header.duration) : 0; | 1279 | (ms - srp->header.duration) : 0; |
| 1354 | if (0 != SRpnt->sr_result) { | 1280 | if (0 != result) { |
| 1355 | struct scsi_sense_hdr sshdr; | 1281 | struct scsi_sense_hdr sshdr; |
| 1356 | 1282 | ||
| 1357 | memcpy(srp->sense_b, SRpnt->sr_sense_buffer, | 1283 | memcpy(srp->sense_b, sense, sizeof (srp->sense_b)); |
| 1358 | sizeof (srp->sense_b)); | 1284 | srp->header.status = 0xff & result; |
| 1359 | srp->header.status = 0xff & SRpnt->sr_result; | 1285 | srp->header.masked_status = status_byte(result); |
| 1360 | srp->header.masked_status = status_byte(SRpnt->sr_result); | 1286 | srp->header.msg_status = msg_byte(result); |
| 1361 | srp->header.msg_status = msg_byte(SRpnt->sr_result); | 1287 | srp->header.host_status = host_byte(result); |
| 1362 | srp->header.host_status = host_byte(SRpnt->sr_result); | 1288 | srp->header.driver_status = driver_byte(result); |
| 1363 | srp->header.driver_status = driver_byte(SRpnt->sr_result); | ||
| 1364 | if ((sdp->sgdebug > 0) && | 1289 | if ((sdp->sgdebug > 0) && |
| 1365 | ((CHECK_CONDITION == srp->header.masked_status) || | 1290 | ((CHECK_CONDITION == srp->header.masked_status) || |
| 1366 | (COMMAND_TERMINATED == srp->header.masked_status))) | 1291 | (COMMAND_TERMINATED == srp->header.masked_status))) |
| 1367 | scsi_print_req_sense("sg_cmd_done", SRpnt); | 1292 | __scsi_print_sense("sg_cmd_done", sense, |
| 1293 | SCSI_SENSE_BUFFERSIZE); | ||
| 1368 | 1294 | ||
| 1369 | /* Following if statement is a patch supplied by Eric Youngdale */ | 1295 | /* Following if statement is a patch supplied by Eric Youngdale */ |
| 1370 | if (driver_byte(SRpnt->sr_result) != 0 | 1296 | if (driver_byte(result) != 0 |
| 1371 | && scsi_command_normalize_sense(SCpnt, &sshdr) | 1297 | && scsi_normalize_sense(sense, SCSI_SENSE_BUFFERSIZE, &sshdr) |
| 1372 | && !scsi_sense_is_deferred(&sshdr) | 1298 | && !scsi_sense_is_deferred(&sshdr) |
| 1373 | && sshdr.sense_key == UNIT_ATTENTION | 1299 | && sshdr.sense_key == UNIT_ATTENTION |
| 1374 | && sdp->device->removable) { | 1300 | && sdp->device->removable) { |
| @@ -1379,8 +1305,6 @@ sg_cmd_done(Scsi_Cmnd * SCpnt) | |||
| 1379 | } | 1305 | } |
| 1380 | /* Rely on write phase to clean out srp status values, so no "else" */ | 1306 | /* Rely on write phase to clean out srp status values, so no "else" */ |
| 1381 | 1307 | ||
| 1382 | scsi_release_request(SRpnt); | ||
| 1383 | SRpnt = NULL; | ||
| 1384 | if (sfp->closed) { /* whoops this fd already released, cleanup */ | 1308 | if (sfp->closed) { /* whoops this fd already released, cleanup */ |
| 1385 | SCSI_LOG_TIMEOUT(1, printk("sg_cmd_done: already closed, freeing ...\n")); | 1309 | SCSI_LOG_TIMEOUT(1, printk("sg_cmd_done: already closed, freeing ...\n")); |
| 1386 | sg_finish_rem_req(srp); | 1310 | sg_finish_rem_req(srp); |
| @@ -1431,6 +1355,7 @@ static int sg_sysfs_valid = 0; | |||
| 1431 | 1355 | ||
| 1432 | static int sg_alloc(struct gendisk *disk, struct scsi_device *scsidp) | 1356 | static int sg_alloc(struct gendisk *disk, struct scsi_device *scsidp) |
| 1433 | { | 1357 | { |
| 1358 | struct request_queue *q = scsidp->request_queue; | ||
| 1434 | Sg_device *sdp; | 1359 | Sg_device *sdp; |
| 1435 | unsigned long iflags; | 1360 | unsigned long iflags; |
| 1436 | void *old_sg_dev_arr = NULL; | 1361 | void *old_sg_dev_arr = NULL; |
| @@ -1473,7 +1398,7 @@ static int sg_alloc(struct gendisk *disk, struct scsi_device *scsidp) | |||
| 1473 | sdp->disk = disk; | 1398 | sdp->disk = disk; |
| 1474 | sdp->device = scsidp; | 1399 | sdp->device = scsidp; |
| 1475 | init_waitqueue_head(&sdp->o_excl_wait); | 1400 | init_waitqueue_head(&sdp->o_excl_wait); |
| 1476 | sdp->sg_tablesize = scsidp->host ? scsidp->host->sg_tablesize : 0; | 1401 | sdp->sg_tablesize = min(q->max_hw_segments, q->max_phys_segments); |
| 1477 | 1402 | ||
| 1478 | sg_nr_dev++; | 1403 | sg_nr_dev++; |
| 1479 | sg_dev_arr[k] = sdp; | 1404 | sg_dev_arr[k] = sdp; |
| @@ -1753,36 +1678,35 @@ sg_finish_rem_req(Sg_request * srp) | |||
| 1753 | static int | 1678 | static int |
| 1754 | sg_build_sgat(Sg_scatter_hold * schp, const Sg_fd * sfp, int tablesize) | 1679 | sg_build_sgat(Sg_scatter_hold * schp, const Sg_fd * sfp, int tablesize) |
| 1755 | { | 1680 | { |
| 1756 | int ret_sz; | 1681 | int sg_bufflen = tablesize * sizeof(struct scatterlist); |
| 1757 | int elem_sz = sizeof (struct scatterlist); | 1682 | unsigned int gfp_flags = GFP_ATOMIC | __GFP_NOWARN; |
| 1758 | int sg_bufflen = tablesize * elem_sz; | ||
| 1759 | int mx_sc_elems = tablesize; | ||
| 1760 | 1683 | ||
| 1761 | schp->buffer = sg_page_malloc(sg_bufflen, sfp->low_dma, &ret_sz); | 1684 | /* |
| 1685 | * TODO: test without low_dma, we should not need it since | ||
| 1686 | * the block layer will bounce the buffer for us | ||
| 1687 | * | ||
| 1688 | * XXX(hch): we shouldn't need GFP_DMA for the actual S/G list. | ||
| 1689 | */ | ||
| 1690 | if (sfp->low_dma) | ||
| 1691 | gfp_flags |= GFP_DMA; | ||
| 1692 | schp->buffer = kzalloc(sg_bufflen, gfp_flags); | ||
| 1762 | if (!schp->buffer) | 1693 | if (!schp->buffer) |
| 1763 | return -ENOMEM; | 1694 | return -ENOMEM; |
| 1764 | else if (ret_sz != sg_bufflen) { | ||
| 1765 | sg_bufflen = ret_sz; | ||
| 1766 | mx_sc_elems = sg_bufflen / elem_sz; | ||
| 1767 | } | ||
| 1768 | schp->sglist_len = sg_bufflen; | 1695 | schp->sglist_len = sg_bufflen; |
| 1769 | memset(schp->buffer, 0, sg_bufflen); | 1696 | return tablesize; /* number of scat_gath elements allocated */ |
| 1770 | return mx_sc_elems; /* number of scat_gath elements allocated */ | ||
| 1771 | } | 1697 | } |
| 1772 | 1698 | ||
| 1773 | #ifdef SG_ALLOW_DIO_CODE | 1699 | #ifdef SG_ALLOW_DIO_CODE |
| 1774 | /* vvvvvvvv following code borrowed from st driver's direct IO vvvvvvvvv */ | 1700 | /* vvvvvvvv following code borrowed from st driver's direct IO vvvvvvvvv */ |
| 1775 | /* hopefully this generic code will moved to a library */ | 1701 | /* TODO: hopefully we can use the generic block layer code */ |
| 1776 | 1702 | ||
| 1777 | /* Pin down user pages and put them into a scatter gather list. Returns <= 0 if | 1703 | /* Pin down user pages and put them into a scatter gather list. Returns <= 0 if |
| 1778 | - mapping of all pages not successful | 1704 | - mapping of all pages not successful |
| 1779 | - any page is above max_pfn | ||
| 1780 | (i.e., either completely successful or fails) | 1705 | (i.e., either completely successful or fails) |
| 1781 | */ | 1706 | */ |
| 1782 | static int | 1707 | static int |
| 1783 | st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | 1708 | st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, |
| 1784 | unsigned long uaddr, size_t count, int rw, | 1709 | unsigned long uaddr, size_t count, int rw) |
| 1785 | unsigned long max_pfn) | ||
| 1786 | { | 1710 | { |
| 1787 | unsigned long end = (uaddr + count + PAGE_SIZE - 1) >> PAGE_SHIFT; | 1711 | unsigned long end = (uaddr + count + PAGE_SIZE - 1) >> PAGE_SHIFT; |
| 1788 | unsigned long start = uaddr >> PAGE_SHIFT; | 1712 | unsigned long start = uaddr >> PAGE_SHIFT; |
| @@ -1828,21 +1752,17 @@ st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | |||
| 1828 | * probably wrong function for rw==WRITE | 1752 | * probably wrong function for rw==WRITE |
| 1829 | */ | 1753 | */ |
| 1830 | flush_dcache_page(pages[i]); | 1754 | flush_dcache_page(pages[i]); |
| 1831 | if (page_to_pfn(pages[i]) > max_pfn) | ||
| 1832 | goto out_unlock; | ||
| 1833 | /* ?? Is locking needed? I don't think so */ | 1755 | /* ?? Is locking needed? I don't think so */ |
| 1834 | /* if (TestSetPageLocked(pages[i])) | 1756 | /* if (TestSetPageLocked(pages[i])) |
| 1835 | goto out_unlock; */ | 1757 | goto out_unlock; */ |
| 1836 | } | 1758 | } |
| 1837 | 1759 | ||
| 1838 | /* Populate the scatter/gather list */ | 1760 | sgl[0].page = pages[0]; |
| 1839 | sgl[0].page = pages[0]; | ||
| 1840 | sgl[0].offset = uaddr & ~PAGE_MASK; | 1761 | sgl[0].offset = uaddr & ~PAGE_MASK; |
| 1841 | if (nr_pages > 1) { | 1762 | if (nr_pages > 1) { |
| 1842 | sgl[0].length = PAGE_SIZE - sgl[0].offset; | 1763 | sgl[0].length = PAGE_SIZE - sgl[0].offset; |
| 1843 | count -= sgl[0].length; | 1764 | count -= sgl[0].length; |
| 1844 | for (i=1; i < nr_pages ; i++) { | 1765 | for (i=1; i < nr_pages ; i++) { |
| 1845 | sgl[i].offset = 0; | ||
| 1846 | sgl[i].page = pages[i]; | 1766 | sgl[i].page = pages[i]; |
| 1847 | sgl[i].length = count < PAGE_SIZE ? count : PAGE_SIZE; | 1767 | sgl[i].length = count < PAGE_SIZE ? count : PAGE_SIZE; |
| 1848 | count -= PAGE_SIZE; | 1768 | count -= PAGE_SIZE; |
| @@ -1855,10 +1775,6 @@ st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | |||
| 1855 | kfree(pages); | 1775 | kfree(pages); |
| 1856 | return nr_pages; | 1776 | return nr_pages; |
| 1857 | 1777 | ||
| 1858 | out_unlock: | ||
| 1859 | /* for (j=0; j < i; j++) | ||
| 1860 | unlock_page(pages[j]); */ | ||
| 1861 | res = 0; | ||
| 1862 | out_unmap: | 1778 | out_unmap: |
| 1863 | if (res > 0) { | 1779 | if (res > 0) { |
| 1864 | for (j=0; j < res; j++) | 1780 | for (j=0; j < res; j++) |
| @@ -1904,20 +1820,20 @@ sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len) | |||
| 1904 | sg_io_hdr_t *hp = &srp->header; | 1820 | sg_io_hdr_t *hp = &srp->header; |
| 1905 | Sg_scatter_hold *schp = &srp->data; | 1821 | Sg_scatter_hold *schp = &srp->data; |
| 1906 | int sg_tablesize = sfp->parentdp->sg_tablesize; | 1822 | int sg_tablesize = sfp->parentdp->sg_tablesize; |
| 1907 | struct scatterlist *sgl; | ||
| 1908 | int mx_sc_elems, res; | 1823 | int mx_sc_elems, res; |
| 1909 | struct scsi_device *sdev = sfp->parentdp->device; | 1824 | struct scsi_device *sdev = sfp->parentdp->device; |
| 1910 | 1825 | ||
| 1911 | if (((unsigned long)hp->dxferp & | 1826 | if (((unsigned long)hp->dxferp & |
| 1912 | queue_dma_alignment(sdev->request_queue)) != 0) | 1827 | queue_dma_alignment(sdev->request_queue)) != 0) |
| 1913 | return 1; | 1828 | return 1; |
| 1829 | |||
| 1914 | mx_sc_elems = sg_build_sgat(schp, sfp, sg_tablesize); | 1830 | mx_sc_elems = sg_build_sgat(schp, sfp, sg_tablesize); |
| 1915 | if (mx_sc_elems <= 0) { | 1831 | if (mx_sc_elems <= 0) { |
| 1916 | return 1; | 1832 | return 1; |
| 1917 | } | 1833 | } |
| 1918 | sgl = (struct scatterlist *)schp->buffer; | 1834 | res = st_map_user_pages(schp->buffer, mx_sc_elems, |
| 1919 | res = st_map_user_pages(sgl, mx_sc_elems, (unsigned long)hp->dxferp, dxfer_len, | 1835 | (unsigned long)hp->dxferp, dxfer_len, |
| 1920 | (SG_DXFER_TO_DEV == hp->dxfer_direction) ? 1 : 0, ULONG_MAX); | 1836 | (SG_DXFER_TO_DEV == hp->dxfer_direction) ? 1 : 0); |
| 1921 | if (res <= 0) | 1837 | if (res <= 0) |
| 1922 | return 1; | 1838 | return 1; |
| 1923 | schp->k_use_sg = res; | 1839 | schp->k_use_sg = res; |
| @@ -1932,9 +1848,11 @@ sg_build_direct(Sg_request * srp, Sg_fd * sfp, int dxfer_len) | |||
| 1932 | static int | 1848 | static int |
| 1933 | sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size) | 1849 | sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size) |
| 1934 | { | 1850 | { |
| 1935 | int ret_sz; | 1851 | struct scatterlist *sg; |
| 1852 | int ret_sz = 0, k, rem_sz, num, mx_sc_elems; | ||
| 1853 | int sg_tablesize = sfp->parentdp->sg_tablesize; | ||
| 1936 | int blk_size = buff_size; | 1854 | int blk_size = buff_size; |
| 1937 | unsigned char *p = NULL; | 1855 | struct page *p = NULL; |
| 1938 | 1856 | ||
| 1939 | if ((blk_size < 0) || (!sfp)) | 1857 | if ((blk_size < 0) || (!sfp)) |
| 1940 | return -EFAULT; | 1858 | return -EFAULT; |
| @@ -1944,59 +1862,35 @@ sg_build_indirect(Sg_scatter_hold * schp, Sg_fd * sfp, int buff_size) | |||
| 1944 | blk_size = (blk_size + SG_SECTOR_MSK) & (~SG_SECTOR_MSK); | 1862 | blk_size = (blk_size + SG_SECTOR_MSK) & (~SG_SECTOR_MSK); |
| 1945 | SCSI_LOG_TIMEOUT(4, printk("sg_build_indirect: buff_size=%d, blk_size=%d\n", | 1863 | SCSI_LOG_TIMEOUT(4, printk("sg_build_indirect: buff_size=%d, blk_size=%d\n", |
| 1946 | buff_size, blk_size)); | 1864 | buff_size, blk_size)); |
| 1947 | if (blk_size <= SG_SCATTER_SZ) { | 1865 | |
| 1948 | p = sg_page_malloc(blk_size, sfp->low_dma, &ret_sz); | 1866 | /* N.B. ret_sz carried into this block ... */ |
| 1949 | if (!p) | 1867 | mx_sc_elems = sg_build_sgat(schp, sfp, sg_tablesize); |
| 1950 | return -ENOMEM; | 1868 | if (mx_sc_elems < 0) |
| 1951 | if (blk_size == ret_sz) { /* got it on the first attempt */ | 1869 | return mx_sc_elems; /* most likely -ENOMEM */ |
| 1952 | schp->k_use_sg = 0; | 1870 | |
| 1953 | schp->buffer = p; | 1871 | for (k = 0, sg = schp->buffer, rem_sz = blk_size; |
| 1954 | schp->bufflen = blk_size; | 1872 | (rem_sz > 0) && (k < mx_sc_elems); |
| 1955 | schp->b_malloc_len = blk_size; | 1873 | ++k, rem_sz -= ret_sz, ++sg) { |
| 1956 | return 0; | 1874 | |
| 1957 | } | 1875 | num = (rem_sz > SG_SCATTER_SZ) ? SG_SCATTER_SZ : rem_sz; |
| 1958 | } else { | 1876 | p = sg_page_malloc(num, sfp->low_dma, &ret_sz); |
| 1959 | p = sg_page_malloc(SG_SCATTER_SZ, sfp->low_dma, &ret_sz); | ||
| 1960 | if (!p) | 1877 | if (!p) |
| 1961 | return -ENOMEM; | 1878 | return -ENOMEM; |
| 1962 | } | 1879 | |
| 1963 | /* Want some local declarations, so start new block ... */ | 1880 | sg->page = p; |
| 1964 | { /* lets try and build a scatter gather list */ | 1881 | sg->length = ret_sz; |
| 1965 | struct scatterlist *sclp; | 1882 | |
| 1966 | int k, rem_sz, num; | 1883 | SCSI_LOG_TIMEOUT(5, printk("sg_build_build: k=%d, a=0x%p, len=%d\n", |
| 1967 | int mx_sc_elems; | 1884 | k, p, ret_sz)); |
| 1968 | int sg_tablesize = sfp->parentdp->sg_tablesize; | 1885 | } /* end of for loop */ |
| 1969 | int first = 1; | 1886 | |
| 1970 | 1887 | schp->k_use_sg = k; | |
| 1971 | /* N.B. ret_sz carried into this block ... */ | 1888 | SCSI_LOG_TIMEOUT(5, printk("sg_build_indirect: k_use_sg=%d, rem_sz=%d\n", k, rem_sz)); |
| 1972 | mx_sc_elems = sg_build_sgat(schp, sfp, sg_tablesize); | 1889 | |
| 1973 | if (mx_sc_elems < 0) | 1890 | schp->bufflen = blk_size; |
| 1974 | return mx_sc_elems; /* most likely -ENOMEM */ | 1891 | if (rem_sz > 0) /* must have failed */ |
| 1975 | 1892 | return -ENOMEM; | |
| 1976 | for (k = 0, sclp = schp->buffer, rem_sz = blk_size; | 1893 | |
| 1977 | (rem_sz > 0) && (k < mx_sc_elems); | ||
| 1978 | ++k, rem_sz -= ret_sz, ++sclp) { | ||
| 1979 | if (first) | ||
| 1980 | first = 0; | ||
| 1981 | else { | ||
| 1982 | num = | ||
| 1983 | (rem_sz > | ||
| 1984 | SG_SCATTER_SZ) ? SG_SCATTER_SZ : rem_sz; | ||
| 1985 | p = sg_page_malloc(num, sfp->low_dma, &ret_sz); | ||
| 1986 | if (!p) | ||
| 1987 | break; | ||
| 1988 | } | ||
| 1989 | sg_set_buf(sclp, p, ret_sz); | ||
| 1990 | |||
| 1991 | SCSI_LOG_TIMEOUT(5, printk("sg_build_build: k=%d, a=0x%p, len=%d\n", | ||
| 1992 | k, sg_scatg2virt(sclp), ret_sz)); | ||
| 1993 | } /* end of for loop */ | ||
| 1994 | schp->k_use_sg = k; | ||
| 1995 | SCSI_LOG_TIMEOUT(5, printk("sg_build_indirect: k_use_sg=%d, rem_sz=%d\n", k, rem_sz)); | ||
| 1996 | schp->bufflen = blk_size; | ||
| 1997 | if (rem_sz > 0) /* must have failed */ | ||
| 1998 | return -ENOMEM; | ||
| 1999 | } | ||
| 2000 | return 0; | 1894 | return 0; |
| 2001 | } | 1895 | } |
| 2002 | 1896 | ||
| @@ -2005,6 +1899,7 @@ sg_write_xfer(Sg_request * srp) | |||
| 2005 | { | 1899 | { |
| 2006 | sg_io_hdr_t *hp = &srp->header; | 1900 | sg_io_hdr_t *hp = &srp->header; |
| 2007 | Sg_scatter_hold *schp = &srp->data; | 1901 | Sg_scatter_hold *schp = &srp->data; |
| 1902 | struct scatterlist *sg = schp->buffer; | ||
| 2008 | int num_xfer = 0; | 1903 | int num_xfer = 0; |
| 2009 | int j, k, onum, usglen, ksglen, res; | 1904 | int j, k, onum, usglen, ksglen, res; |
| 2010 | int iovec_count = (int) hp->iovec_count; | 1905 | int iovec_count = (int) hp->iovec_count; |
| @@ -2033,63 +1928,45 @@ sg_write_xfer(Sg_request * srp) | |||
| 2033 | } else | 1928 | } else |
| 2034 | onum = 1; | 1929 | onum = 1; |
| 2035 | 1930 | ||
| 2036 | if (0 == schp->k_use_sg) { /* kernel has single buffer */ | 1931 | ksglen = sg->length; |
| 2037 | for (j = 0, p = schp->buffer; j < onum; ++j) { | 1932 | p = page_address(sg->page); |
| 2038 | res = sg_u_iovec(hp, iovec_count, j, 1, &usglen, &up); | 1933 | for (j = 0, k = 0; j < onum; ++j) { |
| 2039 | if (res) | 1934 | res = sg_u_iovec(hp, iovec_count, j, 1, &usglen, &up); |
| 2040 | return res; | 1935 | if (res) |
| 2041 | usglen = (num_xfer > usglen) ? usglen : num_xfer; | 1936 | return res; |
| 2042 | if (__copy_from_user(p, up, usglen)) | 1937 | |
| 2043 | return -EFAULT; | 1938 | for (; p; ++sg, ksglen = sg->length, |
| 2044 | p += usglen; | 1939 | p = page_address(sg->page)) { |
| 2045 | num_xfer -= usglen; | 1940 | if (usglen <= 0) |
| 2046 | if (num_xfer <= 0) | 1941 | break; |
| 2047 | return 0; | 1942 | if (ksglen > usglen) { |
| 2048 | } | 1943 | if (usglen >= num_xfer) { |
| 2049 | } else { /* kernel using scatter gather list */ | 1944 | if (__copy_from_user(p, up, num_xfer)) |
| 2050 | struct scatterlist *sclp = (struct scatterlist *) schp->buffer; | ||
| 2051 | |||
| 2052 | ksglen = (int) sclp->length; | ||
| 2053 | p = sg_scatg2virt(sclp); | ||
| 2054 | for (j = 0, k = 0; j < onum; ++j) { | ||
| 2055 | res = sg_u_iovec(hp, iovec_count, j, 1, &usglen, &up); | ||
| 2056 | if (res) | ||
| 2057 | return res; | ||
| 2058 | |||
| 2059 | for (; p; ++sclp, ksglen = (int) sclp->length, | ||
| 2060 | p = sg_scatg2virt(sclp)) { | ||
| 2061 | if (usglen <= 0) | ||
| 2062 | break; | ||
| 2063 | if (ksglen > usglen) { | ||
| 2064 | if (usglen >= num_xfer) { | ||
| 2065 | if (__copy_from_user | ||
| 2066 | (p, up, num_xfer)) | ||
| 2067 | return -EFAULT; | ||
| 2068 | return 0; | ||
| 2069 | } | ||
| 2070 | if (__copy_from_user(p, up, usglen)) | ||
| 2071 | return -EFAULT; | ||
| 2072 | p += usglen; | ||
| 2073 | ksglen -= usglen; | ||
| 2074 | break; | ||
| 2075 | } else { | ||
| 2076 | if (ksglen >= num_xfer) { | ||
| 2077 | if (__copy_from_user | ||
| 2078 | (p, up, num_xfer)) | ||
| 2079 | return -EFAULT; | ||
| 2080 | return 0; | ||
| 2081 | } | ||
| 2082 | if (__copy_from_user(p, up, ksglen)) | ||
| 2083 | return -EFAULT; | 1945 | return -EFAULT; |
| 2084 | up += ksglen; | 1946 | return 0; |
| 2085 | usglen -= ksglen; | ||
| 2086 | } | 1947 | } |
| 2087 | ++k; | 1948 | if (__copy_from_user(p, up, usglen)) |
| 2088 | if (k >= schp->k_use_sg) | 1949 | return -EFAULT; |
| 1950 | p += usglen; | ||
| 1951 | ksglen -= usglen; | ||
| 1952 | break; | ||
| 1953 | } else { | ||
| 1954 | if (ksglen >= num_xfer) { | ||
| 1955 | if (__copy_from_user(p, up, num_xfer)) | ||
| 1956 | return -EFAULT; | ||
| 2089 | return 0; | 1957 | return 0; |
| 1958 | } | ||
| 1959 | if (__copy_from_user(p, up, ksglen)) | ||
| 1960 | return -EFAULT; | ||
| 1961 | up += ksglen; | ||
| 1962 | usglen -= ksglen; | ||
| 2090 | } | 1963 | } |
| 1964 | ++k; | ||
| 1965 | if (k >= schp->k_use_sg) | ||
| 1966 | return 0; | ||
| 2091 | } | 1967 | } |
| 2092 | } | 1968 | } |
| 1969 | |||
| 2093 | return 0; | 1970 | return 0; |
| 2094 | } | 1971 | } |
| 2095 | 1972 | ||
| @@ -2127,29 +2004,25 @@ sg_remove_scat(Sg_scatter_hold * schp) | |||
| 2127 | { | 2004 | { |
| 2128 | SCSI_LOG_TIMEOUT(4, printk("sg_remove_scat: k_use_sg=%d\n", schp->k_use_sg)); | 2005 | SCSI_LOG_TIMEOUT(4, printk("sg_remove_scat: k_use_sg=%d\n", schp->k_use_sg)); |
| 2129 | if (schp->buffer && (schp->sglist_len > 0)) { | 2006 | if (schp->buffer && (schp->sglist_len > 0)) { |
| 2130 | struct scatterlist *sclp = (struct scatterlist *) schp->buffer; | 2007 | struct scatterlist *sg = schp->buffer; |
| 2131 | 2008 | ||
| 2132 | if (schp->dio_in_use) { | 2009 | if (schp->dio_in_use) { |
| 2133 | #ifdef SG_ALLOW_DIO_CODE | 2010 | #ifdef SG_ALLOW_DIO_CODE |
| 2134 | st_unmap_user_pages(sclp, schp->k_use_sg, TRUE); | 2011 | st_unmap_user_pages(sg, schp->k_use_sg, TRUE); |
| 2135 | #endif | 2012 | #endif |
| 2136 | } else { | 2013 | } else { |
| 2137 | int k; | 2014 | int k; |
| 2138 | 2015 | ||
| 2139 | for (k = 0; (k < schp->k_use_sg) && sg_scatg2virt(sclp); | 2016 | for (k = 0; (k < schp->k_use_sg) && sg->page; |
| 2140 | ++k, ++sclp) { | 2017 | ++k, ++sg) { |
| 2141 | SCSI_LOG_TIMEOUT(5, printk( | 2018 | SCSI_LOG_TIMEOUT(5, printk( |
| 2142 | "sg_remove_scat: k=%d, a=0x%p, len=%d\n", | 2019 | "sg_remove_scat: k=%d, a=0x%p, len=%d\n", |
| 2143 | k, sg_scatg2virt(sclp), sclp->length)); | 2020 | k, sg->page, sg->length)); |
| 2144 | sg_page_free(sg_scatg2virt(sclp), sclp->length); | 2021 | sg_page_free(sg->page, sg->length); |
| 2145 | sclp->page = NULL; | ||
| 2146 | sclp->offset = 0; | ||
| 2147 | sclp->length = 0; | ||
| 2148 | } | 2022 | } |
| 2149 | } | 2023 | } |
| 2150 | sg_page_free(schp->buffer, schp->sglist_len); | 2024 | kfree(schp->buffer); |
| 2151 | } else if (schp->buffer) | 2025 | } |
| 2152 | sg_page_free(schp->buffer, schp->b_malloc_len); | ||
| 2153 | memset(schp, 0, sizeof (*schp)); | 2026 | memset(schp, 0, sizeof (*schp)); |
| 2154 | } | 2027 | } |
| 2155 | 2028 | ||
| @@ -2158,6 +2031,7 @@ sg_read_xfer(Sg_request * srp) | |||
| 2158 | { | 2031 | { |
| 2159 | sg_io_hdr_t *hp = &srp->header; | 2032 | sg_io_hdr_t *hp = &srp->header; |
| 2160 | Sg_scatter_hold *schp = &srp->data; | 2033 | Sg_scatter_hold *schp = &srp->data; |
| 2034 | struct scatterlist *sg = schp->buffer; | ||
| 2161 | int num_xfer = 0; | 2035 | int num_xfer = 0; |
| 2162 | int j, k, onum, usglen, ksglen, res; | 2036 | int j, k, onum, usglen, ksglen, res; |
| 2163 | int iovec_count = (int) hp->iovec_count; | 2037 | int iovec_count = (int) hp->iovec_count; |
| @@ -2186,63 +2060,45 @@ sg_read_xfer(Sg_request * srp) | |||
| 2186 | } else | 2060 | } else |
| 2187 | onum = 1; | 2061 | onum = 1; |
| 2188 | 2062 | ||
| 2189 | if (0 == schp->k_use_sg) { /* kernel has single buffer */ | 2063 | p = page_address(sg->page); |
| 2190 | for (j = 0, p = schp->buffer; j < onum; ++j) { | 2064 | ksglen = sg->length; |
| 2191 | res = sg_u_iovec(hp, iovec_count, j, 0, &usglen, &up); | 2065 | for (j = 0, k = 0; j < onum; ++j) { |
| 2192 | if (res) | 2066 | res = sg_u_iovec(hp, iovec_count, j, 0, &usglen, &up); |
| 2193 | return res; | 2067 | if (res) |
| 2194 | usglen = (num_xfer > usglen) ? usglen : num_xfer; | 2068 | return res; |
| 2195 | if (__copy_to_user(up, p, usglen)) | 2069 | |
| 2196 | return -EFAULT; | 2070 | for (; p; ++sg, ksglen = sg->length, |
| 2197 | p += usglen; | 2071 | p = page_address(sg->page)) { |
| 2198 | num_xfer -= usglen; | 2072 | if (usglen <= 0) |
| 2199 | if (num_xfer <= 0) | 2073 | break; |
| 2200 | return 0; | 2074 | if (ksglen > usglen) { |
| 2201 | } | 2075 | if (usglen >= num_xfer) { |
| 2202 | } else { /* kernel using scatter gather list */ | 2076 | if (__copy_to_user(up, p, num_xfer)) |
| 2203 | struct scatterlist *sclp = (struct scatterlist *) schp->buffer; | ||
| 2204 | |||
| 2205 | ksglen = (int) sclp->length; | ||
| 2206 | p = sg_scatg2virt(sclp); | ||
| 2207 | for (j = 0, k = 0; j < onum; ++j) { | ||
| 2208 | res = sg_u_iovec(hp, iovec_count, j, 0, &usglen, &up); | ||
| 2209 | if (res) | ||
| 2210 | return res; | ||
| 2211 | |||
| 2212 | for (; p; ++sclp, ksglen = (int) sclp->length, | ||
| 2213 | p = sg_scatg2virt(sclp)) { | ||
| 2214 | if (usglen <= 0) | ||
| 2215 | break; | ||
| 2216 | if (ksglen > usglen) { | ||
| 2217 | if (usglen >= num_xfer) { | ||
| 2218 | if (__copy_to_user | ||
| 2219 | (up, p, num_xfer)) | ||
| 2220 | return -EFAULT; | ||
| 2221 | return 0; | ||
| 2222 | } | ||
| 2223 | if (__copy_to_user(up, p, usglen)) | ||
| 2224 | return -EFAULT; | ||
| 2225 | p += usglen; | ||
| 2226 | ksglen -= usglen; | ||
| 2227 | break; | ||
| 2228 | } else { | ||
| 2229 | if (ksglen >= num_xfer) { | ||
| 2230 | if (__copy_to_user | ||
| 2231 | (up, p, num_xfer)) | ||
| 2232 | return -EFAULT; | ||
| 2233 | return 0; | ||
| 2234 | } | ||
| 2235 | if (__copy_to_user(up, p, ksglen)) | ||
| 2236 | return -EFAULT; | 2077 | return -EFAULT; |
| 2237 | up += ksglen; | 2078 | return 0; |
| 2238 | usglen -= ksglen; | ||
| 2239 | } | 2079 | } |
| 2240 | ++k; | 2080 | if (__copy_to_user(up, p, usglen)) |
| 2241 | if (k >= schp->k_use_sg) | 2081 | return -EFAULT; |
| 2082 | p += usglen; | ||
| 2083 | ksglen -= usglen; | ||
| 2084 | break; | ||
| 2085 | } else { | ||
| 2086 | if (ksglen >= num_xfer) { | ||
| 2087 | if (__copy_to_user(up, p, num_xfer)) | ||
| 2088 | return -EFAULT; | ||
| 2242 | return 0; | 2089 | return 0; |
| 2090 | } | ||
| 2091 | if (__copy_to_user(up, p, ksglen)) | ||
| 2092 | return -EFAULT; | ||
| 2093 | up += ksglen; | ||
| 2094 | usglen -= ksglen; | ||
| 2243 | } | 2095 | } |
| 2096 | ++k; | ||
| 2097 | if (k >= schp->k_use_sg) | ||
| 2098 | return 0; | ||
| 2244 | } | 2099 | } |
| 2245 | } | 2100 | } |
| 2101 | |||
| 2246 | return 0; | 2102 | return 0; |
| 2247 | } | 2103 | } |
| 2248 | 2104 | ||
| @@ -2250,37 +2106,32 @@ static int | |||
| 2250 | sg_read_oxfer(Sg_request * srp, char __user *outp, int num_read_xfer) | 2106 | sg_read_oxfer(Sg_request * srp, char __user *outp, int num_read_xfer) |
| 2251 | { | 2107 | { |
| 2252 | Sg_scatter_hold *schp = &srp->data; | 2108 | Sg_scatter_hold *schp = &srp->data; |
| 2109 | struct scatterlist *sg = schp->buffer; | ||
| 2110 | int k, num; | ||
| 2253 | 2111 | ||
| 2254 | SCSI_LOG_TIMEOUT(4, printk("sg_read_oxfer: num_read_xfer=%d\n", | 2112 | SCSI_LOG_TIMEOUT(4, printk("sg_read_oxfer: num_read_xfer=%d\n", |
| 2255 | num_read_xfer)); | 2113 | num_read_xfer)); |
| 2256 | if ((!outp) || (num_read_xfer <= 0)) | 2114 | if ((!outp) || (num_read_xfer <= 0)) |
| 2257 | return 0; | 2115 | return 0; |
| 2258 | if (schp->k_use_sg > 0) { | 2116 | |
| 2259 | int k, num; | 2117 | for (k = 0; (k < schp->k_use_sg) && sg->page; ++k, ++sg) { |
| 2260 | struct scatterlist *sclp = (struct scatterlist *) schp->buffer; | 2118 | num = sg->length; |
| 2261 | 2119 | if (num > num_read_xfer) { | |
| 2262 | for (k = 0; (k < schp->k_use_sg) && sg_scatg2virt(sclp); | 2120 | if (__copy_to_user(outp, page_address(sg->page), |
| 2263 | ++k, ++sclp) { | 2121 | num_read_xfer)) |
| 2264 | num = (int) sclp->length; | 2122 | return -EFAULT; |
| 2265 | if (num > num_read_xfer) { | 2123 | break; |
| 2266 | if (__copy_to_user | 2124 | } else { |
| 2267 | (outp, sg_scatg2virt(sclp), num_read_xfer)) | 2125 | if (__copy_to_user(outp, page_address(sg->page), |
| 2268 | return -EFAULT; | 2126 | num)) |
| 2127 | return -EFAULT; | ||
| 2128 | num_read_xfer -= num; | ||
| 2129 | if (num_read_xfer <= 0) | ||
| 2269 | break; | 2130 | break; |
| 2270 | } else { | 2131 | outp += num; |
| 2271 | if (__copy_to_user | ||
| 2272 | (outp, sg_scatg2virt(sclp), num)) | ||
| 2273 | return -EFAULT; | ||
| 2274 | num_read_xfer -= num; | ||
| 2275 | if (num_read_xfer <= 0) | ||
| 2276 | break; | ||
| 2277 | outp += num; | ||
| 2278 | } | ||
| 2279 | } | 2132 | } |
| 2280 | } else { | ||
| 2281 | if (__copy_to_user(outp, schp->buffer, num_read_xfer)) | ||
| 2282 | return -EFAULT; | ||
| 2283 | } | 2133 | } |
| 2134 | |||
| 2284 | return 0; | 2135 | return 0; |
| 2285 | } | 2136 | } |
| 2286 | 2137 | ||
| @@ -2306,44 +2157,31 @@ sg_link_reserve(Sg_fd * sfp, Sg_request * srp, int size) | |||
| 2306 | { | 2157 | { |
| 2307 | Sg_scatter_hold *req_schp = &srp->data; | 2158 | Sg_scatter_hold *req_schp = &srp->data; |
| 2308 | Sg_scatter_hold *rsv_schp = &sfp->reserve; | 2159 | Sg_scatter_hold *rsv_schp = &sfp->reserve; |
| 2160 | struct scatterlist *sg = rsv_schp->buffer; | ||
| 2161 | int k, num, rem; | ||
| 2309 | 2162 | ||
| 2310 | srp->res_used = 1; | 2163 | srp->res_used = 1; |
| 2311 | SCSI_LOG_TIMEOUT(4, printk("sg_link_reserve: size=%d\n", size)); | 2164 | SCSI_LOG_TIMEOUT(4, printk("sg_link_reserve: size=%d\n", size)); |
| 2312 | size = (size + 1) & (~1); /* round to even for aha1542 */ | 2165 | rem = size = (size + 1) & (~1); /* round to even for aha1542 */ |
| 2313 | if (rsv_schp->k_use_sg > 0) { | 2166 | |
| 2314 | int k, num; | 2167 | for (k = 0; k < rsv_schp->k_use_sg; ++k, ++sg) { |
| 2315 | int rem = size; | 2168 | num = sg->length; |
| 2316 | struct scatterlist *sclp = | 2169 | if (rem <= num) { |
| 2317 | (struct scatterlist *) rsv_schp->buffer; | 2170 | sfp->save_scat_len = num; |
| 2318 | 2171 | sg->length = rem; | |
| 2319 | for (k = 0; k < rsv_schp->k_use_sg; ++k, ++sclp) { | 2172 | req_schp->k_use_sg = k + 1; |
| 2320 | num = (int) sclp->length; | 2173 | req_schp->sglist_len = rsv_schp->sglist_len; |
| 2321 | if (rem <= num) { | 2174 | req_schp->buffer = rsv_schp->buffer; |
| 2322 | if (0 == k) { | 2175 | |
| 2323 | req_schp->k_use_sg = 0; | 2176 | req_schp->bufflen = size; |
| 2324 | req_schp->buffer = sg_scatg2virt(sclp); | 2177 | req_schp->b_malloc_len = rsv_schp->b_malloc_len; |
| 2325 | } else { | 2178 | break; |
| 2326 | sfp->save_scat_len = num; | 2179 | } else |
| 2327 | sclp->length = (unsigned) rem; | 2180 | rem -= num; |
| 2328 | req_schp->k_use_sg = k + 1; | ||
| 2329 | req_schp->sglist_len = | ||
| 2330 | rsv_schp->sglist_len; | ||
| 2331 | req_schp->buffer = rsv_schp->buffer; | ||
| 2332 | } | ||
| 2333 | req_schp->bufflen = size; | ||
| 2334 | req_schp->b_malloc_len = rsv_schp->b_malloc_len; | ||
| 2335 | break; | ||
| 2336 | } else | ||
| 2337 | rem -= num; | ||
| 2338 | } | ||
| 2339 | if (k >= rsv_schp->k_use_sg) | ||
| 2340 | SCSI_LOG_TIMEOUT(1, printk("sg_link_reserve: BAD size\n")); | ||
| 2341 | } else { | ||
| 2342 | req_schp->k_use_sg = 0; | ||
| 2343 | req_schp->bufflen = size; | ||
| 2344 | req_schp->buffer = rsv_schp->buffer; | ||
| 2345 | req_schp->b_malloc_len = rsv_schp->b_malloc_len; | ||
| 2346 | } | 2181 | } |
| 2182 | |||
| 2183 | if (k >= rsv_schp->k_use_sg) | ||
| 2184 | SCSI_LOG_TIMEOUT(1, printk("sg_link_reserve: BAD size\n")); | ||
| 2347 | } | 2185 | } |
| 2348 | 2186 | ||
| 2349 | static void | 2187 | static void |
| @@ -2355,11 +2193,10 @@ sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp) | |||
| 2355 | SCSI_LOG_TIMEOUT(4, printk("sg_unlink_reserve: req->k_use_sg=%d\n", | 2193 | SCSI_LOG_TIMEOUT(4, printk("sg_unlink_reserve: req->k_use_sg=%d\n", |
| 2356 | (int) req_schp->k_use_sg)); | 2194 | (int) req_schp->k_use_sg)); |
| 2357 | if ((rsv_schp->k_use_sg > 0) && (req_schp->k_use_sg > 0)) { | 2195 | if ((rsv_schp->k_use_sg > 0) && (req_schp->k_use_sg > 0)) { |
| 2358 | struct scatterlist *sclp = | 2196 | struct scatterlist *sg = rsv_schp->buffer; |
| 2359 | (struct scatterlist *) rsv_schp->buffer; | ||
| 2360 | 2197 | ||
| 2361 | if (sfp->save_scat_len > 0) | 2198 | if (sfp->save_scat_len > 0) |
| 2362 | (sclp + (req_schp->k_use_sg - 1))->length = | 2199 | (sg + (req_schp->k_use_sg - 1))->length = |
| 2363 | (unsigned) sfp->save_scat_len; | 2200 | (unsigned) sfp->save_scat_len; |
| 2364 | else | 2201 | else |
| 2365 | SCSI_LOG_TIMEOUT(1, printk ("sg_unlink_reserve: BAD save_scat_len\n")); | 2202 | SCSI_LOG_TIMEOUT(1, printk ("sg_unlink_reserve: BAD save_scat_len\n")); |
| @@ -2445,7 +2282,6 @@ sg_add_request(Sg_fd * sfp) | |||
| 2445 | if (resp) { | 2282 | if (resp) { |
| 2446 | resp->nextrp = NULL; | 2283 | resp->nextrp = NULL; |
| 2447 | resp->header.duration = jiffies_to_msecs(jiffies); | 2284 | resp->header.duration = jiffies_to_msecs(jiffies); |
| 2448 | resp->my_cmdp = NULL; | ||
| 2449 | } | 2285 | } |
| 2450 | write_unlock_irqrestore(&sfp->rq_list_lock, iflags); | 2286 | write_unlock_irqrestore(&sfp->rq_list_lock, iflags); |
| 2451 | return resp; | 2287 | return resp; |
| @@ -2463,8 +2299,6 @@ sg_remove_request(Sg_fd * sfp, Sg_request * srp) | |||
| 2463 | if ((!sfp) || (!srp) || (!sfp->headrp)) | 2299 | if ((!sfp) || (!srp) || (!sfp->headrp)) |
| 2464 | return res; | 2300 | return res; |
| 2465 | write_lock_irqsave(&sfp->rq_list_lock, iflags); | 2301 | write_lock_irqsave(&sfp->rq_list_lock, iflags); |
| 2466 | if (srp->my_cmdp) | ||
| 2467 | srp->my_cmdp->upper_private_data = NULL; | ||
| 2468 | prev_rp = sfp->headrp; | 2302 | prev_rp = sfp->headrp; |
| 2469 | if (srp == prev_rp) { | 2303 | if (srp == prev_rp) { |
| 2470 | sfp->headrp = prev_rp->nextrp; | 2304 | sfp->headrp = prev_rp->nextrp; |
| @@ -2507,10 +2341,10 @@ sg_add_sfp(Sg_device * sdp, int dev) | |||
| 2507 | Sg_fd *sfp; | 2341 | Sg_fd *sfp; |
| 2508 | unsigned long iflags; | 2342 | unsigned long iflags; |
| 2509 | 2343 | ||
| 2510 | sfp = (Sg_fd *) sg_page_malloc(sizeof (Sg_fd), 0, NULL); | 2344 | sfp = kzalloc(sizeof(*sfp), GFP_ATOMIC | __GFP_NOWARN); |
| 2511 | if (!sfp) | 2345 | if (!sfp) |
| 2512 | return NULL; | 2346 | return NULL; |
| 2513 | memset(sfp, 0, sizeof (Sg_fd)); | 2347 | |
| 2514 | init_waitqueue_head(&sfp->read_wait); | 2348 | init_waitqueue_head(&sfp->read_wait); |
| 2515 | rwlock_init(&sfp->rq_list_lock); | 2349 | rwlock_init(&sfp->rq_list_lock); |
| 2516 | 2350 | ||
| @@ -2567,7 +2401,7 @@ __sg_remove_sfp(Sg_device * sdp, Sg_fd * sfp) | |||
| 2567 | } | 2401 | } |
| 2568 | sfp->parentdp = NULL; | 2402 | sfp->parentdp = NULL; |
| 2569 | SCSI_LOG_TIMEOUT(6, printk("__sg_remove_sfp: sfp=0x%p\n", sfp)); | 2403 | SCSI_LOG_TIMEOUT(6, printk("__sg_remove_sfp: sfp=0x%p\n", sfp)); |
| 2570 | sg_page_free((char *) sfp, sizeof (Sg_fd)); | 2404 | kfree(sfp); |
| 2571 | } | 2405 | } |
| 2572 | 2406 | ||
| 2573 | /* Returns 0 in normal case, 1 when detached and sdp object removed */ | 2407 | /* Returns 0 in normal case, 1 when detached and sdp object removed */ |
| @@ -2632,10 +2466,10 @@ sg_res_in_use(Sg_fd * sfp) | |||
| 2632 | } | 2466 | } |
| 2633 | 2467 | ||
| 2634 | /* If retSzp==NULL want exact size or fail */ | 2468 | /* If retSzp==NULL want exact size or fail */ |
| 2635 | static char * | 2469 | static struct page * |
| 2636 | sg_page_malloc(int rqSz, int lowDma, int *retSzp) | 2470 | sg_page_malloc(int rqSz, int lowDma, int *retSzp) |
| 2637 | { | 2471 | { |
| 2638 | char *resp = NULL; | 2472 | struct page *resp = NULL; |
| 2639 | gfp_t page_mask; | 2473 | gfp_t page_mask; |
| 2640 | int order, a_size; | 2474 | int order, a_size; |
| 2641 | int resSz = rqSz; | 2475 | int resSz = rqSz; |
| @@ -2650,11 +2484,11 @@ sg_page_malloc(int rqSz, int lowDma, int *retSzp) | |||
| 2650 | 2484 | ||
| 2651 | for (order = 0, a_size = PAGE_SIZE; a_size < rqSz; | 2485 | for (order = 0, a_size = PAGE_SIZE; a_size < rqSz; |
| 2652 | order++, a_size <<= 1) ; | 2486 | order++, a_size <<= 1) ; |
| 2653 | resp = (char *) __get_free_pages(page_mask, order); | 2487 | resp = alloc_pages(page_mask, order); |
| 2654 | while ((!resp) && order && retSzp) { | 2488 | while ((!resp) && order && retSzp) { |
| 2655 | --order; | 2489 | --order; |
| 2656 | a_size >>= 1; /* divide by 2, until PAGE_SIZE */ | 2490 | a_size >>= 1; /* divide by 2, until PAGE_SIZE */ |
| 2657 | resp = (char *) __get_free_pages(page_mask, order); /* try half */ | 2491 | resp = alloc_pages(page_mask, order); /* try half */ |
| 2658 | resSz = a_size; | 2492 | resSz = a_size; |
| 2659 | } | 2493 | } |
| 2660 | if (resp) { | 2494 | if (resp) { |
| @@ -2667,15 +2501,15 @@ sg_page_malloc(int rqSz, int lowDma, int *retSzp) | |||
| 2667 | } | 2501 | } |
| 2668 | 2502 | ||
| 2669 | static void | 2503 | static void |
| 2670 | sg_page_free(char *buff, int size) | 2504 | sg_page_free(struct page *page, int size) |
| 2671 | { | 2505 | { |
| 2672 | int order, a_size; | 2506 | int order, a_size; |
| 2673 | 2507 | ||
| 2674 | if (!buff) | 2508 | if (!page) |
| 2675 | return; | 2509 | return; |
| 2676 | for (order = 0, a_size = PAGE_SIZE; a_size < size; | 2510 | for (order = 0, a_size = PAGE_SIZE; a_size < size; |
| 2677 | order++, a_size <<= 1) ; | 2511 | order++, a_size <<= 1) ; |
| 2678 | free_pages((unsigned long) buff, order); | 2512 | __free_pages(page, order); |
| 2679 | } | 2513 | } |
| 2680 | 2514 | ||
| 2681 | #ifndef MAINTENANCE_IN_CMD | 2515 | #ifndef MAINTENANCE_IN_CMD |
| @@ -3067,13 +2901,11 @@ static void sg_proc_debug_helper(struct seq_file *s, Sg_device * sdp) | |||
| 3067 | cp = " "; | 2901 | cp = " "; |
| 3068 | } | 2902 | } |
| 3069 | seq_printf(s, cp); | 2903 | seq_printf(s, cp); |
| 3070 | blen = srp->my_cmdp ? | 2904 | blen = srp->data.bufflen; |
| 3071 | srp->my_cmdp->sr_bufflen : srp->data.bufflen; | 2905 | usg = srp->data.k_use_sg; |
| 3072 | usg = srp->my_cmdp ? | ||
| 3073 | srp->my_cmdp->sr_use_sg : srp->data.k_use_sg; | ||
| 3074 | seq_printf(s, srp->done ? | 2906 | seq_printf(s, srp->done ? |
| 3075 | ((1 == srp->done) ? "rcv:" : "fin:") | 2907 | ((1 == srp->done) ? "rcv:" : "fin:") |
| 3076 | : (srp->my_cmdp ? "act:" : "prior:")); | 2908 | : "act:"); |
| 3077 | seq_printf(s, " id=%d blen=%d", | 2909 | seq_printf(s, " id=%d blen=%d", |
| 3078 | srp->header.pack_id, blen); | 2910 | srp->header.pack_id, blen); |
| 3079 | if (srp->done) | 2911 | if (srp->done) |
diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index fb4012b5c188..a4d9be7c6874 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c | |||
| @@ -320,7 +320,7 @@ static int sr_init_command(struct scsi_cmnd * SCpnt) | |||
| 320 | * these are already setup, just copy cdb basically | 320 | * these are already setup, just copy cdb basically |
| 321 | */ | 321 | */ |
| 322 | if (SCpnt->request->flags & REQ_BLOCK_PC) { | 322 | if (SCpnt->request->flags & REQ_BLOCK_PC) { |
| 323 | scsi_setup_blk_pc_cmnd(SCpnt, MAX_RETRIES); | 323 | scsi_setup_blk_pc_cmnd(SCpnt); |
| 324 | 324 | ||
| 325 | if (SCpnt->timeout_per_command) | 325 | if (SCpnt->timeout_per_command) |
| 326 | timeout = SCpnt->timeout_per_command; | 326 | timeout = SCpnt->timeout_per_command; |
| @@ -716,7 +716,7 @@ static void get_capabilities(struct scsi_cd *cd) | |||
| 716 | unsigned int the_result; | 716 | unsigned int the_result; |
| 717 | int retries, rc, n; | 717 | int retries, rc, n; |
| 718 | 718 | ||
| 719 | static char *loadmech[] = | 719 | static const char *loadmech[] = |
| 720 | { | 720 | { |
| 721 | "caddy", | 721 | "caddy", |
| 722 | "tray", | 722 | "tray", |
diff --git a/drivers/scsi/sr_vendor.c b/drivers/scsi/sr_vendor.c index 78274dc91f5c..9dde8df2f5c9 100644 --- a/drivers/scsi/sr_vendor.c +++ b/drivers/scsi/sr_vendor.c | |||
| @@ -68,8 +68,8 @@ void sr_vendor_init(Scsi_CD *cd) | |||
| 68 | #ifndef CONFIG_BLK_DEV_SR_VENDOR | 68 | #ifndef CONFIG_BLK_DEV_SR_VENDOR |
| 69 | cd->vendor = VENDOR_SCSI3; | 69 | cd->vendor = VENDOR_SCSI3; |
| 70 | #else | 70 | #else |
| 71 | char *vendor = cd->device->vendor; | 71 | const char *vendor = cd->device->vendor; |
| 72 | char *model = cd->device->model; | 72 | const char *model = cd->device->model; |
| 73 | 73 | ||
| 74 | /* default */ | 74 | /* default */ |
| 75 | cd->vendor = VENDOR_SCSI3; | 75 | cd->vendor = VENDOR_SCSI3; |
diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index dd592f6a2529..c4aade8f5345 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c | |||
| @@ -17,7 +17,7 @@ | |||
| 17 | Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support | 17 | Last modified: 18-JAN-1998 Richard Gooch <rgooch@atnf.csiro.au> Devfs support |
| 18 | */ | 18 | */ |
| 19 | 19 | ||
| 20 | static char *verstr = "20050830"; | 20 | static const char *verstr = "20050830"; |
| 21 | 21 | ||
| 22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
| 23 | 23 | ||
| @@ -50,7 +50,6 @@ static char *verstr = "20050830"; | |||
| 50 | #include <scsi/scsi_eh.h> | 50 | #include <scsi/scsi_eh.h> |
| 51 | #include <scsi/scsi_host.h> | 51 | #include <scsi/scsi_host.h> |
| 52 | #include <scsi/scsi_ioctl.h> | 52 | #include <scsi/scsi_ioctl.h> |
| 53 | #include <scsi/scsi_request.h> | ||
| 54 | #include <scsi/sg.h> | 53 | #include <scsi/sg.h> |
| 55 | 54 | ||
| 56 | 55 | ||
| @@ -134,7 +133,7 @@ static struct st_dev_parm { | |||
| 134 | #endif | 133 | #endif |
| 135 | /* Bit reversed order to get same names for same minors with all | 134 | /* Bit reversed order to get same names for same minors with all |
| 136 | mode counts */ | 135 | mode counts */ |
| 137 | static char *st_formats[] = { | 136 | static const char *st_formats[] = { |
| 138 | "", "r", "k", "s", "l", "t", "o", "u", | 137 | "", "r", "k", "s", "l", "t", "o", "u", |
| 139 | "m", "v", "p", "x", "a", "y", "q", "z"}; | 138 | "m", "v", "p", "x", "a", "y", "q", "z"}; |
| 140 | 139 | ||
| @@ -188,8 +187,6 @@ static int from_buffer(struct st_buffer *, char __user *, int); | |||
| 188 | static void move_buffer_data(struct st_buffer *, int); | 187 | static void move_buffer_data(struct st_buffer *, int); |
| 189 | static void buf_to_sg(struct st_buffer *, unsigned int); | 188 | static void buf_to_sg(struct st_buffer *, unsigned int); |
| 190 | 189 | ||
| 191 | static int st_map_user_pages(struct scatterlist *, const unsigned int, | ||
| 192 | unsigned long, size_t, int, unsigned long); | ||
| 193 | static int sgl_map_user_pages(struct scatterlist *, const unsigned int, | 190 | static int sgl_map_user_pages(struct scatterlist *, const unsigned int, |
| 194 | unsigned long, size_t, int); | 191 | unsigned long, size_t, int); |
| 195 | static int sgl_unmap_user_pages(struct scatterlist *, const unsigned int, int); | 192 | static int sgl_unmap_user_pages(struct scatterlist *, const unsigned int, int); |
| @@ -313,12 +310,13 @@ static inline char *tape_name(struct scsi_tape *tape) | |||
| 313 | } | 310 | } |
| 314 | 311 | ||
| 315 | 312 | ||
| 316 | static void st_analyze_sense(struct scsi_request *SRpnt, struct st_cmdstatus *s) | 313 | static void st_analyze_sense(struct st_request *SRpnt, struct st_cmdstatus *s) |
| 317 | { | 314 | { |
| 318 | const u8 *ucp; | 315 | const u8 *ucp; |
| 319 | const u8 *sense = SRpnt->sr_sense_buffer; | 316 | const u8 *sense = SRpnt->sense; |
| 320 | 317 | ||
| 321 | s->have_sense = scsi_request_normalize_sense(SRpnt, &s->sense_hdr); | 318 | s->have_sense = scsi_normalize_sense(SRpnt->sense, |
| 319 | SCSI_SENSE_BUFFERSIZE, &s->sense_hdr); | ||
| 322 | s->flags = 0; | 320 | s->flags = 0; |
| 323 | 321 | ||
| 324 | if (s->have_sense) { | 322 | if (s->have_sense) { |
| @@ -345,9 +343,9 @@ static void st_analyze_sense(struct scsi_request *SRpnt, struct st_cmdstatus *s) | |||
| 345 | 343 | ||
| 346 | 344 | ||
| 347 | /* Convert the result to success code */ | 345 | /* Convert the result to success code */ |
| 348 | static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | 346 | static int st_chk_result(struct scsi_tape *STp, struct st_request * SRpnt) |
| 349 | { | 347 | { |
| 350 | int result = SRpnt->sr_result; | 348 | int result = SRpnt->result; |
| 351 | u8 scode; | 349 | u8 scode; |
| 352 | DEB(const char *stp;) | 350 | DEB(const char *stp;) |
| 353 | char *name = tape_name(STp); | 351 | char *name = tape_name(STp); |
| @@ -366,13 +364,12 @@ static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | |||
| 366 | 364 | ||
| 367 | DEB( | 365 | DEB( |
| 368 | if (debugging) { | 366 | if (debugging) { |
| 369 | printk(ST_DEB_MSG "%s: Error: %x, cmd: %x %x %x %x %x %x Len: %d\n", | 367 | printk(ST_DEB_MSG "%s: Error: %x, cmd: %x %x %x %x %x %x\n", |
| 370 | name, result, | 368 | name, result, |
| 371 | SRpnt->sr_cmnd[0], SRpnt->sr_cmnd[1], SRpnt->sr_cmnd[2], | 369 | SRpnt->cmd[0], SRpnt->cmd[1], SRpnt->cmd[2], |
| 372 | SRpnt->sr_cmnd[3], SRpnt->sr_cmnd[4], SRpnt->sr_cmnd[5], | 370 | SRpnt->cmd[3], SRpnt->cmd[4], SRpnt->cmd[5]); |
| 373 | SRpnt->sr_bufflen); | ||
| 374 | if (cmdstatp->have_sense) | 371 | if (cmdstatp->have_sense) |
| 375 | scsi_print_req_sense("st", SRpnt); | 372 | __scsi_print_sense("st", SRpnt->sense, SCSI_SENSE_BUFFERSIZE); |
| 376 | } ) /* end DEB */ | 373 | } ) /* end DEB */ |
| 377 | if (!debugging) { /* Abnormal conditions for tape */ | 374 | if (!debugging) { /* Abnormal conditions for tape */ |
| 378 | if (!cmdstatp->have_sense) | 375 | if (!cmdstatp->have_sense) |
| @@ -386,20 +383,21 @@ static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | |||
| 386 | /* scode != UNIT_ATTENTION && */ | 383 | /* scode != UNIT_ATTENTION && */ |
| 387 | scode != BLANK_CHECK && | 384 | scode != BLANK_CHECK && |
| 388 | scode != VOLUME_OVERFLOW && | 385 | scode != VOLUME_OVERFLOW && |
| 389 | SRpnt->sr_cmnd[0] != MODE_SENSE && | 386 | SRpnt->cmd[0] != MODE_SENSE && |
| 390 | SRpnt->sr_cmnd[0] != TEST_UNIT_READY) { | 387 | SRpnt->cmd[0] != TEST_UNIT_READY) { |
| 391 | printk(KERN_WARNING "%s: Error with sense data: ", name); | 388 | printk(KERN_WARNING "%s: Error with sense data: ", name); |
| 392 | scsi_print_req_sense("st", SRpnt); | 389 | __scsi_print_sense("st", SRpnt->sense, |
| 390 | SCSI_SENSE_BUFFERSIZE); | ||
| 393 | } | 391 | } |
| 394 | } | 392 | } |
| 395 | 393 | ||
| 396 | if (cmdstatp->fixed_format && | 394 | if (cmdstatp->fixed_format && |
| 397 | STp->cln_mode >= EXTENDED_SENSE_START) { /* Only fixed format sense */ | 395 | STp->cln_mode >= EXTENDED_SENSE_START) { /* Only fixed format sense */ |
| 398 | if (STp->cln_sense_value) | 396 | if (STp->cln_sense_value) |
| 399 | STp->cleaning_req |= ((SRpnt->sr_sense_buffer[STp->cln_mode] & | 397 | STp->cleaning_req |= ((SRpnt->sense[STp->cln_mode] & |
| 400 | STp->cln_sense_mask) == STp->cln_sense_value); | 398 | STp->cln_sense_mask) == STp->cln_sense_value); |
| 401 | else | 399 | else |
| 402 | STp->cleaning_req |= ((SRpnt->sr_sense_buffer[STp->cln_mode] & | 400 | STp->cleaning_req |= ((SRpnt->sense[STp->cln_mode] & |
| 403 | STp->cln_sense_mask) != 0); | 401 | STp->cln_sense_mask) != 0); |
| 404 | } | 402 | } |
| 405 | if (cmdstatp->have_sense && | 403 | if (cmdstatp->have_sense && |
| @@ -411,8 +409,8 @@ static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | |||
| 411 | if (cmdstatp->have_sense && | 409 | if (cmdstatp->have_sense && |
| 412 | scode == RECOVERED_ERROR | 410 | scode == RECOVERED_ERROR |
| 413 | #if ST_RECOVERED_WRITE_FATAL | 411 | #if ST_RECOVERED_WRITE_FATAL |
| 414 | && SRpnt->sr_cmnd[0] != WRITE_6 | 412 | && SRpnt->cmd[0] != WRITE_6 |
| 415 | && SRpnt->sr_cmnd[0] != WRITE_FILEMARKS | 413 | && SRpnt->cmd[0] != WRITE_FILEMARKS |
| 416 | #endif | 414 | #endif |
| 417 | ) { | 415 | ) { |
| 418 | STp->recover_count++; | 416 | STp->recover_count++; |
| @@ -420,9 +418,9 @@ static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | |||
| 420 | 418 | ||
| 421 | DEB( | 419 | DEB( |
| 422 | if (debugging) { | 420 | if (debugging) { |
| 423 | if (SRpnt->sr_cmnd[0] == READ_6) | 421 | if (SRpnt->cmd[0] == READ_6) |
| 424 | stp = "read"; | 422 | stp = "read"; |
| 425 | else if (SRpnt->sr_cmnd[0] == WRITE_6) | 423 | else if (SRpnt->cmd[0] == WRITE_6) |
| 426 | stp = "write"; | 424 | stp = "write"; |
| 427 | else | 425 | else |
| 428 | stp = "ioctl"; | 426 | stp = "ioctl"; |
| @@ -438,28 +436,37 @@ static int st_chk_result(struct scsi_tape *STp, struct scsi_request * SRpnt) | |||
| 438 | 436 | ||
| 439 | 437 | ||
| 440 | /* Wakeup from interrupt */ | 438 | /* Wakeup from interrupt */ |
| 441 | static void st_sleep_done(struct scsi_cmnd * SCpnt) | 439 | static void st_sleep_done(void *data, char *sense, int result, int resid) |
| 442 | { | 440 | { |
| 443 | struct scsi_tape *STp = container_of(SCpnt->request->rq_disk->private_data, | 441 | struct st_request *SRpnt = data; |
| 444 | struct scsi_tape, driver); | 442 | struct scsi_tape *STp = SRpnt->stp; |
| 445 | 443 | ||
| 446 | (STp->buffer)->cmdstat.midlevel_result = SCpnt->result; | 444 | memcpy(SRpnt->sense, sense, SCSI_SENSE_BUFFERSIZE); |
| 447 | SCpnt->request->rq_status = RQ_SCSI_DONE; | 445 | (STp->buffer)->cmdstat.midlevel_result = SRpnt->result = result; |
| 448 | DEB( STp->write_pending = 0; ) | 446 | DEB( STp->write_pending = 0; ) |
| 449 | 447 | ||
| 450 | if (SCpnt->request->waiting) | 448 | if (SRpnt->waiting) |
| 451 | complete(SCpnt->request->waiting); | 449 | complete(SRpnt->waiting); |
| 450 | } | ||
| 451 | |||
| 452 | static struct st_request *st_allocate_request(void) | ||
| 453 | { | ||
| 454 | return kzalloc(sizeof(struct st_request), GFP_KERNEL); | ||
| 455 | } | ||
| 456 | |||
| 457 | static void st_release_request(struct st_request *streq) | ||
| 458 | { | ||
| 459 | kfree(streq); | ||
| 452 | } | 460 | } |
| 453 | 461 | ||
| 454 | /* Do the scsi command. Waits until command performed if do_wait is true. | 462 | /* Do the scsi command. Waits until command performed if do_wait is true. |
| 455 | Otherwise write_behind_check() is used to check that the command | 463 | Otherwise write_behind_check() is used to check that the command |
| 456 | has finished. */ | 464 | has finished. */ |
| 457 | static struct scsi_request * | 465 | static struct st_request * |
| 458 | st_do_scsi(struct scsi_request * SRpnt, struct scsi_tape * STp, unsigned char *cmd, | 466 | st_do_scsi(struct st_request * SRpnt, struct scsi_tape * STp, unsigned char *cmd, |
| 459 | int bytes, int direction, int timeout, int retries, int do_wait) | 467 | int bytes, int direction, int timeout, int retries, int do_wait) |
| 460 | { | 468 | { |
| 461 | struct completion *waiting; | 469 | struct completion *waiting; |
| 462 | unsigned char *bp; | ||
| 463 | 470 | ||
| 464 | /* if async, make sure there's no command outstanding */ | 471 | /* if async, make sure there's no command outstanding */ |
| 465 | if (!do_wait && ((STp->buffer)->last_SRpnt)) { | 472 | if (!do_wait && ((STp->buffer)->last_SRpnt)) { |
| @@ -473,7 +480,7 @@ st_do_scsi(struct scsi_request * SRpnt, struct scsi_tape * STp, unsigned char *c | |||
| 473 | } | 480 | } |
| 474 | 481 | ||
| 475 | if (SRpnt == NULL) { | 482 | if (SRpnt == NULL) { |
| 476 | SRpnt = scsi_allocate_request(STp->device, GFP_ATOMIC); | 483 | SRpnt = st_allocate_request(); |
| 477 | if (SRpnt == NULL) { | 484 | if (SRpnt == NULL) { |
| 478 | DEBC( printk(KERN_ERR "%s: Can't get SCSI request.\n", | 485 | DEBC( printk(KERN_ERR "%s: Can't get SCSI request.\n", |
| 479 | tape_name(STp)); ); | 486 | tape_name(STp)); ); |
| @@ -483,6 +490,7 @@ st_do_scsi(struct scsi_request * SRpnt, struct scsi_tape * STp, unsigned char *c | |||
| 483 | (STp->buffer)->syscall_result = (-EBUSY); | 490 | (STp->buffer)->syscall_result = (-EBUSY); |
| 484 | return NULL; | 491 | return NULL; |
| 485 | } | 492 | } |
| 493 | SRpnt->stp = STp; | ||
| 486 | } | 494 | } |
| 487 | 495 | ||
| 488 | /* If async IO, set last_SRpnt. This ptr tells write_behind_check | 496 | /* If async IO, set last_SRpnt. This ptr tells write_behind_check |
| @@ -492,32 +500,28 @@ st_do_scsi(struct scsi_request * SRpnt, struct scsi_tape * STp, unsigned char *c | |||
| 492 | 500 | ||
| 493 | waiting = &STp->wait; | 501 | waiting = &STp->wait; |
| 494 | init_completion(waiting); | 502 | init_completion(waiting); |
| 495 | SRpnt->sr_use_sg = STp->buffer->do_dio || (bytes > (STp->buffer)->frp[0].length); | 503 | SRpnt->waiting = waiting; |
| 496 | if (SRpnt->sr_use_sg) { | ||
| 497 | if (!STp->buffer->do_dio) | ||
| 498 | buf_to_sg(STp->buffer, bytes); | ||
| 499 | SRpnt->sr_use_sg = (STp->buffer)->sg_segs; | ||
| 500 | bp = (char *) &((STp->buffer)->sg[0]); | ||
| 501 | } else | ||
| 502 | bp = (STp->buffer)->b_data; | ||
| 503 | SRpnt->sr_data_direction = direction; | ||
| 504 | SRpnt->sr_cmd_len = 0; | ||
| 505 | SRpnt->sr_request->waiting = waiting; | ||
| 506 | SRpnt->sr_request->rq_status = RQ_SCSI_BUSY; | ||
| 507 | SRpnt->sr_request->rq_disk = STp->disk; | ||
| 508 | SRpnt->sr_request->end_io = blk_end_sync_rq; | ||
| 509 | STp->buffer->cmdstat.have_sense = 0; | ||
| 510 | 504 | ||
| 511 | scsi_do_req(SRpnt, (void *) cmd, bp, bytes, | 505 | if (!STp->buffer->do_dio) |
| 512 | st_sleep_done, timeout, retries); | 506 | buf_to_sg(STp->buffer, bytes); |
| 513 | 507 | ||
| 514 | if (do_wait) { | 508 | memcpy(SRpnt->cmd, cmd, sizeof(SRpnt->cmd)); |
| 509 | STp->buffer->cmdstat.have_sense = 0; | ||
| 510 | STp->buffer->syscall_result = 0; | ||
| 511 | |||
| 512 | if (scsi_execute_async(STp->device, cmd, direction, | ||
| 513 | &((STp->buffer)->sg[0]), bytes, (STp->buffer)->sg_segs, | ||
| 514 | timeout, retries, SRpnt, st_sleep_done, GFP_KERNEL)) { | ||
| 515 | /* could not allocate the buffer or request was too large */ | ||
| 516 | (STp->buffer)->syscall_result = (-EBUSY); | ||
| 517 | (STp->buffer)->last_SRpnt = NULL; | ||
| 518 | } | ||
| 519 | else if (do_wait) { | ||
| 515 | wait_for_completion(waiting); | 520 | wait_for_completion(waiting); |
| 516 | SRpnt->sr_request->waiting = NULL; | 521 | SRpnt->waiting = NULL; |
| 517 | if (SRpnt->sr_request->rq_status != RQ_SCSI_DONE) | ||
| 518 | SRpnt->sr_result |= (DRIVER_ERROR << 24); | ||
| 519 | (STp->buffer)->syscall_result = st_chk_result(STp, SRpnt); | 522 | (STp->buffer)->syscall_result = st_chk_result(STp, SRpnt); |
| 520 | } | 523 | } |
| 524 | |||
| 521 | return SRpnt; | 525 | return SRpnt; |
| 522 | } | 526 | } |
| 523 | 527 | ||
| @@ -532,7 +536,7 @@ static int write_behind_check(struct scsi_tape * STp) | |||
| 532 | struct st_buffer *STbuffer; | 536 | struct st_buffer *STbuffer; |
| 533 | struct st_partstat *STps; | 537 | struct st_partstat *STps; |
| 534 | struct st_cmdstatus *cmdstatp; | 538 | struct st_cmdstatus *cmdstatp; |
| 535 | struct scsi_request *SRpnt; | 539 | struct st_request *SRpnt; |
| 536 | 540 | ||
| 537 | STbuffer = STp->buffer; | 541 | STbuffer = STp->buffer; |
| 538 | if (!STbuffer->writing) | 542 | if (!STbuffer->writing) |
| @@ -548,12 +552,10 @@ static int write_behind_check(struct scsi_tape * STp) | |||
| 548 | wait_for_completion(&(STp->wait)); | 552 | wait_for_completion(&(STp->wait)); |
| 549 | SRpnt = STbuffer->last_SRpnt; | 553 | SRpnt = STbuffer->last_SRpnt; |
| 550 | STbuffer->last_SRpnt = NULL; | 554 | STbuffer->last_SRpnt = NULL; |
| 551 | SRpnt->sr_request->waiting = NULL; | 555 | SRpnt->waiting = NULL; |
| 552 | if (SRpnt->sr_request->rq_status != RQ_SCSI_DONE) | ||
| 553 | SRpnt->sr_result |= (DRIVER_ERROR << 24); | ||
| 554 | 556 | ||
| 555 | (STp->buffer)->syscall_result = st_chk_result(STp, SRpnt); | 557 | (STp->buffer)->syscall_result = st_chk_result(STp, SRpnt); |
| 556 | scsi_release_request(SRpnt); | 558 | st_release_request(SRpnt); |
| 557 | 559 | ||
| 558 | STbuffer->buffer_bytes -= STbuffer->writing; | 560 | STbuffer->buffer_bytes -= STbuffer->writing; |
| 559 | STps = &(STp->ps[STp->partition]); | 561 | STps = &(STp->ps[STp->partition]); |
| @@ -593,7 +595,7 @@ static int write_behind_check(struct scsi_tape * STp) | |||
| 593 | it messes up the block number). */ | 595 | it messes up the block number). */ |
| 594 | static int cross_eof(struct scsi_tape * STp, int forward) | 596 | static int cross_eof(struct scsi_tape * STp, int forward) |
| 595 | { | 597 | { |
| 596 | struct scsi_request *SRpnt; | 598 | struct st_request *SRpnt; |
| 597 | unsigned char cmd[MAX_COMMAND_SIZE]; | 599 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 598 | 600 | ||
| 599 | cmd[0] = SPACE; | 601 | cmd[0] = SPACE; |
| @@ -613,7 +615,7 @@ static int cross_eof(struct scsi_tape * STp, int forward) | |||
| 613 | if (!SRpnt) | 615 | if (!SRpnt) |
| 614 | return (STp->buffer)->syscall_result; | 616 | return (STp->buffer)->syscall_result; |
| 615 | 617 | ||
| 616 | scsi_release_request(SRpnt); | 618 | st_release_request(SRpnt); |
| 617 | SRpnt = NULL; | 619 | SRpnt = NULL; |
| 618 | 620 | ||
| 619 | if ((STp->buffer)->cmdstat.midlevel_result != 0) | 621 | if ((STp->buffer)->cmdstat.midlevel_result != 0) |
| @@ -630,7 +632,7 @@ static int flush_write_buffer(struct scsi_tape * STp) | |||
| 630 | int offset, transfer, blks; | 632 | int offset, transfer, blks; |
| 631 | int result; | 633 | int result; |
| 632 | unsigned char cmd[MAX_COMMAND_SIZE]; | 634 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 633 | struct scsi_request *SRpnt; | 635 | struct st_request *SRpnt; |
| 634 | struct st_partstat *STps; | 636 | struct st_partstat *STps; |
| 635 | 637 | ||
| 636 | result = write_behind_check(STp); | 638 | result = write_behind_check(STp); |
| @@ -688,7 +690,7 @@ static int flush_write_buffer(struct scsi_tape * STp) | |||
| 688 | STp->dirty = 0; | 690 | STp->dirty = 0; |
| 689 | (STp->buffer)->buffer_bytes = 0; | 691 | (STp->buffer)->buffer_bytes = 0; |
| 690 | } | 692 | } |
| 691 | scsi_release_request(SRpnt); | 693 | st_release_request(SRpnt); |
| 692 | SRpnt = NULL; | 694 | SRpnt = NULL; |
| 693 | } | 695 | } |
| 694 | return result; | 696 | return result; |
| @@ -785,7 +787,7 @@ static int set_mode_densblk(struct scsi_tape * STp, struct st_modedef * STm) | |||
| 785 | } | 787 | } |
| 786 | 788 | ||
| 787 | 789 | ||
| 788 | /* Lock or unlock the drive door. Don't use when scsi_request allocated. */ | 790 | /* Lock or unlock the drive door. Don't use when st_request allocated. */ |
| 789 | static int do_door_lock(struct scsi_tape * STp, int do_lock) | 791 | static int do_door_lock(struct scsi_tape * STp, int do_lock) |
| 790 | { | 792 | { |
| 791 | int retval, cmd; | 793 | int retval, cmd; |
| @@ -844,7 +846,7 @@ static int test_ready(struct scsi_tape *STp, int do_wait) | |||
| 844 | int attentions, waits, max_wait, scode; | 846 | int attentions, waits, max_wait, scode; |
| 845 | int retval = CHKRES_READY, new_session = 0; | 847 | int retval = CHKRES_READY, new_session = 0; |
| 846 | unsigned char cmd[MAX_COMMAND_SIZE]; | 848 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 847 | struct scsi_request *SRpnt = NULL; | 849 | struct st_request *SRpnt = NULL; |
| 848 | struct st_cmdstatus *cmdstatp = &STp->buffer->cmdstat; | 850 | struct st_cmdstatus *cmdstatp = &STp->buffer->cmdstat; |
| 849 | 851 | ||
| 850 | max_wait = do_wait ? ST_BLOCK_SECONDS : 0; | 852 | max_wait = do_wait ? ST_BLOCK_SECONDS : 0; |
| @@ -903,7 +905,7 @@ static int test_ready(struct scsi_tape *STp, int do_wait) | |||
| 903 | } | 905 | } |
| 904 | 906 | ||
| 905 | if (SRpnt != NULL) | 907 | if (SRpnt != NULL) |
| 906 | scsi_release_request(SRpnt); | 908 | st_release_request(SRpnt); |
| 907 | return retval; | 909 | return retval; |
| 908 | } | 910 | } |
| 909 | 911 | ||
| @@ -918,7 +920,7 @@ static int check_tape(struct scsi_tape *STp, struct file *filp) | |||
| 918 | int i, retval, new_session = 0, do_wait; | 920 | int i, retval, new_session = 0, do_wait; |
| 919 | unsigned char cmd[MAX_COMMAND_SIZE], saved_cleaning; | 921 | unsigned char cmd[MAX_COMMAND_SIZE], saved_cleaning; |
| 920 | unsigned short st_flags = filp->f_flags; | 922 | unsigned short st_flags = filp->f_flags; |
| 921 | struct scsi_request *SRpnt = NULL; | 923 | struct st_request *SRpnt = NULL; |
| 922 | struct st_modedef *STm; | 924 | struct st_modedef *STm; |
| 923 | struct st_partstat *STps; | 925 | struct st_partstat *STps; |
| 924 | char *name = tape_name(STp); | 926 | char *name = tape_name(STp); |
| @@ -993,7 +995,7 @@ static int check_tape(struct scsi_tape *STp, struct file *filp) | |||
| 993 | goto err_out; | 995 | goto err_out; |
| 994 | } | 996 | } |
| 995 | 997 | ||
| 996 | if (!SRpnt->sr_result && !STp->buffer->cmdstat.have_sense) { | 998 | if (!SRpnt->result && !STp->buffer->cmdstat.have_sense) { |
| 997 | STp->max_block = ((STp->buffer)->b_data[1] << 16) | | 999 | STp->max_block = ((STp->buffer)->b_data[1] << 16) | |
| 998 | ((STp->buffer)->b_data[2] << 8) | (STp->buffer)->b_data[3]; | 1000 | ((STp->buffer)->b_data[2] << 8) | (STp->buffer)->b_data[3]; |
| 999 | STp->min_block = ((STp->buffer)->b_data[4] << 8) | | 1001 | STp->min_block = ((STp->buffer)->b_data[4] << 8) | |
| @@ -1045,7 +1047,7 @@ static int check_tape(struct scsi_tape *STp, struct file *filp) | |||
| 1045 | } | 1047 | } |
| 1046 | STp->drv_write_prot = ((STp->buffer)->b_data[2] & 0x80) != 0; | 1048 | STp->drv_write_prot = ((STp->buffer)->b_data[2] & 0x80) != 0; |
| 1047 | } | 1049 | } |
| 1048 | scsi_release_request(SRpnt); | 1050 | st_release_request(SRpnt); |
| 1049 | SRpnt = NULL; | 1051 | SRpnt = NULL; |
| 1050 | STp->inited = 1; | 1052 | STp->inited = 1; |
| 1051 | 1053 | ||
| @@ -1196,7 +1198,7 @@ static int st_flush(struct file *filp) | |||
| 1196 | { | 1198 | { |
| 1197 | int result = 0, result2; | 1199 | int result = 0, result2; |
| 1198 | unsigned char cmd[MAX_COMMAND_SIZE]; | 1200 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 1199 | struct scsi_request *SRpnt; | 1201 | struct st_request *SRpnt; |
| 1200 | struct scsi_tape *STp = filp->private_data; | 1202 | struct scsi_tape *STp = filp->private_data; |
| 1201 | struct st_modedef *STm = &(STp->modes[STp->current_mode]); | 1203 | struct st_modedef *STm = &(STp->modes[STp->current_mode]); |
| 1202 | struct st_partstat *STps = &(STp->ps[STp->partition]); | 1204 | struct st_partstat *STps = &(STp->ps[STp->partition]); |
| @@ -1249,7 +1251,7 @@ static int st_flush(struct file *filp) | |||
| 1249 | cmdstatp->sense_hdr.sense_key == RECOVERED_ERROR) && | 1251 | cmdstatp->sense_hdr.sense_key == RECOVERED_ERROR) && |
| 1250 | (!cmdstatp->remainder_valid || cmdstatp->uremainder64 == 0))) { | 1252 | (!cmdstatp->remainder_valid || cmdstatp->uremainder64 == 0))) { |
| 1251 | /* Write successful at EOM */ | 1253 | /* Write successful at EOM */ |
| 1252 | scsi_release_request(SRpnt); | 1254 | st_release_request(SRpnt); |
| 1253 | SRpnt = NULL; | 1255 | SRpnt = NULL; |
| 1254 | if (STps->drv_file >= 0) | 1256 | if (STps->drv_file >= 0) |
| 1255 | STps->drv_file++; | 1257 | STps->drv_file++; |
| @@ -1259,7 +1261,7 @@ static int st_flush(struct file *filp) | |||
| 1259 | STps->eof = ST_FM; | 1261 | STps->eof = ST_FM; |
| 1260 | } | 1262 | } |
| 1261 | else { /* Write error */ | 1263 | else { /* Write error */ |
| 1262 | scsi_release_request(SRpnt); | 1264 | st_release_request(SRpnt); |
| 1263 | SRpnt = NULL; | 1265 | SRpnt = NULL; |
| 1264 | printk(KERN_ERR "%s: Error on write filemark.\n", name); | 1266 | printk(KERN_ERR "%s: Error on write filemark.\n", name); |
| 1265 | if (result == 0) | 1267 | if (result == 0) |
| @@ -1400,11 +1402,11 @@ static int setup_buffering(struct scsi_tape *STp, const char __user *buf, | |||
| 1400 | i = STp->try_dio && try_rdio; | 1402 | i = STp->try_dio && try_rdio; |
| 1401 | else | 1403 | else |
| 1402 | i = STp->try_dio && try_wdio; | 1404 | i = STp->try_dio && try_wdio; |
| 1405 | |||
| 1403 | if (i && ((unsigned long)buf & queue_dma_alignment( | 1406 | if (i && ((unsigned long)buf & queue_dma_alignment( |
| 1404 | STp->device->request_queue)) == 0) { | 1407 | STp->device->request_queue)) == 0) { |
| 1405 | i = st_map_user_pages(&(STbp->sg[0]), STbp->use_sg, | 1408 | i = sgl_map_user_pages(&(STbp->sg[0]), STbp->use_sg, |
| 1406 | (unsigned long)buf, count, (is_read ? READ : WRITE), | 1409 | (unsigned long)buf, count, (is_read ? READ : WRITE)); |
| 1407 | STp->max_pfn); | ||
| 1408 | if (i > 0) { | 1410 | if (i > 0) { |
| 1409 | STbp->do_dio = i; | 1411 | STbp->do_dio = i; |
| 1410 | STbp->buffer_bytes = 0; /* can be used as transfer counter */ | 1412 | STbp->buffer_bytes = 0; /* can be used as transfer counter */ |
| @@ -1449,14 +1451,15 @@ static int setup_buffering(struct scsi_tape *STp, const char __user *buf, | |||
| 1449 | 1451 | ||
| 1450 | 1452 | ||
| 1451 | /* Can be called more than once after each setup_buffer() */ | 1453 | /* Can be called more than once after each setup_buffer() */ |
| 1452 | static void release_buffering(struct scsi_tape *STp) | 1454 | static void release_buffering(struct scsi_tape *STp, int is_read) |
| 1453 | { | 1455 | { |
| 1454 | struct st_buffer *STbp; | 1456 | struct st_buffer *STbp; |
| 1455 | 1457 | ||
| 1456 | STbp = STp->buffer; | 1458 | STbp = STp->buffer; |
| 1457 | if (STbp->do_dio) { | 1459 | if (STbp->do_dio) { |
| 1458 | sgl_unmap_user_pages(&(STbp->sg[0]), STbp->do_dio, 0); | 1460 | sgl_unmap_user_pages(&(STbp->sg[0]), STbp->do_dio, is_read); |
| 1459 | STbp->do_dio = 0; | 1461 | STbp->do_dio = 0; |
| 1462 | STbp->sg_segs = 0; | ||
| 1460 | } | 1463 | } |
| 1461 | } | 1464 | } |
| 1462 | 1465 | ||
| @@ -1472,7 +1475,7 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 1472 | int async_write; | 1475 | int async_write; |
| 1473 | unsigned char cmd[MAX_COMMAND_SIZE]; | 1476 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 1474 | const char __user *b_point; | 1477 | const char __user *b_point; |
| 1475 | struct scsi_request *SRpnt = NULL; | 1478 | struct st_request *SRpnt = NULL; |
| 1476 | struct scsi_tape *STp = filp->private_data; | 1479 | struct scsi_tape *STp = filp->private_data; |
| 1477 | struct st_modedef *STm; | 1480 | struct st_modedef *STm; |
| 1478 | struct st_partstat *STps; | 1481 | struct st_partstat *STps; |
| @@ -1624,7 +1627,7 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 1624 | retval = STbp->syscall_result; | 1627 | retval = STbp->syscall_result; |
| 1625 | goto out; | 1628 | goto out; |
| 1626 | } | 1629 | } |
| 1627 | if (async_write) { | 1630 | if (async_write && !STbp->syscall_result) { |
| 1628 | STbp->writing = transfer; | 1631 | STbp->writing = transfer; |
| 1629 | STp->dirty = !(STbp->writing == | 1632 | STp->dirty = !(STbp->writing == |
| 1630 | STbp->buffer_bytes); | 1633 | STbp->buffer_bytes); |
| @@ -1698,7 +1701,7 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 1698 | } else { | 1701 | } else { |
| 1699 | count += do_count; | 1702 | count += do_count; |
| 1700 | STps->drv_block = (-1); /* Too cautious? */ | 1703 | STps->drv_block = (-1); /* Too cautious? */ |
| 1701 | retval = (-EIO); | 1704 | retval = STbp->syscall_result; |
| 1702 | } | 1705 | } |
| 1703 | 1706 | ||
| 1704 | } | 1707 | } |
| @@ -1728,8 +1731,8 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 1728 | 1731 | ||
| 1729 | out: | 1732 | out: |
| 1730 | if (SRpnt != NULL) | 1733 | if (SRpnt != NULL) |
| 1731 | scsi_release_request(SRpnt); | 1734 | st_release_request(SRpnt); |
| 1732 | release_buffering(STp); | 1735 | release_buffering(STp, 0); |
| 1733 | up(&STp->lock); | 1736 | up(&STp->lock); |
| 1734 | 1737 | ||
| 1735 | return retval; | 1738 | return retval; |
| @@ -1742,11 +1745,11 @@ st_write(struct file *filp, const char __user *buf, size_t count, loff_t * ppos) | |||
| 1742 | Does release user buffer mapping if it is set. | 1745 | Does release user buffer mapping if it is set. |
| 1743 | */ | 1746 | */ |
| 1744 | static long read_tape(struct scsi_tape *STp, long count, | 1747 | static long read_tape(struct scsi_tape *STp, long count, |
| 1745 | struct scsi_request ** aSRpnt) | 1748 | struct st_request ** aSRpnt) |
| 1746 | { | 1749 | { |
| 1747 | int transfer, blks, bytes; | 1750 | int transfer, blks, bytes; |
| 1748 | unsigned char cmd[MAX_COMMAND_SIZE]; | 1751 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 1749 | struct scsi_request *SRpnt; | 1752 | struct st_request *SRpnt; |
| 1750 | struct st_modedef *STm; | 1753 | struct st_modedef *STm; |
| 1751 | struct st_partstat *STps; | 1754 | struct st_partstat *STps; |
| 1752 | struct st_buffer *STbp; | 1755 | struct st_buffer *STbp; |
| @@ -1787,7 +1790,7 @@ static long read_tape(struct scsi_tape *STp, long count, | |||
| 1787 | SRpnt = *aSRpnt; | 1790 | SRpnt = *aSRpnt; |
| 1788 | SRpnt = st_do_scsi(SRpnt, STp, cmd, bytes, DMA_FROM_DEVICE, | 1791 | SRpnt = st_do_scsi(SRpnt, STp, cmd, bytes, DMA_FROM_DEVICE, |
| 1789 | STp->device->timeout, MAX_RETRIES, 1); | 1792 | STp->device->timeout, MAX_RETRIES, 1); |
| 1790 | release_buffering(STp); | 1793 | release_buffering(STp, 1); |
| 1791 | *aSRpnt = SRpnt; | 1794 | *aSRpnt = SRpnt; |
| 1792 | if (!SRpnt) | 1795 | if (!SRpnt) |
| 1793 | return STbp->syscall_result; | 1796 | return STbp->syscall_result; |
| @@ -1802,10 +1805,10 @@ static long read_tape(struct scsi_tape *STp, long count, | |||
| 1802 | retval = 1; | 1805 | retval = 1; |
| 1803 | DEBC(printk(ST_DEB_MSG "%s: Sense: %2x %2x %2x %2x %2x %2x %2x %2x\n", | 1806 | DEBC(printk(ST_DEB_MSG "%s: Sense: %2x %2x %2x %2x %2x %2x %2x %2x\n", |
| 1804 | name, | 1807 | name, |
| 1805 | SRpnt->sr_sense_buffer[0], SRpnt->sr_sense_buffer[1], | 1808 | SRpnt->sense[0], SRpnt->sense[1], |
| 1806 | SRpnt->sr_sense_buffer[2], SRpnt->sr_sense_buffer[3], | 1809 | SRpnt->sense[2], SRpnt->sense[3], |
| 1807 | SRpnt->sr_sense_buffer[4], SRpnt->sr_sense_buffer[5], | 1810 | SRpnt->sense[4], SRpnt->sense[5], |
| 1808 | SRpnt->sr_sense_buffer[6], SRpnt->sr_sense_buffer[7])); | 1811 | SRpnt->sense[6], SRpnt->sense[7])); |
| 1809 | if (cmdstatp->have_sense) { | 1812 | if (cmdstatp->have_sense) { |
| 1810 | 1813 | ||
| 1811 | if (cmdstatp->sense_hdr.sense_key == BLANK_CHECK) | 1814 | if (cmdstatp->sense_hdr.sense_key == BLANK_CHECK) |
| @@ -1835,7 +1838,7 @@ static long read_tape(struct scsi_tape *STp, long count, | |||
| 1835 | } | 1838 | } |
| 1836 | STbp->buffer_bytes = bytes - transfer; | 1839 | STbp->buffer_bytes = bytes - transfer; |
| 1837 | } else { | 1840 | } else { |
| 1838 | scsi_release_request(SRpnt); | 1841 | st_release_request(SRpnt); |
| 1839 | SRpnt = *aSRpnt = NULL; | 1842 | SRpnt = *aSRpnt = NULL; |
| 1840 | if (transfer == blks) { /* We did not get anything, error */ | 1843 | if (transfer == blks) { /* We did not get anything, error */ |
| 1841 | printk(KERN_NOTICE "%s: Incorrect block size.\n", name); | 1844 | printk(KERN_NOTICE "%s: Incorrect block size.\n", name); |
| @@ -1929,7 +1932,7 @@ st_read(struct file *filp, char __user *buf, size_t count, loff_t * ppos) | |||
| 1929 | ssize_t retval = 0; | 1932 | ssize_t retval = 0; |
| 1930 | ssize_t i, transfer; | 1933 | ssize_t i, transfer; |
| 1931 | int special, do_dio = 0; | 1934 | int special, do_dio = 0; |
| 1932 | struct scsi_request *SRpnt = NULL; | 1935 | struct st_request *SRpnt = NULL; |
| 1933 | struct scsi_tape *STp = filp->private_data; | 1936 | struct scsi_tape *STp = filp->private_data; |
| 1934 | struct st_modedef *STm; | 1937 | struct st_modedef *STm; |
| 1935 | struct st_partstat *STps; | 1938 | struct st_partstat *STps; |
| @@ -2054,11 +2057,11 @@ st_read(struct file *filp, char __user *buf, size_t count, loff_t * ppos) | |||
| 2054 | 2057 | ||
| 2055 | out: | 2058 | out: |
| 2056 | if (SRpnt != NULL) { | 2059 | if (SRpnt != NULL) { |
| 2057 | scsi_release_request(SRpnt); | 2060 | st_release_request(SRpnt); |
| 2058 | SRpnt = NULL; | 2061 | SRpnt = NULL; |
| 2059 | } | 2062 | } |
| 2060 | if (do_dio) { | 2063 | if (do_dio) { |
| 2061 | release_buffering(STp); | 2064 | release_buffering(STp, 1); |
| 2062 | STbp->buffer_bytes = 0; | 2065 | STbp->buffer_bytes = 0; |
| 2063 | } | 2066 | } |
| 2064 | up(&STp->lock); | 2067 | up(&STp->lock); |
| @@ -2284,7 +2287,7 @@ static int st_set_options(struct scsi_tape *STp, long options) | |||
| 2284 | static int read_mode_page(struct scsi_tape *STp, int page, int omit_block_descs) | 2287 | static int read_mode_page(struct scsi_tape *STp, int page, int omit_block_descs) |
| 2285 | { | 2288 | { |
| 2286 | unsigned char cmd[MAX_COMMAND_SIZE]; | 2289 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 2287 | struct scsi_request *SRpnt = NULL; | 2290 | struct st_request *SRpnt = NULL; |
| 2288 | 2291 | ||
| 2289 | memset(cmd, 0, MAX_COMMAND_SIZE); | 2292 | memset(cmd, 0, MAX_COMMAND_SIZE); |
| 2290 | cmd[0] = MODE_SENSE; | 2293 | cmd[0] = MODE_SENSE; |
| @@ -2298,7 +2301,7 @@ static int read_mode_page(struct scsi_tape *STp, int page, int omit_block_descs) | |||
| 2298 | if (SRpnt == NULL) | 2301 | if (SRpnt == NULL) |
| 2299 | return (STp->buffer)->syscall_result; | 2302 | return (STp->buffer)->syscall_result; |
| 2300 | 2303 | ||
| 2301 | scsi_release_request(SRpnt); | 2304 | st_release_request(SRpnt); |
| 2302 | 2305 | ||
| 2303 | return (STp->buffer)->syscall_result; | 2306 | return (STp->buffer)->syscall_result; |
| 2304 | } | 2307 | } |
| @@ -2310,7 +2313,7 @@ static int write_mode_page(struct scsi_tape *STp, int page, int slow) | |||
| 2310 | { | 2313 | { |
| 2311 | int pgo; | 2314 | int pgo; |
| 2312 | unsigned char cmd[MAX_COMMAND_SIZE]; | 2315 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 2313 | struct scsi_request *SRpnt = NULL; | 2316 | struct st_request *SRpnt = NULL; |
| 2314 | 2317 | ||
| 2315 | memset(cmd, 0, MAX_COMMAND_SIZE); | 2318 | memset(cmd, 0, MAX_COMMAND_SIZE); |
| 2316 | cmd[0] = MODE_SELECT; | 2319 | cmd[0] = MODE_SELECT; |
| @@ -2329,7 +2332,7 @@ static int write_mode_page(struct scsi_tape *STp, int page, int slow) | |||
| 2329 | if (SRpnt == NULL) | 2332 | if (SRpnt == NULL) |
| 2330 | return (STp->buffer)->syscall_result; | 2333 | return (STp->buffer)->syscall_result; |
| 2331 | 2334 | ||
| 2332 | scsi_release_request(SRpnt); | 2335 | st_release_request(SRpnt); |
| 2333 | 2336 | ||
| 2334 | return (STp->buffer)->syscall_result; | 2337 | return (STp->buffer)->syscall_result; |
| 2335 | } | 2338 | } |
| @@ -2412,7 +2415,7 @@ static int do_load_unload(struct scsi_tape *STp, struct file *filp, int load_cod | |||
| 2412 | DEB( char *name = tape_name(STp); ) | 2415 | DEB( char *name = tape_name(STp); ) |
| 2413 | unsigned char cmd[MAX_COMMAND_SIZE]; | 2416 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 2414 | struct st_partstat *STps; | 2417 | struct st_partstat *STps; |
| 2415 | struct scsi_request *SRpnt; | 2418 | struct st_request *SRpnt; |
| 2416 | 2419 | ||
| 2417 | if (STp->ready != ST_READY && !load_code) { | 2420 | if (STp->ready != ST_READY && !load_code) { |
| 2418 | if (STp->ready == ST_NO_TAPE) | 2421 | if (STp->ready == ST_NO_TAPE) |
| @@ -2455,7 +2458,7 @@ static int do_load_unload(struct scsi_tape *STp, struct file *filp, int load_cod | |||
| 2455 | return (STp->buffer)->syscall_result; | 2458 | return (STp->buffer)->syscall_result; |
| 2456 | 2459 | ||
| 2457 | retval = (STp->buffer)->syscall_result; | 2460 | retval = (STp->buffer)->syscall_result; |
| 2458 | scsi_release_request(SRpnt); | 2461 | st_release_request(SRpnt); |
| 2459 | 2462 | ||
| 2460 | if (!retval) { /* SCSI command successful */ | 2463 | if (!retval) { /* SCSI command successful */ |
| 2461 | 2464 | ||
| @@ -2503,7 +2506,7 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon | |||
| 2503 | int ioctl_result; | 2506 | int ioctl_result; |
| 2504 | int chg_eof = 1; | 2507 | int chg_eof = 1; |
| 2505 | unsigned char cmd[MAX_COMMAND_SIZE]; | 2508 | unsigned char cmd[MAX_COMMAND_SIZE]; |
| 2506 | struct scsi_request *SRpnt; | 2509 | struct st_request *SRpnt; |
| 2507 | struct st_partstat *STps; | 2510 | struct st_partstat *STps; |
| 2508 | int fileno, blkno, at_sm, undone; | 2511 | int fileno, blkno, at_sm, undone; |
| 2509 | int datalen = 0, direction = DMA_NONE; | 2512 | int datalen = 0, direction = DMA_NONE; |
| @@ -2757,7 +2760,7 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon | |||
| 2757 | ioctl_result = (STp->buffer)->syscall_result; | 2760 | ioctl_result = (STp->buffer)->syscall_result; |
| 2758 | 2761 | ||
| 2759 | if (!ioctl_result) { /* SCSI command successful */ | 2762 | if (!ioctl_result) { /* SCSI command successful */ |
| 2760 | scsi_release_request(SRpnt); | 2763 | st_release_request(SRpnt); |
| 2761 | SRpnt = NULL; | 2764 | SRpnt = NULL; |
| 2762 | STps->drv_block = blkno; | 2765 | STps->drv_block = blkno; |
| 2763 | STps->drv_file = fileno; | 2766 | STps->drv_file = fileno; |
| @@ -2872,7 +2875,7 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon | |||
| 2872 | /* Try the other possible state of Page Format if not | 2875 | /* Try the other possible state of Page Format if not |
| 2873 | already tried */ | 2876 | already tried */ |
| 2874 | STp->use_pf = !STp->use_pf | PF_TESTED; | 2877 | STp->use_pf = !STp->use_pf | PF_TESTED; |
| 2875 | scsi_release_request(SRpnt); | 2878 | st_release_request(SRpnt); |
| 2876 | SRpnt = NULL; | 2879 | SRpnt = NULL; |
| 2877 | return st_int_ioctl(STp, cmd_in, arg); | 2880 | return st_int_ioctl(STp, cmd_in, arg); |
| 2878 | } | 2881 | } |
| @@ -2882,7 +2885,7 @@ static int st_int_ioctl(struct scsi_tape *STp, unsigned int cmd_in, unsigned lon | |||
| 2882 | if (cmdstatp->sense_hdr.sense_key == BLANK_CHECK) | 2885 | if (cmdstatp->sense_hdr.sense_key == BLANK_CHECK) |
| 2883 | STps->eof = ST_EOD; | 2886 | STps->eof = ST_EOD; |
| 2884 | 2887 | ||
| 2885 | scsi_release_request(SRpnt); | 2888 | st_release_request(SRpnt); |
| 2886 | SRpnt = NULL; | 2889 | SRpnt = NULL; |
| 2887 | } | 2890 | } |
| 2888 | 2891 | ||
| @@ -2898,7 +2901,7 @@ static int get_location(struct scsi_tape *STp, unsigned int *block, int *partiti | |||
| 2898 | { | 2901 | { |
| 2899 | int result; | 2902 | int result; |
| 2900 | unsigned char scmd[MAX_COMMAND_SIZE]; | 2903 | unsigned char scmd[MAX_COMMAND_SIZE]; |
| 2901 | struct scsi_request *SRpnt; | 2904 | struct st_request *SRpnt; |
| 2902 | DEB( char *name = tape_name(STp); ) | 2905 | DEB( char *name = tape_name(STp); ) |
| 2903 | 2906 | ||
| 2904 | if (STp->ready != ST_READY) | 2907 | if (STp->ready != ST_READY) |
| @@ -2944,7 +2947,7 @@ static int get_location(struct scsi_tape *STp, unsigned int *block, int *partiti | |||
| 2944 | DEBC(printk(ST_DEB_MSG "%s: Got tape pos. blk %d part %d.\n", name, | 2947 | DEBC(printk(ST_DEB_MSG "%s: Got tape pos. blk %d part %d.\n", name, |
| 2945 | *block, *partition)); | 2948 | *block, *partition)); |
| 2946 | } | 2949 | } |
| 2947 | scsi_release_request(SRpnt); | 2950 | st_release_request(SRpnt); |
| 2948 | SRpnt = NULL; | 2951 | SRpnt = NULL; |
| 2949 | 2952 | ||
| 2950 | return result; | 2953 | return result; |
| @@ -2961,7 +2964,7 @@ static int set_location(struct scsi_tape *STp, unsigned int block, int partition | |||
| 2961 | unsigned int blk; | 2964 | unsigned int blk; |
| 2962 | int timeout; | 2965 | int timeout; |
| 2963 | unsigned char scmd[MAX_COMMAND_SIZE]; | 2966 | unsigned char scmd[MAX_COMMAND_SIZE]; |
| 2964 | struct scsi_request *SRpnt; | 2967 | struct st_request *SRpnt; |
| 2965 | DEB( char *name = tape_name(STp); ) | 2968 | DEB( char *name = tape_name(STp); ) |
| 2966 | 2969 | ||
| 2967 | if (STp->ready != ST_READY) | 2970 | if (STp->ready != ST_READY) |
| @@ -3047,7 +3050,7 @@ static int set_location(struct scsi_tape *STp, unsigned int block, int partition | |||
| 3047 | result = 0; | 3050 | result = 0; |
| 3048 | } | 3051 | } |
| 3049 | 3052 | ||
| 3050 | scsi_release_request(SRpnt); | 3053 | st_release_request(SRpnt); |
| 3051 | SRpnt = NULL; | 3054 | SRpnt = NULL; |
| 3052 | 3055 | ||
| 3053 | return result; | 3056 | return result; |
| @@ -3577,7 +3580,7 @@ static long st_compat_ioctl(struct file *file, unsigned int cmd, unsigned long a | |||
| 3577 | static struct st_buffer * | 3580 | static struct st_buffer * |
| 3578 | new_tape_buffer(int from_initialization, int need_dma, int max_sg) | 3581 | new_tape_buffer(int from_initialization, int need_dma, int max_sg) |
| 3579 | { | 3582 | { |
| 3580 | int i, got = 0, segs = 0; | 3583 | int i, got = 0; |
| 3581 | gfp_t priority; | 3584 | gfp_t priority; |
| 3582 | struct st_buffer *tb; | 3585 | struct st_buffer *tb; |
| 3583 | 3586 | ||
| @@ -3594,10 +3597,8 @@ static struct st_buffer * | |||
| 3594 | return NULL; | 3597 | return NULL; |
| 3595 | } | 3598 | } |
| 3596 | memset(tb, 0, i); | 3599 | memset(tb, 0, i); |
| 3597 | tb->frp_segs = tb->orig_frp_segs = segs; | 3600 | tb->frp_segs = tb->orig_frp_segs = 0; |
| 3598 | tb->use_sg = max_sg; | 3601 | tb->use_sg = max_sg; |
| 3599 | if (segs > 0) | ||
| 3600 | tb->b_data = page_address(tb->sg[0].page); | ||
| 3601 | tb->frp = (struct st_buf_fragment *)(&(tb->sg[0]) + max_sg); | 3602 | tb->frp = (struct st_buf_fragment *)(&(tb->sg[0]) + max_sg); |
| 3602 | 3603 | ||
| 3603 | tb->in_use = 1; | 3604 | tb->in_use = 1; |
| @@ -3628,7 +3629,7 @@ static int enlarge_buffer(struct st_buffer * STbuffer, int new_size, int need_dm | |||
| 3628 | priority = GFP_KERNEL | __GFP_NOWARN; | 3629 | priority = GFP_KERNEL | __GFP_NOWARN; |
| 3629 | if (need_dma) | 3630 | if (need_dma) |
| 3630 | priority |= GFP_DMA; | 3631 | priority |= GFP_DMA; |
| 3631 | for (b_size = PAGE_SIZE, order=0; | 3632 | for (b_size = PAGE_SIZE, order=0; order <= 6 && |
| 3632 | b_size < new_size - STbuffer->buffer_size; | 3633 | b_size < new_size - STbuffer->buffer_size; |
| 3633 | order++, b_size *= 2) | 3634 | order++, b_size *= 2) |
| 3634 | ; /* empty */ | 3635 | ; /* empty */ |
| @@ -3670,6 +3671,7 @@ static void normalize_buffer(struct st_buffer * STbuffer) | |||
| 3670 | } | 3671 | } |
| 3671 | STbuffer->frp_segs = STbuffer->orig_frp_segs; | 3672 | STbuffer->frp_segs = STbuffer->orig_frp_segs; |
| 3672 | STbuffer->frp_sg_current = 0; | 3673 | STbuffer->frp_sg_current = 0; |
| 3674 | STbuffer->sg_segs = 0; | ||
| 3673 | } | 3675 | } |
| 3674 | 3676 | ||
| 3675 | 3677 | ||
| @@ -3882,7 +3884,6 @@ static int st_probe(struct device *dev) | |||
| 3882 | struct st_buffer *buffer; | 3884 | struct st_buffer *buffer; |
| 3883 | int i, j, mode, dev_num, error; | 3885 | int i, j, mode, dev_num, error; |
| 3884 | char *stp; | 3886 | char *stp; |
| 3885 | u64 bounce_limit; | ||
| 3886 | 3887 | ||
| 3887 | if (SDp->type != TYPE_TAPE) | 3888 | if (SDp->type != TYPE_TAPE) |
| 3888 | return -ENODEV; | 3889 | return -ENODEV; |
| @@ -3892,7 +3893,8 @@ static int st_probe(struct device *dev) | |||
| 3892 | return -ENODEV; | 3893 | return -ENODEV; |
| 3893 | } | 3894 | } |
| 3894 | 3895 | ||
| 3895 | i = SDp->host->sg_tablesize; | 3896 | i = min(SDp->request_queue->max_hw_segments, |
| 3897 | SDp->request_queue->max_phys_segments); | ||
| 3896 | if (st_max_sg_segs < i) | 3898 | if (st_max_sg_segs < i) |
| 3897 | i = st_max_sg_segs; | 3899 | i = st_max_sg_segs; |
| 3898 | buffer = new_tape_buffer(1, (SDp->host)->unchecked_isa_dma, i); | 3900 | buffer = new_tape_buffer(1, (SDp->host)->unchecked_isa_dma, i); |
| @@ -3994,11 +3996,6 @@ static int st_probe(struct device *dev) | |||
| 3994 | tpnt->long_timeout = ST_LONG_TIMEOUT; | 3996 | tpnt->long_timeout = ST_LONG_TIMEOUT; |
| 3995 | tpnt->try_dio = try_direct_io && !SDp->host->unchecked_isa_dma; | 3997 | tpnt->try_dio = try_direct_io && !SDp->host->unchecked_isa_dma; |
| 3996 | 3998 | ||
| 3997 | bounce_limit = scsi_calculate_bounce_limit(SDp->host) >> PAGE_SHIFT; | ||
| 3998 | if (bounce_limit > ULONG_MAX) | ||
| 3999 | bounce_limit = ULONG_MAX; | ||
| 4000 | tpnt->max_pfn = bounce_limit; | ||
| 4001 | |||
| 4002 | for (i = 0; i < ST_NBR_MODES; i++) { | 3999 | for (i = 0; i < ST_NBR_MODES; i++) { |
| 4003 | STm = &(tpnt->modes[i]); | 4000 | STm = &(tpnt->modes[i]); |
| 4004 | STm->defined = 0; | 4001 | STm->defined = 0; |
| @@ -4077,9 +4074,9 @@ static int st_probe(struct device *dev) | |||
| 4077 | 4074 | ||
| 4078 | sdev_printk(KERN_WARNING, SDp, | 4075 | sdev_printk(KERN_WARNING, SDp, |
| 4079 | "Attached scsi tape %s", tape_name(tpnt)); | 4076 | "Attached scsi tape %s", tape_name(tpnt)); |
| 4080 | printk(KERN_WARNING "%s: try direct i/o: %s (alignment %d B), max page reachable by HBA %lu\n", | 4077 | printk(KERN_WARNING "%s: try direct i/o: %s (alignment %d B)\n", |
| 4081 | tape_name(tpnt), tpnt->try_dio ? "yes" : "no", | 4078 | tape_name(tpnt), tpnt->try_dio ? "yes" : "no", |
| 4082 | queue_dma_alignment(SDp->request_queue) + 1, tpnt->max_pfn); | 4079 | queue_dma_alignment(SDp->request_queue) + 1); |
| 4083 | 4080 | ||
| 4084 | return 0; | 4081 | return 0; |
| 4085 | 4082 | ||
| @@ -4185,7 +4182,11 @@ static void scsi_tape_release(struct kref *kref) | |||
| 4185 | 4182 | ||
| 4186 | static void st_intr(struct scsi_cmnd *SCpnt) | 4183 | static void st_intr(struct scsi_cmnd *SCpnt) |
| 4187 | { | 4184 | { |
| 4188 | scsi_io_completion(SCpnt, (SCpnt->result ? 0: SCpnt->bufflen), 1); | 4185 | /* |
| 4186 | * The caller should be checking the request's errors | ||
| 4187 | * value. | ||
| 4188 | */ | ||
| 4189 | scsi_io_completion(SCpnt, SCpnt->bufflen, 0); | ||
| 4189 | } | 4190 | } |
| 4190 | 4191 | ||
| 4191 | /* | 4192 | /* |
| @@ -4197,7 +4198,7 @@ static int st_init_command(struct scsi_cmnd *SCpnt) | |||
| 4197 | if (!(SCpnt->request->flags & REQ_BLOCK_PC)) | 4198 | if (!(SCpnt->request->flags & REQ_BLOCK_PC)) |
| 4198 | return 0; | 4199 | return 0; |
| 4199 | 4200 | ||
| 4200 | scsi_setup_blk_pc_cmnd(SCpnt, 0); | 4201 | scsi_setup_blk_pc_cmnd(SCpnt); |
| 4201 | SCpnt->done = st_intr; | 4202 | SCpnt->done = st_intr; |
| 4202 | return 1; | 4203 | return 1; |
| 4203 | } | 4204 | } |
| @@ -4390,34 +4391,6 @@ static void do_create_class_files(struct scsi_tape *STp, int dev_num, int mode) | |||
| 4390 | return; | 4391 | return; |
| 4391 | } | 4392 | } |
| 4392 | 4393 | ||
| 4393 | |||
| 4394 | /* Pin down user pages and put them into a scatter gather list. Returns <= 0 if | ||
| 4395 | - mapping of all pages not successful | ||
| 4396 | - any page is above max_pfn | ||
| 4397 | (i.e., either completely successful or fails) | ||
| 4398 | */ | ||
| 4399 | static int st_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | ||
| 4400 | unsigned long uaddr, size_t count, int rw, | ||
| 4401 | unsigned long max_pfn) | ||
| 4402 | { | ||
| 4403 | int i, nr_pages; | ||
| 4404 | |||
| 4405 | nr_pages = sgl_map_user_pages(sgl, max_pages, uaddr, count, rw); | ||
| 4406 | if (nr_pages <= 0) | ||
| 4407 | return nr_pages; | ||
| 4408 | |||
| 4409 | for (i=0; i < nr_pages; i++) { | ||
| 4410 | if (page_to_pfn(sgl[i].page) > max_pfn) | ||
| 4411 | goto out_unmap; | ||
| 4412 | } | ||
| 4413 | return nr_pages; | ||
| 4414 | |||
| 4415 | out_unmap: | ||
| 4416 | sgl_unmap_user_pages(sgl, nr_pages, 0); | ||
| 4417 | return 0; | ||
| 4418 | } | ||
| 4419 | |||
| 4420 | |||
| 4421 | /* The following functions may be useful for a larger audience. */ | 4394 | /* The following functions may be useful for a larger audience. */ |
| 4422 | static int sgl_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, | 4395 | static int sgl_map_user_pages(struct scatterlist *sgl, const unsigned int max_pages, |
| 4423 | unsigned long uaddr, size_t count, int rw) | 4396 | unsigned long uaddr, size_t count, int rw) |
diff --git a/drivers/scsi/st.h b/drivers/scsi/st.h index 790acac160bc..411209048d74 100644 --- a/drivers/scsi/st.h +++ b/drivers/scsi/st.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | #include <linux/completion.h> | 5 | #include <linux/completion.h> |
| 6 | #include <linux/kref.h> | 6 | #include <linux/kref.h> |
| 7 | #include <scsi/scsi_cmnd.h> | ||
| 7 | 8 | ||
| 8 | /* Descriptor for analyzed sense data */ | 9 | /* Descriptor for analyzed sense data */ |
| 9 | struct st_cmdstatus { | 10 | struct st_cmdstatus { |
| @@ -17,6 +18,17 @@ struct st_cmdstatus { | |||
| 17 | u8 deferred; | 18 | u8 deferred; |
| 18 | }; | 19 | }; |
| 19 | 20 | ||
| 21 | struct scsi_tape; | ||
| 22 | |||
| 23 | /* scsi tape command */ | ||
| 24 | struct st_request { | ||
| 25 | unsigned char cmd[MAX_COMMAND_SIZE]; | ||
| 26 | unsigned char sense[SCSI_SENSE_BUFFERSIZE]; | ||
| 27 | int result; | ||
| 28 | struct scsi_tape *stp; | ||
| 29 | struct completion *waiting; | ||
| 30 | }; | ||
| 31 | |||
| 20 | /* The tape buffer descriptor. */ | 32 | /* The tape buffer descriptor. */ |
| 21 | struct st_buffer { | 33 | struct st_buffer { |
| 22 | unsigned char in_use; | 34 | unsigned char in_use; |
| @@ -28,7 +40,7 @@ struct st_buffer { | |||
| 28 | int read_pointer; | 40 | int read_pointer; |
| 29 | int writing; | 41 | int writing; |
| 30 | int syscall_result; | 42 | int syscall_result; |
| 31 | struct scsi_request *last_SRpnt; | 43 | struct st_request *last_SRpnt; |
| 32 | struct st_cmdstatus cmdstat; | 44 | struct st_cmdstatus cmdstat; |
| 33 | unsigned char *b_data; | 45 | unsigned char *b_data; |
| 34 | unsigned short use_sg; /* zero or max number of s/g segments for this adapter */ | 46 | unsigned short use_sg; /* zero or max number of s/g segments for this adapter */ |
diff --git a/drivers/scsi/sun3_NCR5380.c b/drivers/scsi/sun3_NCR5380.c index c041bfd56e12..25cced91c8a6 100644 --- a/drivers/scsi/sun3_NCR5380.c +++ b/drivers/scsi/sun3_NCR5380.c | |||
| @@ -70,6 +70,7 @@ | |||
| 70 | * | 70 | * |
| 71 | */ | 71 | */ |
| 72 | #include <scsi/scsi_dbg.h> | 72 | #include <scsi/scsi_dbg.h> |
| 73 | #include <scsi/scsi_transport_spi.h> | ||
| 73 | 74 | ||
| 74 | /* | 75 | /* |
| 75 | * Further development / testing that should be done : | 76 | * Further development / testing that should be done : |
| @@ -2378,7 +2379,7 @@ static void NCR5380_information_transfer (struct Scsi_Host *instance) | |||
| 2378 | * 3..length+1 arguments | 2379 | * 3..length+1 arguments |
| 2379 | * | 2380 | * |
| 2380 | * Start the extended message buffer with the EXTENDED_MESSAGE | 2381 | * Start the extended message buffer with the EXTENDED_MESSAGE |
| 2381 | * byte, since scsi_print_msg() wants the whole thing. | 2382 | * byte, since spi_print_msg() wants the whole thing. |
| 2382 | */ | 2383 | */ |
| 2383 | extended_msg[0] = EXTENDED_MESSAGE; | 2384 | extended_msg[0] = EXTENDED_MESSAGE; |
| 2384 | /* Accept first byte by clearing ACK */ | 2385 | /* Accept first byte by clearing ACK */ |
| @@ -2431,7 +2432,7 @@ static void NCR5380_information_transfer (struct Scsi_Host *instance) | |||
| 2431 | default: | 2432 | default: |
| 2432 | if (!tmp) { | 2433 | if (!tmp) { |
| 2433 | printk(KERN_DEBUG "scsi%d: rejecting message ", HOSTNO); | 2434 | printk(KERN_DEBUG "scsi%d: rejecting message ", HOSTNO); |
| 2434 | scsi_print_msg (extended_msg); | 2435 | spi_print_msg(extended_msg); |
| 2435 | printk("\n"); | 2436 | printk("\n"); |
| 2436 | } else if (tmp != EXTENDED_MESSAGE) | 2437 | } else if (tmp != EXTENDED_MESSAGE) |
| 2437 | printk(KERN_DEBUG "scsi%d: rejecting unknown " | 2438 | printk(KERN_DEBUG "scsi%d: rejecting unknown " |
| @@ -2566,7 +2567,7 @@ static void NCR5380_reselect (struct Scsi_Host *instance) | |||
| 2566 | 2567 | ||
| 2567 | if (!(msg[0] & 0x80)) { | 2568 | if (!(msg[0] & 0x80)) { |
| 2568 | printk(KERN_DEBUG "scsi%d: expecting IDENTIFY message, got ", HOSTNO); | 2569 | printk(KERN_DEBUG "scsi%d: expecting IDENTIFY message, got ", HOSTNO); |
| 2569 | scsi_print_msg(msg); | 2570 | spi_print_msg(msg); |
| 2570 | do_abort(instance); | 2571 | do_abort(instance); |
| 2571 | return; | 2572 | return; |
| 2572 | } | 2573 | } |
diff --git a/drivers/scsi/sym53c8xx_2/sym_defs.h b/drivers/scsi/sym53c8xx_2/sym_defs.h index 2d9437d7242b..3659dd7b9d76 100644 --- a/drivers/scsi/sym53c8xx_2/sym_defs.h +++ b/drivers/scsi/sym53c8xx_2/sym_defs.h | |||
| @@ -40,7 +40,7 @@ | |||
| 40 | #ifndef SYM_DEFS_H | 40 | #ifndef SYM_DEFS_H |
| 41 | #define SYM_DEFS_H | 41 | #define SYM_DEFS_H |
| 42 | 42 | ||
| 43 | #define SYM_VERSION "2.2.1" | 43 | #define SYM_VERSION "2.2.2" |
| 44 | #define SYM_DRIVER_NAME "sym-" SYM_VERSION | 44 | #define SYM_DRIVER_NAME "sym-" SYM_VERSION |
| 45 | 45 | ||
| 46 | /* | 46 | /* |
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw.c b/drivers/scsi/sym53c8xx_2/sym_fw.c index fd36cf9858cb..9916a2a22558 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw.c +++ b/drivers/scsi/sym53c8xx_2/sym_fw.c | |||
| @@ -37,11 +37,7 @@ | |||
| 37 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 37 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 38 | */ | 38 | */ |
| 39 | 39 | ||
| 40 | #ifdef __FreeBSD__ | ||
| 41 | #include <dev/sym/sym_glue.h> | ||
| 42 | #else | ||
| 43 | #include "sym_glue.h" | 40 | #include "sym_glue.h" |
| 44 | #endif | ||
| 45 | 41 | ||
| 46 | /* | 42 | /* |
| 47 | * Macros used for all firmwares. | 43 | * Macros used for all firmwares. |
| @@ -60,19 +56,12 @@ | |||
| 60 | #define SYM_FWA_SCR sym_fw1a_scr | 56 | #define SYM_FWA_SCR sym_fw1a_scr |
| 61 | #define SYM_FWB_SCR sym_fw1b_scr | 57 | #define SYM_FWB_SCR sym_fw1b_scr |
| 62 | #define SYM_FWZ_SCR sym_fw1z_scr | 58 | #define SYM_FWZ_SCR sym_fw1z_scr |
| 63 | #ifdef __FreeBSD__ | ||
| 64 | #include <dev/sym/sym_fw1.h> | ||
| 65 | #else | ||
| 66 | #include "sym_fw1.h" | 59 | #include "sym_fw1.h" |
| 67 | #endif | ||
| 68 | static struct sym_fwa_ofs sym_fw1a_ofs = { | 60 | static struct sym_fwa_ofs sym_fw1a_ofs = { |
| 69 | SYM_GEN_FW_A(struct SYM_FWA_SCR) | 61 | SYM_GEN_FW_A(struct SYM_FWA_SCR) |
| 70 | }; | 62 | }; |
| 71 | static struct sym_fwb_ofs sym_fw1b_ofs = { | 63 | static struct sym_fwb_ofs sym_fw1b_ofs = { |
| 72 | SYM_GEN_FW_B(struct SYM_FWB_SCR) | 64 | SYM_GEN_FW_B(struct SYM_FWB_SCR) |
| 73 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 74 | SYM_GEN_B(struct SYM_FWB_SCR, data_io) | ||
| 75 | #endif | ||
| 76 | }; | 65 | }; |
| 77 | static struct sym_fwz_ofs sym_fw1z_ofs = { | 66 | static struct sym_fwz_ofs sym_fw1z_ofs = { |
| 78 | SYM_GEN_FW_Z(struct SYM_FWZ_SCR) | 67 | SYM_GEN_FW_Z(struct SYM_FWZ_SCR) |
| @@ -88,19 +77,12 @@ static struct sym_fwz_ofs sym_fw1z_ofs = { | |||
| 88 | #define SYM_FWA_SCR sym_fw2a_scr | 77 | #define SYM_FWA_SCR sym_fw2a_scr |
| 89 | #define SYM_FWB_SCR sym_fw2b_scr | 78 | #define SYM_FWB_SCR sym_fw2b_scr |
| 90 | #define SYM_FWZ_SCR sym_fw2z_scr | 79 | #define SYM_FWZ_SCR sym_fw2z_scr |
| 91 | #ifdef __FreeBSD__ | ||
| 92 | #include <dev/sym/sym_fw2.h> | ||
| 93 | #else | ||
| 94 | #include "sym_fw2.h" | 80 | #include "sym_fw2.h" |
| 95 | #endif | ||
| 96 | static struct sym_fwa_ofs sym_fw2a_ofs = { | 81 | static struct sym_fwa_ofs sym_fw2a_ofs = { |
| 97 | SYM_GEN_FW_A(struct SYM_FWA_SCR) | 82 | SYM_GEN_FW_A(struct SYM_FWA_SCR) |
| 98 | }; | 83 | }; |
| 99 | static struct sym_fwb_ofs sym_fw2b_ofs = { | 84 | static struct sym_fwb_ofs sym_fw2b_ofs = { |
| 100 | SYM_GEN_FW_B(struct SYM_FWB_SCR) | 85 | SYM_GEN_FW_B(struct SYM_FWB_SCR) |
| 101 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 102 | SYM_GEN_B(struct SYM_FWB_SCR, data_io) | ||
| 103 | #endif | ||
| 104 | SYM_GEN_B(struct SYM_FWB_SCR, start64) | 86 | SYM_GEN_B(struct SYM_FWB_SCR, start64) |
| 105 | SYM_GEN_B(struct SYM_FWB_SCR, pm_handle) | 87 | SYM_GEN_B(struct SYM_FWB_SCR, pm_handle) |
| 106 | }; | 88 | }; |
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw.h b/drivers/scsi/sym53c8xx_2/sym_fw.h index 43f6810a4045..66ec35beab5b 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw.h +++ b/drivers/scsi/sym53c8xx_2/sym_fw.h | |||
| @@ -92,9 +92,6 @@ struct sym_fwa_ofs { | |||
| 92 | }; | 92 | }; |
| 93 | struct sym_fwb_ofs { | 93 | struct sym_fwb_ofs { |
| 94 | SYM_GEN_FW_B(u_short) | 94 | SYM_GEN_FW_B(u_short) |
| 95 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 96 | SYM_GEN_B(u_short, data_io) | ||
| 97 | #endif | ||
| 98 | SYM_GEN_B(u_short, start64) | 95 | SYM_GEN_B(u_short, start64) |
| 99 | SYM_GEN_B(u_short, pm_handle) | 96 | SYM_GEN_B(u_short, pm_handle) |
| 100 | }; | 97 | }; |
| @@ -111,9 +108,6 @@ struct sym_fwa_ba { | |||
| 111 | }; | 108 | }; |
| 112 | struct sym_fwb_ba { | 109 | struct sym_fwb_ba { |
| 113 | SYM_GEN_FW_B(u32) | 110 | SYM_GEN_FW_B(u32) |
| 114 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 115 | SYM_GEN_B(u32, data_io) | ||
| 116 | #endif | ||
| 117 | SYM_GEN_B(u32, start64); | 111 | SYM_GEN_B(u32, start64); |
| 118 | SYM_GEN_B(u32, pm_handle); | 112 | SYM_GEN_B(u32, pm_handle); |
| 119 | }; | 113 | }; |
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw1.h b/drivers/scsi/sym53c8xx_2/sym_fw1.h index cdd92d82f4b2..7b39f4a35e98 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw1.h +++ b/drivers/scsi/sym53c8xx_2/sym_fw1.h | |||
| @@ -197,12 +197,6 @@ struct SYM_FWB_SCR { | |||
| 197 | u32 bad_status [ 7]; | 197 | u32 bad_status [ 7]; |
| 198 | u32 wsr_ma_helper [ 4]; | 198 | u32 wsr_ma_helper [ 4]; |
| 199 | 199 | ||
| 200 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 201 | /* Unknown direction handling */ | ||
| 202 | u32 data_io [ 2]; | ||
| 203 | u32 data_io_com [ 8]; | ||
| 204 | u32 data_io_out [ 7]; | ||
| 205 | #endif | ||
| 206 | /* Data area */ | 200 | /* Data area */ |
| 207 | u32 zero [ 1]; | 201 | u32 zero [ 1]; |
| 208 | u32 scratch [ 1]; | 202 | u32 scratch [ 1]; |
| @@ -1747,48 +1741,6 @@ static struct SYM_FWB_SCR SYM_FWB_SCR = { | |||
| 1747 | SCR_JUMP, | 1741 | SCR_JUMP, |
| 1748 | PADDR_A (dispatch), | 1742 | PADDR_A (dispatch), |
| 1749 | 1743 | ||
| 1750 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1751 | }/*-------------------------< DATA_IO >--------------------------*/,{ | ||
| 1752 | /* | ||
| 1753 | * We jump here if the data direction was unknown at the | ||
| 1754 | * time we had to queue the command to the scripts processor. | ||
| 1755 | * Pointers had been set as follow in this situation: | ||
| 1756 | * savep --> DATA_IO | ||
| 1757 | * lastp --> start pointer when DATA_IN | ||
| 1758 | * wlastp --> start pointer when DATA_OUT | ||
| 1759 | * This script sets savep and lastp according to the | ||
| 1760 | * direction chosen by the target. | ||
| 1761 | */ | ||
| 1762 | SCR_JUMP ^ IFTRUE (WHEN (SCR_DATA_OUT)), | ||
| 1763 | PADDR_B (data_io_out), | ||
| 1764 | }/*-------------------------< DATA_IO_COM >----------------------*/,{ | ||
| 1765 | /* | ||
| 1766 | * Direction is DATA IN. | ||
| 1767 | */ | ||
| 1768 | SCR_COPY (4), | ||
| 1769 | HADDR_1 (ccb_head.lastp), | ||
| 1770 | HADDR_1 (ccb_head.savep), | ||
| 1771 | /* | ||
| 1772 | * Jump to the SCRIPTS according to actual direction. | ||
| 1773 | */ | ||
| 1774 | SCR_COPY (4), | ||
| 1775 | HADDR_1 (ccb_head.savep), | ||
| 1776 | RADDR_1 (temp), | ||
| 1777 | SCR_RETURN, | ||
| 1778 | 0, | ||
| 1779 | }/*-------------------------< DATA_IO_OUT >----------------------*/,{ | ||
| 1780 | /* | ||
| 1781 | * Direction is DATA OUT. | ||
| 1782 | */ | ||
| 1783 | SCR_REG_REG (HF_REG, SCR_AND, (~HF_DATA_IN)), | ||
| 1784 | 0, | ||
| 1785 | SCR_COPY (4), | ||
| 1786 | HADDR_1 (ccb_head.wlastp), | ||
| 1787 | HADDR_1 (ccb_head.lastp), | ||
| 1788 | SCR_JUMP, | ||
| 1789 | PADDR_B(data_io_com), | ||
| 1790 | #endif /* SYM_OPT_HANDLE_DIR_UNKNOWN */ | ||
| 1791 | |||
| 1792 | }/*-------------------------< ZERO >-----------------------------*/,{ | 1744 | }/*-------------------------< ZERO >-----------------------------*/,{ |
| 1793 | SCR_DATA_ZERO, | 1745 | SCR_DATA_ZERO, |
| 1794 | }/*-------------------------< SCRATCH >--------------------------*/,{ | 1746 | }/*-------------------------< SCRATCH >--------------------------*/,{ |
diff --git a/drivers/scsi/sym53c8xx_2/sym_fw2.h b/drivers/scsi/sym53c8xx_2/sym_fw2.h index 7ea7151f5d1d..851f2706f220 100644 --- a/drivers/scsi/sym53c8xx_2/sym_fw2.h +++ b/drivers/scsi/sym53c8xx_2/sym_fw2.h | |||
| @@ -191,13 +191,6 @@ struct SYM_FWB_SCR { | |||
| 191 | u32 pm_wsr_handle [ 38]; | 191 | u32 pm_wsr_handle [ 38]; |
| 192 | u32 wsr_ma_helper [ 4]; | 192 | u32 wsr_ma_helper [ 4]; |
| 193 | 193 | ||
| 194 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 195 | /* Unknown direction handling */ | ||
| 196 | u32 data_io [ 2]; | ||
| 197 | u32 data_io_in [ 2]; | ||
| 198 | u32 data_io_com [ 6]; | ||
| 199 | u32 data_io_out [ 8]; | ||
| 200 | #endif | ||
| 201 | /* Data area */ | 194 | /* Data area */ |
| 202 | u32 zero [ 1]; | 195 | u32 zero [ 1]; |
| 203 | u32 scratch [ 1]; | 196 | u32 scratch [ 1]; |
| @@ -1838,51 +1831,6 @@ static struct SYM_FWB_SCR SYM_FWB_SCR = { | |||
| 1838 | SCR_JUMP, | 1831 | SCR_JUMP, |
| 1839 | PADDR_A (dispatch), | 1832 | PADDR_A (dispatch), |
| 1840 | 1833 | ||
| 1841 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1842 | }/*-------------------------< DATA_IO >--------------------------*/,{ | ||
| 1843 | /* | ||
| 1844 | * We jump here if the data direction was unknown at the | ||
| 1845 | * time we had to queue the command to the scripts processor. | ||
| 1846 | * Pointers had been set as follow in this situation: | ||
| 1847 | * savep --> DATA_IO | ||
| 1848 | * lastp --> start pointer when DATA_IN | ||
| 1849 | * wlastp --> start pointer when DATA_OUT | ||
| 1850 | * This script sets savep and lastp according to the | ||
| 1851 | * direction chosen by the target. | ||
| 1852 | */ | ||
| 1853 | SCR_JUMP ^ IFTRUE (WHEN (SCR_DATA_OUT)), | ||
| 1854 | PADDR_B (data_io_out), | ||
| 1855 | }/*-------------------------< DATA_IO_IN >-----------------------*/,{ | ||
| 1856 | /* | ||
| 1857 | * Direction is DATA IN. | ||
| 1858 | */ | ||
| 1859 | SCR_LOAD_REL (scratcha, 4), | ||
| 1860 | offsetof (struct sym_ccb, phys.head.lastp), | ||
| 1861 | }/*-------------------------< DATA_IO_COM >----------------------*/,{ | ||
| 1862 | SCR_STORE_REL (scratcha, 4), | ||
| 1863 | offsetof (struct sym_ccb, phys.head.savep), | ||
| 1864 | |||
| 1865 | /* | ||
| 1866 | * Jump to the SCRIPTS according to actual direction. | ||
| 1867 | */ | ||
| 1868 | SCR_LOAD_REL (temp, 4), | ||
| 1869 | offsetof (struct sym_ccb, phys.head.savep), | ||
| 1870 | SCR_RETURN, | ||
| 1871 | 0, | ||
| 1872 | }/*-------------------------< DATA_IO_OUT >----------------------*/,{ | ||
| 1873 | /* | ||
| 1874 | * Direction is DATA OUT. | ||
| 1875 | */ | ||
| 1876 | SCR_REG_REG (HF_REG, SCR_AND, (~HF_DATA_IN)), | ||
| 1877 | 0, | ||
| 1878 | SCR_LOAD_REL (scratcha, 4), | ||
| 1879 | offsetof (struct sym_ccb, phys.head.wlastp), | ||
| 1880 | SCR_STORE_REL (scratcha, 4), | ||
| 1881 | offsetof (struct sym_ccb, phys.head.lastp), | ||
| 1882 | SCR_JUMP, | ||
| 1883 | PADDR_B(data_io_com), | ||
| 1884 | #endif /* SYM_OPT_HANDLE_DIR_UNKNOWN */ | ||
| 1885 | |||
| 1886 | }/*-------------------------< ZERO >-----------------------------*/,{ | 1834 | }/*-------------------------< ZERO >-----------------------------*/,{ |
| 1887 | SCR_DATA_ZERO, | 1835 | SCR_DATA_ZERO, |
| 1888 | }/*-------------------------< SCRATCH >--------------------------*/,{ | 1836 | }/*-------------------------< SCRATCH >--------------------------*/,{ |
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.c b/drivers/scsi/sym53c8xx_2/sym_glue.c index 7fc0b97173e1..1fffd2b3c654 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.c +++ b/drivers/scsi/sym53c8xx_2/sym_glue.c | |||
| @@ -514,9 +514,10 @@ static inline int sym_setup_cdb(struct sym_hcb *np, struct scsi_cmnd *cmd, struc | |||
| 514 | */ | 514 | */ |
| 515 | int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp) | 515 | int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct sym_ccb *cp) |
| 516 | { | 516 | { |
| 517 | int dir; | ||
| 518 | struct sym_tcb *tp = &np->target[cp->target]; | 517 | struct sym_tcb *tp = &np->target[cp->target]; |
| 519 | struct sym_lcb *lp = sym_lp(tp, cp->lun); | 518 | struct sym_lcb *lp = sym_lp(tp, cp->lun); |
| 519 | u32 lastp, goalp; | ||
| 520 | int dir; | ||
| 520 | 521 | ||
| 521 | /* | 522 | /* |
| 522 | * Build the CDB. | 523 | * Build the CDB. |
| @@ -534,15 +535,47 @@ int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct s | |||
| 534 | sym_set_cam_status(cmd, DID_ERROR); | 535 | sym_set_cam_status(cmd, DID_ERROR); |
| 535 | goto out_abort; | 536 | goto out_abort; |
| 536 | } | 537 | } |
| 538 | |||
| 539 | /* | ||
| 540 | * No segments means no data. | ||
| 541 | */ | ||
| 542 | if (!cp->segments) | ||
| 543 | dir = DMA_NONE; | ||
| 537 | } else { | 544 | } else { |
| 538 | cp->data_len = 0; | 545 | cp->data_len = 0; |
| 539 | cp->segments = 0; | 546 | cp->segments = 0; |
| 540 | } | 547 | } |
| 541 | 548 | ||
| 542 | /* | 549 | /* |
| 543 | * Set data pointers. | 550 | * Set the data pointer. |
| 544 | */ | 551 | */ |
| 545 | sym_setup_data_pointers(np, cp, dir); | 552 | switch (dir) { |
| 553 | case DMA_BIDIRECTIONAL: | ||
| 554 | printk("%s: got DMA_BIDIRECTIONAL command", sym_name(np)); | ||
| 555 | sym_set_cam_status(cmd, DID_ERROR); | ||
| 556 | goto out_abort; | ||
| 557 | case DMA_TO_DEVICE: | ||
| 558 | goalp = SCRIPTA_BA(np, data_out2) + 8; | ||
| 559 | lastp = goalp - 8 - (cp->segments * (2*4)); | ||
| 560 | break; | ||
| 561 | case DMA_FROM_DEVICE: | ||
| 562 | cp->host_flags |= HF_DATA_IN; | ||
| 563 | goalp = SCRIPTA_BA(np, data_in2) + 8; | ||
| 564 | lastp = goalp - 8 - (cp->segments * (2*4)); | ||
| 565 | break; | ||
| 566 | case DMA_NONE: | ||
| 567 | default: | ||
| 568 | lastp = goalp = SCRIPTB_BA(np, no_data); | ||
| 569 | break; | ||
| 570 | } | ||
| 571 | |||
| 572 | /* | ||
| 573 | * Set all pointers values needed by SCRIPTS. | ||
| 574 | */ | ||
| 575 | cp->phys.head.lastp = cpu_to_scr(lastp); | ||
| 576 | cp->phys.head.savep = cpu_to_scr(lastp); | ||
| 577 | cp->startp = cp->phys.head.savep; | ||
| 578 | cp->goalp = cpu_to_scr(goalp); | ||
| 546 | 579 | ||
| 547 | /* | 580 | /* |
| 548 | * When `#ifed 1', the code below makes the driver | 581 | * When `#ifed 1', the code below makes the driver |
| @@ -563,10 +596,7 @@ int sym_setup_data_and_start(struct sym_hcb *np, struct scsi_cmnd *cmd, struct s | |||
| 563 | /* | 596 | /* |
| 564 | * activate this job. | 597 | * activate this job. |
| 565 | */ | 598 | */ |
| 566 | if (lp) | 599 | sym_start_next_ccbs(np, lp, 2); |
| 567 | sym_start_next_ccbs(np, lp, 2); | ||
| 568 | else | ||
| 569 | sym_put_start_queue(np, cp); | ||
| 570 | return 0; | 600 | return 0; |
| 571 | 601 | ||
| 572 | out_abort: | 602 | out_abort: |
| @@ -981,15 +1011,14 @@ static int device_queue_depth(struct sym_hcb *np, int target, int lun) | |||
| 981 | 1011 | ||
| 982 | static int sym53c8xx_slave_alloc(struct scsi_device *sdev) | 1012 | static int sym53c8xx_slave_alloc(struct scsi_device *sdev) |
| 983 | { | 1013 | { |
| 984 | struct sym_hcb *np; | 1014 | struct sym_hcb *np = sym_get_hcb(sdev->host); |
| 985 | struct sym_tcb *tp; | 1015 | struct sym_tcb *tp = &np->target[sdev->id]; |
| 1016 | struct sym_lcb *lp; | ||
| 986 | 1017 | ||
| 987 | if (sdev->id >= SYM_CONF_MAX_TARGET || sdev->lun >= SYM_CONF_MAX_LUN) | 1018 | if (sdev->id >= SYM_CONF_MAX_TARGET || sdev->lun >= SYM_CONF_MAX_LUN) |
| 988 | return -ENXIO; | 1019 | return -ENXIO; |
| 989 | 1020 | ||
| 990 | np = sym_get_hcb(sdev->host); | 1021 | tp->starget = sdev->sdev_target; |
| 991 | tp = &np->target[sdev->id]; | ||
| 992 | |||
| 993 | /* | 1022 | /* |
| 994 | * Fail the device init if the device is flagged NOSCAN at BOOT in | 1023 | * Fail the device init if the device is flagged NOSCAN at BOOT in |
| 995 | * the NVRAM. This may speed up boot and maintain coherency with | 1024 | * the NVRAM. This may speed up boot and maintain coherency with |
| @@ -999,35 +1028,41 @@ static int sym53c8xx_slave_alloc(struct scsi_device *sdev) | |||
| 999 | * lun devices behave badly when asked for a non zero LUN. | 1028 | * lun devices behave badly when asked for a non zero LUN. |
| 1000 | */ | 1029 | */ |
| 1001 | 1030 | ||
| 1002 | if ((tp->usrflags & SYM_SCAN_BOOT_DISABLED) || | 1031 | if (tp->usrflags & SYM_SCAN_BOOT_DISABLED) { |
| 1003 | ((tp->usrflags & SYM_SCAN_LUNS_DISABLED) && sdev->lun != 0)) { | ||
| 1004 | tp->usrflags &= ~SYM_SCAN_BOOT_DISABLED; | 1032 | tp->usrflags &= ~SYM_SCAN_BOOT_DISABLED; |
| 1033 | starget_printk(KERN_INFO, tp->starget, | ||
| 1034 | "Scan at boot disabled in NVRAM\n"); | ||
| 1005 | return -ENXIO; | 1035 | return -ENXIO; |
| 1006 | } | 1036 | } |
| 1007 | 1037 | ||
| 1008 | tp->starget = sdev->sdev_target; | 1038 | if (tp->usrflags & SYM_SCAN_LUNS_DISABLED) { |
| 1039 | if (sdev->lun != 0) | ||
| 1040 | return -ENXIO; | ||
| 1041 | starget_printk(KERN_INFO, tp->starget, | ||
| 1042 | "Multiple LUNs disabled in NVRAM\n"); | ||
| 1043 | } | ||
| 1044 | |||
| 1045 | lp = sym_alloc_lcb(np, sdev->id, sdev->lun); | ||
| 1046 | if (!lp) | ||
| 1047 | return -ENOMEM; | ||
| 1048 | |||
| 1049 | spi_min_period(tp->starget) = tp->usr_period; | ||
| 1050 | spi_max_width(tp->starget) = tp->usr_width; | ||
| 1051 | |||
| 1009 | return 0; | 1052 | return 0; |
| 1010 | } | 1053 | } |
| 1011 | 1054 | ||
| 1012 | /* | 1055 | /* |
| 1013 | * Linux entry point for device queue sizing. | 1056 | * Linux entry point for device queue sizing. |
| 1014 | */ | 1057 | */ |
| 1015 | static int sym53c8xx_slave_configure(struct scsi_device *device) | 1058 | static int sym53c8xx_slave_configure(struct scsi_device *sdev) |
| 1016 | { | 1059 | { |
| 1017 | struct sym_hcb *np = sym_get_hcb(device->host); | 1060 | struct sym_hcb *np = sym_get_hcb(sdev->host); |
| 1018 | struct sym_tcb *tp = &np->target[device->id]; | 1061 | struct sym_tcb *tp = &np->target[sdev->id]; |
| 1019 | struct sym_lcb *lp; | 1062 | struct sym_lcb *lp = sym_lp(tp, sdev->lun); |
| 1020 | int reqtags, depth_to_use; | 1063 | int reqtags, depth_to_use; |
| 1021 | 1064 | ||
| 1022 | /* | 1065 | /* |
| 1023 | * Allocate the LCB if not yet. | ||
| 1024 | * If it fail, we may well be in the sh*t. :) | ||
| 1025 | */ | ||
| 1026 | lp = sym_alloc_lcb(np, device->id, device->lun); | ||
| 1027 | if (!lp) | ||
| 1028 | return -ENOMEM; | ||
| 1029 | |||
| 1030 | /* | ||
| 1031 | * Get user flags. | 1066 | * Get user flags. |
| 1032 | */ | 1067 | */ |
| 1033 | lp->curr_flags = lp->user_flags; | 1068 | lp->curr_flags = lp->user_flags; |
| @@ -1038,10 +1073,10 @@ static int sym53c8xx_slave_configure(struct scsi_device *device) | |||
| 1038 | * Use at least 2. | 1073 | * Use at least 2. |
| 1039 | * Donnot use more than our maximum. | 1074 | * Donnot use more than our maximum. |
| 1040 | */ | 1075 | */ |
| 1041 | reqtags = device_queue_depth(np, device->id, device->lun); | 1076 | reqtags = device_queue_depth(np, sdev->id, sdev->lun); |
| 1042 | if (reqtags > tp->usrtags) | 1077 | if (reqtags > tp->usrtags) |
| 1043 | reqtags = tp->usrtags; | 1078 | reqtags = tp->usrtags; |
| 1044 | if (!device->tagged_supported) | 1079 | if (!sdev->tagged_supported) |
| 1045 | reqtags = 0; | 1080 | reqtags = 0; |
| 1046 | #if 1 /* Avoid to locally queue commands for no good reasons */ | 1081 | #if 1 /* Avoid to locally queue commands for no good reasons */ |
| 1047 | if (reqtags > SYM_CONF_MAX_TAG) | 1082 | if (reqtags > SYM_CONF_MAX_TAG) |
| @@ -1050,19 +1085,30 @@ static int sym53c8xx_slave_configure(struct scsi_device *device) | |||
| 1050 | #else | 1085 | #else |
| 1051 | depth_to_use = (reqtags ? SYM_CONF_MAX_TAG : 2); | 1086 | depth_to_use = (reqtags ? SYM_CONF_MAX_TAG : 2); |
| 1052 | #endif | 1087 | #endif |
| 1053 | scsi_adjust_queue_depth(device, | 1088 | scsi_adjust_queue_depth(sdev, |
| 1054 | (device->tagged_supported ? | 1089 | (sdev->tagged_supported ? |
| 1055 | MSG_SIMPLE_TAG : 0), | 1090 | MSG_SIMPLE_TAG : 0), |
| 1056 | depth_to_use); | 1091 | depth_to_use); |
| 1057 | lp->s.scdev_depth = depth_to_use; | 1092 | lp->s.scdev_depth = depth_to_use; |
| 1058 | sym_tune_dev_queuing(tp, device->lun, reqtags); | 1093 | sym_tune_dev_queuing(tp, sdev->lun, reqtags); |
| 1059 | 1094 | ||
| 1060 | if (!spi_initial_dv(device->sdev_target)) | 1095 | if (!spi_initial_dv(sdev->sdev_target)) |
| 1061 | spi_dv_device(device); | 1096 | spi_dv_device(sdev); |
| 1062 | 1097 | ||
| 1063 | return 0; | 1098 | return 0; |
| 1064 | } | 1099 | } |
| 1065 | 1100 | ||
| 1101 | static void sym53c8xx_slave_destroy(struct scsi_device *sdev) | ||
| 1102 | { | ||
| 1103 | struct sym_hcb *np = sym_get_hcb(sdev->host); | ||
| 1104 | struct sym_lcb *lp = sym_lp(&np->target[sdev->id], sdev->lun); | ||
| 1105 | |||
| 1106 | if (lp->itlq_tbl) | ||
| 1107 | sym_mfree_dma(lp->itlq_tbl, SYM_CONF_MAX_TASK * 4, "ITLQ_TBL"); | ||
| 1108 | kfree(lp->cb_tags); | ||
| 1109 | sym_mfree_dma(lp, sizeof(*lp), "LCB"); | ||
| 1110 | } | ||
| 1111 | |||
| 1066 | /* | 1112 | /* |
| 1067 | * Linux entry point for info() function | 1113 | * Linux entry point for info() function |
| 1068 | */ | 1114 | */ |
| @@ -1497,7 +1543,7 @@ static int sym_setup_bus_dma_mask(struct sym_hcb *np) | |||
| 1497 | { | 1543 | { |
| 1498 | #if SYM_CONF_DMA_ADDRESSING_MODE > 0 | 1544 | #if SYM_CONF_DMA_ADDRESSING_MODE > 0 |
| 1499 | #if SYM_CONF_DMA_ADDRESSING_MODE == 1 | 1545 | #if SYM_CONF_DMA_ADDRESSING_MODE == 1 |
| 1500 | #define DMA_DAC_MASK 0x000000ffffffffffULL /* 40-bit */ | 1546 | #define DMA_DAC_MASK DMA_40BIT_MASK |
| 1501 | #elif SYM_CONF_DMA_ADDRESSING_MODE == 2 | 1547 | #elif SYM_CONF_DMA_ADDRESSING_MODE == 2 |
| 1502 | #define DMA_DAC_MASK DMA_64BIT_MASK | 1548 | #define DMA_DAC_MASK DMA_64BIT_MASK |
| 1503 | #endif | 1549 | #endif |
| @@ -1926,6 +1972,7 @@ static struct scsi_host_template sym2_template = { | |||
| 1926 | .queuecommand = sym53c8xx_queue_command, | 1972 | .queuecommand = sym53c8xx_queue_command, |
| 1927 | .slave_alloc = sym53c8xx_slave_alloc, | 1973 | .slave_alloc = sym53c8xx_slave_alloc, |
| 1928 | .slave_configure = sym53c8xx_slave_configure, | 1974 | .slave_configure = sym53c8xx_slave_configure, |
| 1975 | .slave_destroy = sym53c8xx_slave_destroy, | ||
| 1929 | .eh_abort_handler = sym53c8xx_eh_abort_handler, | 1976 | .eh_abort_handler = sym53c8xx_eh_abort_handler, |
| 1930 | .eh_device_reset_handler = sym53c8xx_eh_device_reset_handler, | 1977 | .eh_device_reset_handler = sym53c8xx_eh_device_reset_handler, |
| 1931 | .eh_bus_reset_handler = sym53c8xx_eh_bus_reset_handler, | 1978 | .eh_bus_reset_handler = sym53c8xx_eh_bus_reset_handler, |
diff --git a/drivers/scsi/sym53c8xx_2/sym_glue.h b/drivers/scsi/sym53c8xx_2/sym_glue.h index d3d52f14d7c0..cc92d0c70cd7 100644 --- a/drivers/scsi/sym53c8xx_2/sym_glue.h +++ b/drivers/scsi/sym53c8xx_2/sym_glue.h | |||
| @@ -68,7 +68,6 @@ | |||
| 68 | */ | 68 | */ |
| 69 | #define SYM_CONF_TIMER_INTERVAL ((HZ+1)/2) | 69 | #define SYM_CONF_TIMER_INTERVAL ((HZ+1)/2) |
| 70 | 70 | ||
| 71 | #define SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 72 | #define SYM_OPT_HANDLE_DEVICE_QUEUEING | 71 | #define SYM_OPT_HANDLE_DEVICE_QUEUEING |
| 73 | #define SYM_OPT_LIMIT_COMMAND_REORDERING | 72 | #define SYM_OPT_LIMIT_COMMAND_REORDERING |
| 74 | 73 | ||
| @@ -268,6 +267,5 @@ void sym_xpt_async_bus_reset(struct sym_hcb *np); | |||
| 268 | void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target); | 267 | void sym_xpt_async_sent_bdr(struct sym_hcb *np, int target); |
| 269 | int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp); | 268 | int sym_setup_data_and_start (struct sym_hcb *np, struct scsi_cmnd *csio, struct sym_ccb *cp); |
| 270 | void sym_log_bus_error(struct sym_hcb *np); | 269 | void sym_log_bus_error(struct sym_hcb *np); |
| 271 | void sym_sniff_inquiry(struct sym_hcb *np, struct scsi_cmnd *cmd, int resid); | ||
| 272 | 270 | ||
| 273 | #endif /* SYM_GLUE_H */ | 271 | #endif /* SYM_GLUE_H */ |
diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.c b/drivers/scsi/sym53c8xx_2/sym_hipd.c index 1564ca203a3e..8260f040d39c 100644 --- a/drivers/scsi/sym53c8xx_2/sym_hipd.c +++ b/drivers/scsi/sym53c8xx_2/sym_hipd.c | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | 40 | ||
| 41 | #include <linux/slab.h> | 41 | #include <linux/slab.h> |
| 42 | #include <asm/param.h> /* for timeouts in units of HZ */ | 42 | #include <asm/param.h> /* for timeouts in units of HZ */ |
| 43 | #include <scsi/scsi_dbg.h> | ||
| 43 | 44 | ||
| 44 | #include "sym_glue.h" | 45 | #include "sym_glue.h" |
| 45 | #include "sym_nvram.h" | 46 | #include "sym_nvram.h" |
| @@ -70,32 +71,12 @@ static void sym_printl_hex(u_char *p, int n) | |||
| 70 | printf (".\n"); | 71 | printf (".\n"); |
| 71 | } | 72 | } |
| 72 | 73 | ||
| 73 | /* | ||
| 74 | * Print out the content of a SCSI message. | ||
| 75 | */ | ||
| 76 | static int sym_show_msg (u_char * msg) | ||
| 77 | { | ||
| 78 | u_char i; | ||
| 79 | printf ("%x",*msg); | ||
| 80 | if (*msg==M_EXTENDED) { | ||
| 81 | for (i=1;i<8;i++) { | ||
| 82 | if (i-1>msg[1]) break; | ||
| 83 | printf ("-%x",msg[i]); | ||
| 84 | } | ||
| 85 | return (i+1); | ||
| 86 | } else if ((*msg & 0xf0) == 0x20) { | ||
| 87 | printf ("-%x",msg[1]); | ||
| 88 | return (2); | ||
| 89 | } | ||
| 90 | return (1); | ||
| 91 | } | ||
| 92 | |||
| 93 | static void sym_print_msg(struct sym_ccb *cp, char *label, u_char *msg) | 74 | static void sym_print_msg(struct sym_ccb *cp, char *label, u_char *msg) |
| 94 | { | 75 | { |
| 95 | sym_print_addr(cp->cmd, "%s: ", label); | 76 | sym_print_addr(cp->cmd, "%s: ", label); |
| 96 | 77 | ||
| 97 | sym_show_msg(msg); | 78 | spi_print_msg(msg); |
| 98 | printf(".\n"); | 79 | printf("\n"); |
| 99 | } | 80 | } |
| 100 | 81 | ||
| 101 | static void sym_print_nego_msg(struct sym_hcb *np, int target, char *label, u_char *msg) | 82 | static void sym_print_nego_msg(struct sym_hcb *np, int target, char *label, u_char *msg) |
| @@ -103,8 +84,8 @@ static void sym_print_nego_msg(struct sym_hcb *np, int target, char *label, u_ch | |||
| 103 | struct sym_tcb *tp = &np->target[target]; | 84 | struct sym_tcb *tp = &np->target[target]; |
| 104 | dev_info(&tp->starget->dev, "%s: ", label); | 85 | dev_info(&tp->starget->dev, "%s: ", label); |
| 105 | 86 | ||
| 106 | sym_show_msg(msg); | 87 | spi_print_msg(msg); |
| 107 | printf(".\n"); | 88 | printf("\n"); |
| 108 | } | 89 | } |
| 109 | 90 | ||
| 110 | /* | 91 | /* |
| @@ -635,29 +616,6 @@ static __inline void sym_init_burst(struct sym_hcb *np, u_char bc) | |||
| 635 | } | 616 | } |
| 636 | } | 617 | } |
| 637 | 618 | ||
| 638 | |||
| 639 | /* | ||
| 640 | * Print out the list of targets that have some flag disabled by user. | ||
| 641 | */ | ||
| 642 | static void sym_print_targets_flag(struct sym_hcb *np, int mask, char *msg) | ||
| 643 | { | ||
| 644 | int cnt; | ||
| 645 | int i; | ||
| 646 | |||
| 647 | for (cnt = 0, i = 0 ; i < SYM_CONF_MAX_TARGET ; i++) { | ||
| 648 | if (i == np->myaddr) | ||
| 649 | continue; | ||
| 650 | if (np->target[i].usrflags & mask) { | ||
| 651 | if (!cnt++) | ||
| 652 | printf("%s: %s disabled for targets", | ||
| 653 | sym_name(np), msg); | ||
| 654 | printf(" %d", i); | ||
| 655 | } | ||
| 656 | } | ||
| 657 | if (cnt) | ||
| 658 | printf(".\n"); | ||
| 659 | } | ||
| 660 | |||
| 661 | /* | 619 | /* |
| 662 | * Save initial settings of some IO registers. | 620 | * Save initial settings of some IO registers. |
| 663 | * Assumed to have been set by BIOS. | 621 | * Assumed to have been set by BIOS. |
| @@ -962,7 +920,7 @@ static int sym_prepare_setting(struct Scsi_Host *shost, struct sym_hcb *np, stru | |||
| 962 | tp->usrflags |= (SYM_DISC_ENABLED | SYM_TAGS_ENABLED); | 920 | tp->usrflags |= (SYM_DISC_ENABLED | SYM_TAGS_ENABLED); |
| 963 | tp->usrtags = SYM_SETUP_MAX_TAG; | 921 | tp->usrtags = SYM_SETUP_MAX_TAG; |
| 964 | 922 | ||
| 965 | sym_nvram_setup_target(np, i, nvram); | 923 | sym_nvram_setup_target(tp, i, nvram); |
| 966 | 924 | ||
| 967 | if (!tp->usrtags) | 925 | if (!tp->usrtags) |
| 968 | tp->usrflags &= ~SYM_TAGS_ENABLED; | 926 | tp->usrflags &= ~SYM_TAGS_ENABLED; |
| @@ -1005,13 +963,6 @@ static int sym_prepare_setting(struct Scsi_Host *shost, struct sym_hcb *np, stru | |||
| 1005 | sym_name(np), np->rv_scntl3, np->rv_dmode, np->rv_dcntl, | 963 | sym_name(np), np->rv_scntl3, np->rv_dmode, np->rv_dcntl, |
| 1006 | np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); | 964 | np->rv_ctest3, np->rv_ctest4, np->rv_ctest5); |
| 1007 | } | 965 | } |
| 1008 | /* | ||
| 1009 | * Let user be aware of targets that have some disable flags set. | ||
| 1010 | */ | ||
| 1011 | sym_print_targets_flag(np, SYM_SCAN_BOOT_DISABLED, "SCAN AT BOOT"); | ||
| 1012 | if (sym_verbose) | ||
| 1013 | sym_print_targets_flag(np, SYM_SCAN_LUNS_DISABLED, | ||
| 1014 | "SCAN FOR LUNS"); | ||
| 1015 | 966 | ||
| 1016 | return 0; | 967 | return 0; |
| 1017 | } | 968 | } |
| @@ -1523,7 +1474,7 @@ static int sym_prepare_nego(struct sym_hcb *np, struct sym_ccb *cp, u_char *msgp | |||
| 1523 | /* | 1474 | /* |
| 1524 | * Insert a job into the start queue. | 1475 | * Insert a job into the start queue. |
| 1525 | */ | 1476 | */ |
| 1526 | void sym_put_start_queue(struct sym_hcb *np, struct sym_ccb *cp) | 1477 | static void sym_put_start_queue(struct sym_hcb *np, struct sym_ccb *cp) |
| 1527 | { | 1478 | { |
| 1528 | u_short qidx; | 1479 | u_short qidx; |
| 1529 | 1480 | ||
| @@ -3654,7 +3605,7 @@ static int sym_evaluate_dp(struct sym_hcb *np, struct sym_ccb *cp, u32 scr, int | |||
| 3654 | * If result is dp_sg = SYM_CONF_MAX_SG, then we are at the | 3605 | * If result is dp_sg = SYM_CONF_MAX_SG, then we are at the |
| 3655 | * end of the data. | 3606 | * end of the data. |
| 3656 | */ | 3607 | */ |
| 3657 | tmp = scr_to_cpu(sym_goalp(cp)); | 3608 | tmp = scr_to_cpu(cp->goalp); |
| 3658 | dp_sg = SYM_CONF_MAX_SG; | 3609 | dp_sg = SYM_CONF_MAX_SG; |
| 3659 | if (dp_scr != tmp) | 3610 | if (dp_scr != tmp) |
| 3660 | dp_sg -= (tmp - 8 - (int)dp_scr) / (2*4); | 3611 | dp_sg -= (tmp - 8 - (int)dp_scr) / (2*4); |
| @@ -3761,7 +3712,7 @@ static void sym_modify_dp(struct sym_hcb *np, struct sym_tcb *tp, struct sym_ccb | |||
| 3761 | * And our alchemy:) allows to easily calculate the data | 3712 | * And our alchemy:) allows to easily calculate the data |
| 3762 | * script address we want to return for the next data phase. | 3713 | * script address we want to return for the next data phase. |
| 3763 | */ | 3714 | */ |
| 3764 | dp_ret = cpu_to_scr(sym_goalp(cp)); | 3715 | dp_ret = cpu_to_scr(cp->goalp); |
| 3765 | dp_ret = dp_ret - 8 - (SYM_CONF_MAX_SG - dp_sg) * (2*4); | 3716 | dp_ret = dp_ret - 8 - (SYM_CONF_MAX_SG - dp_sg) * (2*4); |
| 3766 | 3717 | ||
| 3767 | /* | 3718 | /* |
| @@ -3857,7 +3808,7 @@ int sym_compute_residual(struct sym_hcb *np, struct sym_ccb *cp) | |||
| 3857 | * If all data has been transferred, | 3808 | * If all data has been transferred, |
| 3858 | * there is no residual. | 3809 | * there is no residual. |
| 3859 | */ | 3810 | */ |
| 3860 | if (cp->phys.head.lastp == sym_goalp(cp)) | 3811 | if (cp->phys.head.lastp == cp->goalp) |
| 3861 | return resid; | 3812 | return resid; |
| 3862 | 3813 | ||
| 3863 | /* | 3814 | /* |
| @@ -4664,30 +4615,7 @@ struct sym_ccb *sym_get_ccb (struct sym_hcb *np, struct scsi_cmnd *cmd, u_char t | |||
| 4664 | goto out; | 4615 | goto out; |
| 4665 | cp = sym_que_entry(qp, struct sym_ccb, link_ccbq); | 4616 | cp = sym_que_entry(qp, struct sym_ccb, link_ccbq); |
| 4666 | 4617 | ||
| 4667 | #ifndef SYM_OPT_HANDLE_DEVICE_QUEUEING | 4618 | { |
| 4668 | /* | ||
| 4669 | * If the LCB is not yet available and the LUN | ||
| 4670 | * has been probed ok, try to allocate the LCB. | ||
| 4671 | */ | ||
| 4672 | if (!lp && sym_is_bit(tp->lun_map, ln)) { | ||
| 4673 | lp = sym_alloc_lcb(np, tn, ln); | ||
| 4674 | if (!lp) | ||
| 4675 | goto out_free; | ||
| 4676 | } | ||
| 4677 | #endif | ||
| 4678 | |||
| 4679 | /* | ||
| 4680 | * If the LCB is not available here, then the | ||
| 4681 | * logical unit is not yet discovered. For those | ||
| 4682 | * ones only accept 1 SCSI IO per logical unit, | ||
| 4683 | * since we cannot allow disconnections. | ||
| 4684 | */ | ||
| 4685 | if (!lp) { | ||
| 4686 | if (!sym_is_bit(tp->busy0_map, ln)) | ||
| 4687 | sym_set_bit(tp->busy0_map, ln); | ||
| 4688 | else | ||
| 4689 | goto out_free; | ||
| 4690 | } else { | ||
| 4691 | /* | 4619 | /* |
| 4692 | * If we have been asked for a tagged command. | 4620 | * If we have been asked for a tagged command. |
| 4693 | */ | 4621 | */ |
| @@ -4840,12 +4768,6 @@ void sym_free_ccb (struct sym_hcb *np, struct sym_ccb *cp) | |||
| 4840 | lp->head.resel_sa = | 4768 | lp->head.resel_sa = |
| 4841 | cpu_to_scr(SCRIPTB_BA(np, resel_bad_lun)); | 4769 | cpu_to_scr(SCRIPTB_BA(np, resel_bad_lun)); |
| 4842 | } | 4770 | } |
| 4843 | /* | ||
| 4844 | * Otherwise, we only accept 1 IO per LUN. | ||
| 4845 | * Clear the bit that keeps track of this IO. | ||
| 4846 | */ | ||
| 4847 | else | ||
| 4848 | sym_clr_bit(tp->busy0_map, cp->lun); | ||
| 4849 | 4771 | ||
| 4850 | /* | 4772 | /* |
| 4851 | * We donnot queue more than 1 ccb per target | 4773 | * We donnot queue more than 1 ccb per target |
| @@ -4997,20 +4919,7 @@ static void sym_init_tcb (struct sym_hcb *np, u_char tn) | |||
| 4997 | struct sym_lcb *sym_alloc_lcb (struct sym_hcb *np, u_char tn, u_char ln) | 4919 | struct sym_lcb *sym_alloc_lcb (struct sym_hcb *np, u_char tn, u_char ln) |
| 4998 | { | 4920 | { |
| 4999 | struct sym_tcb *tp = &np->target[tn]; | 4921 | struct sym_tcb *tp = &np->target[tn]; |
| 5000 | struct sym_lcb *lp = sym_lp(tp, ln); | 4922 | struct sym_lcb *lp = NULL; |
| 5001 | |||
| 5002 | /* | ||
| 5003 | * Already done, just return. | ||
| 5004 | */ | ||
| 5005 | if (lp) | ||
| 5006 | return lp; | ||
| 5007 | |||
| 5008 | /* | ||
| 5009 | * Donnot allow LUN control block | ||
| 5010 | * allocation for not probed LUNs. | ||
| 5011 | */ | ||
| 5012 | if (!sym_is_bit(tp->lun_map, ln)) | ||
| 5013 | return NULL; | ||
| 5014 | 4923 | ||
| 5015 | /* | 4924 | /* |
| 5016 | * Initialize the target control block if not yet. | 4925 | * Initialize the target control block if not yet. |
| @@ -5082,13 +4991,7 @@ struct sym_lcb *sym_alloc_lcb (struct sym_hcb *np, u_char tn, u_char ln) | |||
| 5082 | lp->started_max = SYM_CONF_MAX_TASK; | 4991 | lp->started_max = SYM_CONF_MAX_TASK; |
| 5083 | lp->started_limit = SYM_CONF_MAX_TASK; | 4992 | lp->started_limit = SYM_CONF_MAX_TASK; |
| 5084 | #endif | 4993 | #endif |
| 5085 | /* | 4994 | |
| 5086 | * If we are busy, count the IO. | ||
| 5087 | */ | ||
| 5088 | if (sym_is_bit(tp->busy0_map, ln)) { | ||
| 5089 | lp->busy_itl = 1; | ||
| 5090 | sym_clr_bit(tp->busy0_map, ln); | ||
| 5091 | } | ||
| 5092 | fail: | 4995 | fail: |
| 5093 | return lp; | 4996 | return lp; |
| 5094 | } | 4997 | } |
| @@ -5103,12 +5006,6 @@ static void sym_alloc_lcb_tags (struct sym_hcb *np, u_char tn, u_char ln) | |||
| 5103 | int i; | 5006 | int i; |
| 5104 | 5007 | ||
| 5105 | /* | 5008 | /* |
| 5106 | * If LCB not available, try to allocate it. | ||
| 5107 | */ | ||
| 5108 | if (!lp && !(lp = sym_alloc_lcb(np, tn, ln))) | ||
| 5109 | goto fail; | ||
| 5110 | |||
| 5111 | /* | ||
| 5112 | * Allocate the task table and and the tag allocation | 5009 | * Allocate the task table and and the tag allocation |
| 5113 | * circular buffer. We want both or none. | 5010 | * circular buffer. We want both or none. |
| 5114 | */ | 5011 | */ |
| @@ -5481,8 +5378,7 @@ finish: | |||
| 5481 | /* | 5378 | /* |
| 5482 | * Donnot start more than 1 command after an error. | 5379 | * Donnot start more than 1 command after an error. |
| 5483 | */ | 5380 | */ |
| 5484 | if (lp) | 5381 | sym_start_next_ccbs(np, lp, 1); |
| 5485 | sym_start_next_ccbs(np, lp, 1); | ||
| 5486 | #endif | 5382 | #endif |
| 5487 | } | 5383 | } |
| 5488 | 5384 | ||
| @@ -5521,17 +5417,11 @@ void sym_complete_ok (struct sym_hcb *np, struct sym_ccb *cp) | |||
| 5521 | lp = sym_lp(tp, cp->lun); | 5417 | lp = sym_lp(tp, cp->lun); |
| 5522 | 5418 | ||
| 5523 | /* | 5419 | /* |
| 5524 | * Assume device discovered on first success. | ||
| 5525 | */ | ||
| 5526 | if (!lp) | ||
| 5527 | sym_set_bit(tp->lun_map, cp->lun); | ||
| 5528 | |||
| 5529 | /* | ||
| 5530 | * If all data have been transferred, given than no | 5420 | * If all data have been transferred, given than no |
| 5531 | * extended error did occur, there is no residual. | 5421 | * extended error did occur, there is no residual. |
| 5532 | */ | 5422 | */ |
| 5533 | resid = 0; | 5423 | resid = 0; |
| 5534 | if (cp->phys.head.lastp != sym_goalp(cp)) | 5424 | if (cp->phys.head.lastp != cp->goalp) |
| 5535 | resid = sym_compute_residual(np, cp); | 5425 | resid = sym_compute_residual(np, cp); |
| 5536 | 5426 | ||
| 5537 | /* | 5427 | /* |
| @@ -5551,15 +5441,6 @@ if (resid) | |||
| 5551 | */ | 5441 | */ |
| 5552 | sym_set_cam_result_ok(cp, cmd, resid); | 5442 | sym_set_cam_result_ok(cp, cmd, resid); |
| 5553 | 5443 | ||
| 5554 | #ifdef SYM_OPT_SNIFF_INQUIRY | ||
| 5555 | /* | ||
| 5556 | * On standard INQUIRY response (EVPD and CmDt | ||
| 5557 | * not set), sniff out device capabilities. | ||
| 5558 | */ | ||
| 5559 | if (cp->cdb_buf[0] == INQUIRY && !(cp->cdb_buf[1] & 0x3)) | ||
| 5560 | sym_sniff_inquiry(np, cmd, resid); | ||
| 5561 | #endif | ||
| 5562 | |||
| 5563 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING | 5444 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING |
| 5564 | /* | 5445 | /* |
| 5565 | * If max number of started ccbs had been reduced, | 5446 | * If max number of started ccbs had been reduced, |
| @@ -5587,7 +5468,7 @@ if (resid) | |||
| 5587 | /* | 5468 | /* |
| 5588 | * Requeue a couple of awaiting scsi commands. | 5469 | * Requeue a couple of awaiting scsi commands. |
| 5589 | */ | 5470 | */ |
| 5590 | if (lp && !sym_que_empty(&lp->waiting_ccbq)) | 5471 | if (!sym_que_empty(&lp->waiting_ccbq)) |
| 5591 | sym_start_next_ccbs(np, lp, 2); | 5472 | sym_start_next_ccbs(np, lp, 2); |
| 5592 | #endif | 5473 | #endif |
| 5593 | /* | 5474 | /* |
| @@ -5830,8 +5711,7 @@ void sym_hcb_free(struct sym_hcb *np) | |||
| 5830 | SYM_QUEHEAD *qp; | 5711 | SYM_QUEHEAD *qp; |
| 5831 | struct sym_ccb *cp; | 5712 | struct sym_ccb *cp; |
| 5832 | struct sym_tcb *tp; | 5713 | struct sym_tcb *tp; |
| 5833 | struct sym_lcb *lp; | 5714 | int target; |
| 5834 | int target, lun; | ||
| 5835 | 5715 | ||
| 5836 | if (np->scriptz0) | 5716 | if (np->scriptz0) |
| 5837 | sym_mfree_dma(np->scriptz0, np->scriptz_sz, "SCRIPTZ0"); | 5717 | sym_mfree_dma(np->scriptz0, np->scriptz_sz, "SCRIPTZ0"); |
| @@ -5857,16 +5737,6 @@ void sym_hcb_free(struct sym_hcb *np) | |||
| 5857 | 5737 | ||
| 5858 | for (target = 0; target < SYM_CONF_MAX_TARGET ; target++) { | 5738 | for (target = 0; target < SYM_CONF_MAX_TARGET ; target++) { |
| 5859 | tp = &np->target[target]; | 5739 | tp = &np->target[target]; |
| 5860 | for (lun = 0 ; lun < SYM_CONF_MAX_LUN ; lun++) { | ||
| 5861 | lp = sym_lp(tp, lun); | ||
| 5862 | if (!lp) | ||
| 5863 | continue; | ||
| 5864 | if (lp->itlq_tbl) | ||
| 5865 | sym_mfree_dma(lp->itlq_tbl, SYM_CONF_MAX_TASK*4, | ||
| 5866 | "ITLQ_TBL"); | ||
| 5867 | kfree(lp->cb_tags); | ||
| 5868 | sym_mfree_dma(lp, sizeof(*lp), "LCB"); | ||
| 5869 | } | ||
| 5870 | #if SYM_CONF_MAX_LUN > 1 | 5740 | #if SYM_CONF_MAX_LUN > 1 |
| 5871 | kfree(tp->lunmp); | 5741 | kfree(tp->lunmp); |
| 5872 | #endif | 5742 | #endif |
diff --git a/drivers/scsi/sym53c8xx_2/sym_hipd.h b/drivers/scsi/sym53c8xx_2/sym_hipd.h index 3a264a408216..2456090bb241 100644 --- a/drivers/scsi/sym53c8xx_2/sym_hipd.h +++ b/drivers/scsi/sym53c8xx_2/sym_hipd.h | |||
| @@ -48,12 +48,6 @@ | |||
| 48 | * They may be defined in platform specific headers, if they | 48 | * They may be defined in platform specific headers, if they |
| 49 | * are useful. | 49 | * are useful. |
| 50 | * | 50 | * |
| 51 | * SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 52 | * When this option is set, the SCRIPTS used by the driver | ||
| 53 | * are able to handle SCSI transfers with direction not | ||
| 54 | * supplied by user. | ||
| 55 | * (set for Linux-2.0.X) | ||
| 56 | * | ||
| 57 | * SYM_OPT_HANDLE_DEVICE_QUEUEING | 51 | * SYM_OPT_HANDLE_DEVICE_QUEUEING |
| 58 | * When this option is set, the driver will use a queue per | 52 | * When this option is set, the driver will use a queue per |
| 59 | * device and handle QUEUE FULL status requeuing internally. | 53 | * device and handle QUEUE FULL status requeuing internally. |
| @@ -64,7 +58,6 @@ | |||
| 64 | * (set for Linux) | 58 | * (set for Linux) |
| 65 | */ | 59 | */ |
| 66 | #if 0 | 60 | #if 0 |
| 67 | #define SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 68 | #define SYM_OPT_HANDLE_DEVICE_QUEUEING | 61 | #define SYM_OPT_HANDLE_DEVICE_QUEUEING |
| 69 | #define SYM_OPT_LIMIT_COMMAND_REORDERING | 62 | #define SYM_OPT_LIMIT_COMMAND_REORDERING |
| 70 | #endif | 63 | #endif |
| @@ -416,19 +409,6 @@ struct sym_tcb { | |||
| 416 | struct sym_lcb **lunmp; /* Other LCBs [1..MAX_LUN] */ | 409 | struct sym_lcb **lunmp; /* Other LCBs [1..MAX_LUN] */ |
| 417 | #endif | 410 | #endif |
| 418 | 411 | ||
| 419 | /* | ||
| 420 | * Bitmap that tells about LUNs that succeeded at least | ||
| 421 | * 1 IO and therefore assumed to be a real device. | ||
| 422 | * Avoid useless allocation of the LCB structure. | ||
| 423 | */ | ||
| 424 | u32 lun_map[(SYM_CONF_MAX_LUN+31)/32]; | ||
| 425 | |||
| 426 | /* | ||
| 427 | * Bitmap that tells about LUNs that haven't yet an LCB | ||
| 428 | * allocated (not discovered or LCB allocation failed). | ||
| 429 | */ | ||
| 430 | u32 busy0_map[(SYM_CONF_MAX_LUN+31)/32]; | ||
| 431 | |||
| 432 | #ifdef SYM_HAVE_STCB | 412 | #ifdef SYM_HAVE_STCB |
| 433 | /* | 413 | /* |
| 434 | * O/S specific data structure. | 414 | * O/S specific data structure. |
| @@ -454,8 +434,10 @@ struct sym_tcb { | |||
| 454 | * Other user settable limits and options. | 434 | * Other user settable limits and options. |
| 455 | * These limits are read from the NVRAM if present. | 435 | * These limits are read from the NVRAM if present. |
| 456 | */ | 436 | */ |
| 457 | u_char usrflags; | 437 | unsigned char usrflags; |
| 458 | u_short usrtags; | 438 | unsigned char usr_period; |
| 439 | unsigned char usr_width; | ||
| 440 | unsigned short usrtags; | ||
| 459 | struct scsi_target *starget; | 441 | struct scsi_target *starget; |
| 460 | }; | 442 | }; |
| 461 | 443 | ||
| @@ -672,9 +654,6 @@ struct sym_ccbh { | |||
| 672 | */ | 654 | */ |
| 673 | u32 savep; /* Jump address to saved data pointer */ | 655 | u32 savep; /* Jump address to saved data pointer */ |
| 674 | u32 lastp; /* SCRIPTS address at end of data */ | 656 | u32 lastp; /* SCRIPTS address at end of data */ |
| 675 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 676 | u32 wlastp; | ||
| 677 | #endif | ||
| 678 | 657 | ||
| 679 | /* | 658 | /* |
| 680 | * Status fields. | 659 | * Status fields. |
| @@ -804,9 +783,6 @@ struct sym_ccb { | |||
| 804 | SYM_QUEHEAD link_ccbq; /* Link to free/busy CCB queue */ | 783 | SYM_QUEHEAD link_ccbq; /* Link to free/busy CCB queue */ |
| 805 | u32 startp; /* Initial data pointer */ | 784 | u32 startp; /* Initial data pointer */ |
| 806 | u32 goalp; /* Expected last data pointer */ | 785 | u32 goalp; /* Expected last data pointer */ |
| 807 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 808 | u32 wgoalp; | ||
| 809 | #endif | ||
| 810 | int ext_sg; /* Extreme data pointer, used */ | 786 | int ext_sg; /* Extreme data pointer, used */ |
| 811 | int ext_ofs; /* to calculate the residual. */ | 787 | int ext_ofs; /* to calculate the residual. */ |
| 812 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING | 788 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING |
| @@ -821,12 +797,6 @@ struct sym_ccb { | |||
| 821 | 797 | ||
| 822 | #define CCB_BA(cp,lbl) cpu_to_scr(cp->ccb_ba + offsetof(struct sym_ccb, lbl)) | 798 | #define CCB_BA(cp,lbl) cpu_to_scr(cp->ccb_ba + offsetof(struct sym_ccb, lbl)) |
| 823 | 799 | ||
| 824 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 825 | #define sym_goalp(cp) ((cp->host_flags & HF_DATA_IN) ? cp->goalp : cp->wgoalp) | ||
| 826 | #else | ||
| 827 | #define sym_goalp(cp) (cp->goalp) | ||
| 828 | #endif | ||
| 829 | |||
| 830 | typedef struct device *m_pool_ident_t; | 800 | typedef struct device *m_pool_ident_t; |
| 831 | 801 | ||
| 832 | /* | 802 | /* |
| @@ -1077,7 +1047,6 @@ char *sym_driver_name(void); | |||
| 1077 | void sym_print_xerr(struct scsi_cmnd *cmd, int x_status); | 1047 | void sym_print_xerr(struct scsi_cmnd *cmd, int x_status); |
| 1078 | int sym_reset_scsi_bus(struct sym_hcb *np, int enab_int); | 1048 | int sym_reset_scsi_bus(struct sym_hcb *np, int enab_int); |
| 1079 | struct sym_chip *sym_lookup_chip_table(u_short device_id, u_char revision); | 1049 | struct sym_chip *sym_lookup_chip_table(u_short device_id, u_char revision); |
| 1080 | void sym_put_start_queue(struct sym_hcb *np, struct sym_ccb *cp); | ||
| 1081 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING | 1050 | #ifdef SYM_OPT_HANDLE_DEVICE_QUEUEING |
| 1082 | void sym_start_next_ccbs(struct sym_hcb *np, struct sym_lcb *lp, int maxn); | 1051 | void sym_start_next_ccbs(struct sym_hcb *np, struct sym_lcb *lp, int maxn); |
| 1083 | #endif | 1052 | #endif |
| @@ -1136,71 +1105,6 @@ bad: | |||
| 1136 | #endif | 1105 | #endif |
| 1137 | 1106 | ||
| 1138 | /* | 1107 | /* |
| 1139 | * Set up data pointers used by SCRIPTS. | ||
| 1140 | * Called from O/S specific code. | ||
| 1141 | */ | ||
| 1142 | static inline void sym_setup_data_pointers(struct sym_hcb *np, | ||
| 1143 | struct sym_ccb *cp, int dir) | ||
| 1144 | { | ||
| 1145 | u32 lastp, goalp; | ||
| 1146 | |||
| 1147 | /* | ||
| 1148 | * No segments means no data. | ||
| 1149 | */ | ||
| 1150 | if (!cp->segments) | ||
| 1151 | dir = DMA_NONE; | ||
| 1152 | |||
| 1153 | /* | ||
| 1154 | * Set the data pointer. | ||
| 1155 | */ | ||
| 1156 | switch(dir) { | ||
| 1157 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1158 | case DMA_BIDIRECTIONAL: | ||
| 1159 | #endif | ||
| 1160 | case DMA_TO_DEVICE: | ||
| 1161 | goalp = SCRIPTA_BA(np, data_out2) + 8; | ||
| 1162 | lastp = goalp - 8 - (cp->segments * (2*4)); | ||
| 1163 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1164 | cp->wgoalp = cpu_to_scr(goalp); | ||
| 1165 | if (dir != DMA_BIDIRECTIONAL) | ||
| 1166 | break; | ||
| 1167 | cp->phys.head.wlastp = cpu_to_scr(lastp); | ||
| 1168 | /* fall through */ | ||
| 1169 | #else | ||
| 1170 | break; | ||
| 1171 | #endif | ||
| 1172 | case DMA_FROM_DEVICE: | ||
| 1173 | cp->host_flags |= HF_DATA_IN; | ||
| 1174 | goalp = SCRIPTA_BA(np, data_in2) + 8; | ||
| 1175 | lastp = goalp - 8 - (cp->segments * (2*4)); | ||
| 1176 | break; | ||
| 1177 | case DMA_NONE: | ||
| 1178 | default: | ||
| 1179 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1180 | cp->host_flags |= HF_DATA_IN; | ||
| 1181 | #endif | ||
| 1182 | lastp = goalp = SCRIPTB_BA(np, no_data); | ||
| 1183 | break; | ||
| 1184 | } | ||
| 1185 | |||
| 1186 | /* | ||
| 1187 | * Set all pointers values needed by SCRIPTS. | ||
| 1188 | */ | ||
| 1189 | cp->phys.head.lastp = cpu_to_scr(lastp); | ||
| 1190 | cp->phys.head.savep = cpu_to_scr(lastp); | ||
| 1191 | cp->startp = cp->phys.head.savep; | ||
| 1192 | cp->goalp = cpu_to_scr(goalp); | ||
| 1193 | |||
| 1194 | #ifdef SYM_OPT_HANDLE_DIR_UNKNOWN | ||
| 1195 | /* | ||
| 1196 | * If direction is unknown, start at data_io. | ||
| 1197 | */ | ||
| 1198 | if (dir == DMA_BIDIRECTIONAL) | ||
| 1199 | cp->phys.head.savep = cpu_to_scr(SCRIPTB_BA(np, data_io)); | ||
| 1200 | #endif | ||
| 1201 | } | ||
| 1202 | |||
| 1203 | /* | ||
| 1204 | * MEMORY ALLOCATOR. | 1108 | * MEMORY ALLOCATOR. |
| 1205 | */ | 1109 | */ |
| 1206 | 1110 | ||
diff --git a/drivers/scsi/sym53c8xx_2/sym_malloc.c b/drivers/scsi/sym53c8xx_2/sym_malloc.c index a34d403ccc6c..92bf9b14a7a2 100644 --- a/drivers/scsi/sym53c8xx_2/sym_malloc.c +++ b/drivers/scsi/sym53c8xx_2/sym_malloc.c | |||
| @@ -37,11 +37,7 @@ | |||
| 37 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 37 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 38 | */ | 38 | */ |
| 39 | 39 | ||
| 40 | #ifdef __FreeBSD__ | ||
| 41 | #include <dev/sym/sym_glue.h> | ||
| 42 | #else | ||
| 43 | #include "sym_glue.h" | 40 | #include "sym_glue.h" |
| 44 | #endif | ||
| 45 | 41 | ||
| 46 | /* | 42 | /* |
| 47 | * Simple power of two buddy-like generic allocator. | 43 | * Simple power of two buddy-like generic allocator. |
diff --git a/drivers/scsi/sym53c8xx_2/sym_nvram.c b/drivers/scsi/sym53c8xx_2/sym_nvram.c index 994b7566bcac..15d69298ab6e 100644 --- a/drivers/scsi/sym53c8xx_2/sym_nvram.c +++ b/drivers/scsi/sym53c8xx_2/sym_nvram.c | |||
| @@ -92,29 +92,32 @@ void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sy | |||
| 92 | * Get target set-up from Symbios format NVRAM. | 92 | * Get target set-up from Symbios format NVRAM. |
| 93 | */ | 93 | */ |
| 94 | static void | 94 | static void |
| 95 | sym_Symbios_setup_target(struct sym_hcb *np, int target, Symbios_nvram *nvram) | 95 | sym_Symbios_setup_target(struct sym_tcb *tp, int target, Symbios_nvram *nvram) |
| 96 | { | 96 | { |
| 97 | struct sym_tcb *tp = &np->target[target]; | ||
| 98 | Symbios_target *tn = &nvram->target[target]; | 97 | Symbios_target *tn = &nvram->target[target]; |
| 99 | 98 | ||
| 100 | tp->usrtags = | 99 | if (!(tn->flags & SYMBIOS_QUEUE_TAGS_ENABLED)) |
| 101 | (tn->flags & SYMBIOS_QUEUE_TAGS_ENABLED)? SYM_SETUP_MAX_TAG : 0; | 100 | tp->usrtags = 0; |
| 102 | |||
| 103 | if (!(tn->flags & SYMBIOS_DISCONNECT_ENABLE)) | 101 | if (!(tn->flags & SYMBIOS_DISCONNECT_ENABLE)) |
| 104 | tp->usrflags &= ~SYM_DISC_ENABLED; | 102 | tp->usrflags &= ~SYM_DISC_ENABLED; |
| 105 | if (!(tn->flags & SYMBIOS_SCAN_AT_BOOT_TIME)) | 103 | if (!(tn->flags & SYMBIOS_SCAN_AT_BOOT_TIME)) |
| 106 | tp->usrflags |= SYM_SCAN_BOOT_DISABLED; | 104 | tp->usrflags |= SYM_SCAN_BOOT_DISABLED; |
| 107 | if (!(tn->flags & SYMBIOS_SCAN_LUNS)) | 105 | if (!(tn->flags & SYMBIOS_SCAN_LUNS)) |
| 108 | tp->usrflags |= SYM_SCAN_LUNS_DISABLED; | 106 | tp->usrflags |= SYM_SCAN_LUNS_DISABLED; |
| 107 | tp->usr_period = (tn->sync_period + 3) / 4; | ||
| 108 | tp->usr_width = (tn->bus_width == 0x8) ? 0 : 1; | ||
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | static const unsigned char Tekram_sync[16] = { | ||
| 112 | 25, 31, 37, 43, 50, 62, 75, 125, 12, 15, 18, 21, 6, 7, 9, 10 | ||
| 113 | }; | ||
| 114 | |||
| 111 | /* | 115 | /* |
| 112 | * Get target set-up from Tekram format NVRAM. | 116 | * Get target set-up from Tekram format NVRAM. |
| 113 | */ | 117 | */ |
| 114 | static void | 118 | static void |
| 115 | sym_Tekram_setup_target(struct sym_hcb *np, int target, Tekram_nvram *nvram) | 119 | sym_Tekram_setup_target(struct sym_tcb *tp, int target, Tekram_nvram *nvram) |
| 116 | { | 120 | { |
| 117 | struct sym_tcb *tp = &np->target[target]; | ||
| 118 | struct Tekram_target *tn = &nvram->target[target]; | 121 | struct Tekram_target *tn = &nvram->target[target]; |
| 119 | 122 | ||
| 120 | if (tn->flags & TEKRAM_TAGGED_COMMANDS) { | 123 | if (tn->flags & TEKRAM_TAGGED_COMMANDS) { |
| @@ -124,22 +127,22 @@ sym_Tekram_setup_target(struct sym_hcb *np, int target, Tekram_nvram *nvram) | |||
| 124 | if (tn->flags & TEKRAM_DISCONNECT_ENABLE) | 127 | if (tn->flags & TEKRAM_DISCONNECT_ENABLE) |
| 125 | tp->usrflags |= SYM_DISC_ENABLED; | 128 | tp->usrflags |= SYM_DISC_ENABLED; |
| 126 | 129 | ||
| 127 | /* If any device does not support parity, we will not use this option */ | 130 | if (tn->flags & TEKRAM_SYNC_NEGO) |
| 128 | if (!(tn->flags & TEKRAM_PARITY_CHECK)) | 131 | tp->usr_period = Tekram_sync[tn->sync_index & 0xf]; |
| 129 | np->rv_scntl0 &= ~0x0a; /* SCSI parity checking disabled */ | 132 | tp->usr_width = (tn->flags & TEKRAM_WIDE_NEGO) ? 1 : 0; |
| 130 | } | 133 | } |
| 131 | 134 | ||
| 132 | /* | 135 | /* |
| 133 | * Get target setup from NVRAM. | 136 | * Get target setup from NVRAM. |
| 134 | */ | 137 | */ |
| 135 | void sym_nvram_setup_target(struct sym_hcb *np, int target, struct sym_nvram *nvp) | 138 | void sym_nvram_setup_target(struct sym_tcb *tp, int target, struct sym_nvram *nvp) |
| 136 | { | 139 | { |
| 137 | switch (nvp->type) { | 140 | switch (nvp->type) { |
| 138 | case SYM_SYMBIOS_NVRAM: | 141 | case SYM_SYMBIOS_NVRAM: |
| 139 | sym_Symbios_setup_target(np, target, &nvp->data.Symbios); | 142 | sym_Symbios_setup_target(tp, target, &nvp->data.Symbios); |
| 140 | break; | 143 | break; |
| 141 | case SYM_TEKRAM_NVRAM: | 144 | case SYM_TEKRAM_NVRAM: |
| 142 | sym_Tekram_setup_target(np, target, &nvp->data.Tekram); | 145 | sym_Tekram_setup_target(tp, target, &nvp->data.Tekram); |
| 143 | break; | 146 | break; |
| 144 | default: | 147 | default: |
| 145 | break; | 148 | break; |
diff --git a/drivers/scsi/sym53c8xx_2/sym_nvram.h b/drivers/scsi/sym53c8xx_2/sym_nvram.h index 1538bede5277..bdfbbb083b69 100644 --- a/drivers/scsi/sym53c8xx_2/sym_nvram.h +++ b/drivers/scsi/sym53c8xx_2/sym_nvram.h | |||
| @@ -194,12 +194,12 @@ struct sym_nvram { | |||
| 194 | 194 | ||
| 195 | #if SYM_CONF_NVRAM_SUPPORT | 195 | #if SYM_CONF_NVRAM_SUPPORT |
| 196 | void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram); | 196 | void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram); |
| 197 | void sym_nvram_setup_target (struct sym_hcb *np, int target, struct sym_nvram *nvp); | 197 | void sym_nvram_setup_target (struct sym_tcb *tp, int target, struct sym_nvram *nvp); |
| 198 | int sym_read_nvram (struct sym_device *np, struct sym_nvram *nvp); | 198 | int sym_read_nvram (struct sym_device *np, struct sym_nvram *nvp); |
| 199 | char *sym_nvram_type(struct sym_nvram *nvp); | 199 | char *sym_nvram_type(struct sym_nvram *nvp); |
| 200 | #else | 200 | #else |
| 201 | static inline void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram) { } | 201 | static inline void sym_nvram_setup_host(struct Scsi_Host *shost, struct sym_hcb *np, struct sym_nvram *nvram) { } |
| 202 | static inline void sym_nvram_setup_target(struct sym_hcb *np, struct sym_nvram *nvram) { } | 202 | static inline void sym_nvram_setup_target(struct sym_tcb *tp, struct sym_nvram *nvram) { } |
| 203 | static inline int sym_read_nvram(struct sym_device *np, struct sym_nvram *nvp) | 203 | static inline int sym_read_nvram(struct sym_device *np, struct sym_nvram *nvp) |
| 204 | { | 204 | { |
| 205 | nvp->type = 0; | 205 | nvp->type = 0; |
diff --git a/drivers/scsi/sym53c8xx_comm.h b/drivers/scsi/sym53c8xx_comm.h deleted file mode 100644 index 20ae2b17df58..000000000000 --- a/drivers/scsi/sym53c8xx_comm.h +++ /dev/null | |||
| @@ -1,792 +0,0 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | ** High Performance device driver for the Symbios 53C896 controller. | ||
| 3 | ** | ||
| 4 | ** Copyright (C) 1998-2001 Gerard Roudier <groudier@free.fr> | ||
| 5 | ** | ||
| 6 | ** This driver also supports all the Symbios 53C8XX controller family, | ||
| 7 | ** except 53C810 revisions < 16, 53C825 revisions < 16 and all | ||
| 8 | ** revisions of 53C815 controllers. | ||
| 9 | ** | ||
| 10 | ** This driver is based on the Linux port of the FreeBSD ncr driver. | ||
| 11 | ** | ||
| 12 | ** Copyright (C) 1994 Wolfgang Stanglmeier | ||
| 13 | ** | ||
| 14 | **----------------------------------------------------------------------------- | ||
| 15 | ** | ||
| 16 | ** This program is free software; you can redistribute it and/or modify | ||
| 17 | ** it under the terms of the GNU General Public License as published by | ||
| 18 | ** the Free Software Foundation; either version 2 of the License, or | ||
| 19 | ** (at your option) any later version. | ||
| 20 | ** | ||
| 21 | ** This program is distributed in the hope that it will be useful, | ||
| 22 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 23 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 24 | ** GNU General Public License for more details. | ||
| 25 | ** | ||
| 26 | ** You should have received a copy of the GNU General Public License | ||
| 27 | ** along with this program; if not, write to the Free Software | ||
| 28 | ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 29 | ** | ||
| 30 | **----------------------------------------------------------------------------- | ||
| 31 | ** | ||
| 32 | ** The Linux port of the FreeBSD ncr driver has been achieved in | ||
| 33 | ** november 1995 by: | ||
| 34 | ** | ||
| 35 | ** Gerard Roudier <groudier@free.fr> | ||
| 36 | ** | ||
| 37 | ** Being given that this driver originates from the FreeBSD version, and | ||
| 38 | ** in order to keep synergy on both, any suggested enhancements and corrections | ||
| 39 | ** received on Linux are automatically a potential candidate for the FreeBSD | ||
| 40 | ** version. | ||
| 41 | ** | ||
| 42 | ** The original driver has been written for 386bsd and FreeBSD by | ||
| 43 | ** Wolfgang Stanglmeier <wolf@cologne.de> | ||
| 44 | ** Stefan Esser <se@mi.Uni-Koeln.de> | ||
| 45 | ** | ||
| 46 | **----------------------------------------------------------------------------- | ||
| 47 | ** | ||
| 48 | ** Major contributions: | ||
| 49 | ** -------------------- | ||
| 50 | ** | ||
| 51 | ** NVRAM detection and reading. | ||
| 52 | ** Copyright (C) 1997 Richard Waltham <dormouse@farsrobt.demon.co.uk> | ||
| 53 | ** | ||
| 54 | ******************************************************************************* | ||
| 55 | */ | ||
| 56 | |||
| 57 | /*========================================================== | ||
| 58 | ** | ||
| 59 | ** Debugging tags | ||
| 60 | ** | ||
| 61 | **========================================================== | ||
| 62 | */ | ||
| 63 | |||
| 64 | #define DEBUG_ALLOC (0x0001) | ||
| 65 | #define DEBUG_PHASE (0x0002) | ||
| 66 | #define DEBUG_QUEUE (0x0008) | ||
| 67 | #define DEBUG_RESULT (0x0010) | ||
| 68 | #define DEBUG_POINTER (0x0020) | ||
| 69 | #define DEBUG_SCRIPT (0x0040) | ||
| 70 | #define DEBUG_TINY (0x0080) | ||
| 71 | #define DEBUG_TIMING (0x0100) | ||
| 72 | #define DEBUG_NEGO (0x0200) | ||
| 73 | #define DEBUG_TAGS (0x0400) | ||
| 74 | #define DEBUG_SCATTER (0x0800) | ||
| 75 | #define DEBUG_IC (0x1000) | ||
| 76 | |||
| 77 | /* | ||
| 78 | ** Enable/Disable debug messages. | ||
| 79 | ** Can be changed at runtime too. | ||
| 80 | */ | ||
| 81 | |||
| 82 | #ifdef SCSI_NCR_DEBUG_INFO_SUPPORT | ||
| 83 | static int ncr_debug = SCSI_NCR_DEBUG_FLAGS; | ||
| 84 | #define DEBUG_FLAGS ncr_debug | ||
| 85 | #else | ||
| 86 | #define DEBUG_FLAGS SCSI_NCR_DEBUG_FLAGS | ||
| 87 | #endif | ||
| 88 | |||
| 89 | static inline struct list_head *ncr_list_pop(struct list_head *head) | ||
| 90 | { | ||
| 91 | if (!list_empty(head)) { | ||
| 92 | struct list_head *elem = head->next; | ||
| 93 | |||
| 94 | list_del(elem); | ||
| 95 | return elem; | ||
| 96 | } | ||
| 97 | |||
| 98 | return NULL; | ||
| 99 | } | ||
| 100 | |||
| 101 | #ifdef __sparc__ | ||
| 102 | #include <asm/irq.h> | ||
| 103 | #endif | ||
| 104 | |||
| 105 | /*========================================================== | ||
| 106 | ** | ||
| 107 | ** Simple power of two buddy-like allocator. | ||
| 108 | ** | ||
| 109 | ** This simple code is not intended to be fast, but to | ||
| 110 | ** provide power of 2 aligned memory allocations. | ||
| 111 | ** Since the SCRIPTS processor only supplies 8 bit | ||
| 112 | ** arithmetic, this allocator allows simple and fast | ||
| 113 | ** address calculations from the SCRIPTS code. | ||
| 114 | ** In addition, cache line alignment is guaranteed for | ||
| 115 | ** power of 2 cache line size. | ||
| 116 | ** Enhanced in linux-2.3.44 to provide a memory pool | ||
| 117 | ** per pcidev to support dynamic dma mapping. (I would | ||
| 118 | ** have preferred a real bus astraction, btw). | ||
| 119 | ** | ||
| 120 | **========================================================== | ||
| 121 | */ | ||
| 122 | |||
| 123 | #define MEMO_SHIFT 4 /* 16 bytes minimum memory chunk */ | ||
| 124 | #if PAGE_SIZE >= 8192 | ||
| 125 | #define MEMO_PAGE_ORDER 0 /* 1 PAGE maximum */ | ||
| 126 | #else | ||
| 127 | #define MEMO_PAGE_ORDER 1 /* 2 PAGES maximum */ | ||
| 128 | #endif | ||
| 129 | #define MEMO_FREE_UNUSED /* Free unused pages immediately */ | ||
| 130 | #define MEMO_WARN 1 | ||
| 131 | #define MEMO_GFP_FLAGS GFP_ATOMIC | ||
| 132 | #define MEMO_CLUSTER_SHIFT (PAGE_SHIFT+MEMO_PAGE_ORDER) | ||
| 133 | #define MEMO_CLUSTER_SIZE (1UL << MEMO_CLUSTER_SHIFT) | ||
| 134 | #define MEMO_CLUSTER_MASK (MEMO_CLUSTER_SIZE-1) | ||
| 135 | |||
| 136 | typedef u_long m_addr_t; /* Enough bits to bit-hack addresses */ | ||
| 137 | typedef struct device *m_bush_t; /* Something that addresses DMAable */ | ||
| 138 | |||
| 139 | typedef struct m_link { /* Link between free memory chunks */ | ||
| 140 | struct m_link *next; | ||
| 141 | } m_link_s; | ||
| 142 | |||
| 143 | typedef struct m_vtob { /* Virtual to Bus address translation */ | ||
| 144 | struct m_vtob *next; | ||
| 145 | m_addr_t vaddr; | ||
| 146 | m_addr_t baddr; | ||
| 147 | } m_vtob_s; | ||
| 148 | #define VTOB_HASH_SHIFT 5 | ||
| 149 | #define VTOB_HASH_SIZE (1UL << VTOB_HASH_SHIFT) | ||
| 150 | #define VTOB_HASH_MASK (VTOB_HASH_SIZE-1) | ||
| 151 | #define VTOB_HASH_CODE(m) \ | ||
| 152 | ((((m_addr_t) (m)) >> MEMO_CLUSTER_SHIFT) & VTOB_HASH_MASK) | ||
| 153 | |||
| 154 | typedef struct m_pool { /* Memory pool of a given kind */ | ||
| 155 | m_bush_t bush; | ||
| 156 | m_addr_t (*getp)(struct m_pool *); | ||
| 157 | void (*freep)(struct m_pool *, m_addr_t); | ||
| 158 | int nump; | ||
| 159 | m_vtob_s *(vtob[VTOB_HASH_SIZE]); | ||
| 160 | struct m_pool *next; | ||
| 161 | struct m_link h[PAGE_SHIFT-MEMO_SHIFT+MEMO_PAGE_ORDER+1]; | ||
| 162 | } m_pool_s; | ||
| 163 | |||
| 164 | static void *___m_alloc(m_pool_s *mp, int size) | ||
| 165 | { | ||
| 166 | int i = 0; | ||
| 167 | int s = (1 << MEMO_SHIFT); | ||
| 168 | int j; | ||
| 169 | m_addr_t a; | ||
| 170 | m_link_s *h = mp->h; | ||
| 171 | |||
| 172 | if (size > (PAGE_SIZE << MEMO_PAGE_ORDER)) | ||
| 173 | return NULL; | ||
| 174 | |||
| 175 | while (size > s) { | ||
| 176 | s <<= 1; | ||
| 177 | ++i; | ||
| 178 | } | ||
| 179 | |||
| 180 | j = i; | ||
| 181 | while (!h[j].next) { | ||
| 182 | if (s == (PAGE_SIZE << MEMO_PAGE_ORDER)) { | ||
| 183 | h[j].next = (m_link_s *)mp->getp(mp); | ||
| 184 | if (h[j].next) | ||
| 185 | h[j].next->next = NULL; | ||
| 186 | break; | ||
| 187 | } | ||
| 188 | ++j; | ||
| 189 | s <<= 1; | ||
| 190 | } | ||
| 191 | a = (m_addr_t) h[j].next; | ||
| 192 | if (a) { | ||
| 193 | h[j].next = h[j].next->next; | ||
| 194 | while (j > i) { | ||
| 195 | j -= 1; | ||
| 196 | s >>= 1; | ||
| 197 | h[j].next = (m_link_s *) (a+s); | ||
| 198 | h[j].next->next = NULL; | ||
| 199 | } | ||
| 200 | } | ||
| 201 | #ifdef DEBUG | ||
| 202 | printk("___m_alloc(%d) = %p\n", size, (void *) a); | ||
| 203 | #endif | ||
| 204 | return (void *) a; | ||
| 205 | } | ||
| 206 | |||
| 207 | static void ___m_free(m_pool_s *mp, void *ptr, int size) | ||
| 208 | { | ||
| 209 | int i = 0; | ||
| 210 | int s = (1 << MEMO_SHIFT); | ||
| 211 | m_link_s *q; | ||
| 212 | m_addr_t a, b; | ||
| 213 | m_link_s *h = mp->h; | ||
| 214 | |||
| 215 | #ifdef DEBUG | ||
| 216 | printk("___m_free(%p, %d)\n", ptr, size); | ||
| 217 | #endif | ||
| 218 | |||
| 219 | if (size > (PAGE_SIZE << MEMO_PAGE_ORDER)) | ||
| 220 | return; | ||
| 221 | |||
| 222 | while (size > s) { | ||
| 223 | s <<= 1; | ||
| 224 | ++i; | ||
| 225 | } | ||
| 226 | |||
| 227 | a = (m_addr_t) ptr; | ||
| 228 | |||
| 229 | while (1) { | ||
| 230 | #ifdef MEMO_FREE_UNUSED | ||
| 231 | if (s == (PAGE_SIZE << MEMO_PAGE_ORDER)) { | ||
| 232 | mp->freep(mp, a); | ||
| 233 | break; | ||
| 234 | } | ||
| 235 | #endif | ||
| 236 | b = a ^ s; | ||
| 237 | q = &h[i]; | ||
| 238 | while (q->next && q->next != (m_link_s *) b) { | ||
| 239 | q = q->next; | ||
| 240 | } | ||
| 241 | if (!q->next) { | ||
| 242 | ((m_link_s *) a)->next = h[i].next; | ||
| 243 | h[i].next = (m_link_s *) a; | ||
| 244 | break; | ||
| 245 | } | ||
| 246 | q->next = q->next->next; | ||
| 247 | a = a & b; | ||
| 248 | s <<= 1; | ||
| 249 | ++i; | ||
| 250 | } | ||
| 251 | } | ||
| 252 | |||
| 253 | static DEFINE_SPINLOCK(ncr53c8xx_lock); | ||
| 254 | |||
| 255 | static void *__m_calloc2(m_pool_s *mp, int size, char *name, int uflags) | ||
| 256 | { | ||
| 257 | void *p; | ||
| 258 | |||
| 259 | p = ___m_alloc(mp, size); | ||
| 260 | |||
| 261 | if (DEBUG_FLAGS & DEBUG_ALLOC) | ||
| 262 | printk ("new %-10s[%4d] @%p.\n", name, size, p); | ||
| 263 | |||
| 264 | if (p) | ||
| 265 | memset(p, 0, size); | ||
| 266 | else if (uflags & MEMO_WARN) | ||
| 267 | printk (NAME53C8XX ": failed to allocate %s[%d]\n", name, size); | ||
| 268 | |||
| 269 | return p; | ||
| 270 | } | ||
| 271 | |||
| 272 | #define __m_calloc(mp, s, n) __m_calloc2(mp, s, n, MEMO_WARN) | ||
| 273 | |||
| 274 | static void __m_free(m_pool_s *mp, void *ptr, int size, char *name) | ||
| 275 | { | ||
| 276 | if (DEBUG_FLAGS & DEBUG_ALLOC) | ||
| 277 | printk ("freeing %-10s[%4d] @%p.\n", name, size, ptr); | ||
| 278 | |||
| 279 | ___m_free(mp, ptr, size); | ||
| 280 | |||
| 281 | } | ||
| 282 | |||
| 283 | /* | ||
| 284 | * With pci bus iommu support, we use a default pool of unmapped memory | ||
| 285 | * for memory we donnot need to DMA from/to and one pool per pcidev for | ||
| 286 | * memory accessed by the PCI chip. `mp0' is the default not DMAable pool. | ||
| 287 | */ | ||
| 288 | |||
| 289 | static m_addr_t ___mp0_getp(m_pool_s *mp) | ||
| 290 | { | ||
| 291 | m_addr_t m = __get_free_pages(MEMO_GFP_FLAGS, MEMO_PAGE_ORDER); | ||
| 292 | if (m) | ||
| 293 | ++mp->nump; | ||
| 294 | return m; | ||
| 295 | } | ||
| 296 | |||
| 297 | static void ___mp0_freep(m_pool_s *mp, m_addr_t m) | ||
| 298 | { | ||
| 299 | free_pages(m, MEMO_PAGE_ORDER); | ||
| 300 | --mp->nump; | ||
| 301 | } | ||
| 302 | |||
| 303 | static m_pool_s mp0 = {NULL, ___mp0_getp, ___mp0_freep}; | ||
| 304 | |||
| 305 | /* | ||
| 306 | * DMAable pools. | ||
| 307 | */ | ||
| 308 | |||
| 309 | /* | ||
| 310 | * With pci bus iommu support, we maintain one pool per pcidev and a | ||
| 311 | * hashed reverse table for virtual to bus physical address translations. | ||
| 312 | */ | ||
| 313 | static m_addr_t ___dma_getp(m_pool_s *mp) | ||
| 314 | { | ||
| 315 | m_addr_t vp; | ||
| 316 | m_vtob_s *vbp; | ||
| 317 | |||
| 318 | vbp = __m_calloc(&mp0, sizeof(*vbp), "VTOB"); | ||
| 319 | if (vbp) { | ||
| 320 | dma_addr_t daddr; | ||
| 321 | vp = (m_addr_t) dma_alloc_coherent(mp->bush, | ||
| 322 | PAGE_SIZE<<MEMO_PAGE_ORDER, | ||
| 323 | &daddr, GFP_ATOMIC); | ||
| 324 | if (vp) { | ||
| 325 | int hc = VTOB_HASH_CODE(vp); | ||
| 326 | vbp->vaddr = vp; | ||
| 327 | vbp->baddr = daddr; | ||
| 328 | vbp->next = mp->vtob[hc]; | ||
| 329 | mp->vtob[hc] = vbp; | ||
| 330 | ++mp->nump; | ||
| 331 | return vp; | ||
| 332 | } | ||
| 333 | } | ||
| 334 | if (vbp) | ||
| 335 | __m_free(&mp0, vbp, sizeof(*vbp), "VTOB"); | ||
| 336 | return 0; | ||
| 337 | } | ||
| 338 | |||
| 339 | static void ___dma_freep(m_pool_s *mp, m_addr_t m) | ||
| 340 | { | ||
| 341 | m_vtob_s **vbpp, *vbp; | ||
| 342 | int hc = VTOB_HASH_CODE(m); | ||
| 343 | |||
| 344 | vbpp = &mp->vtob[hc]; | ||
| 345 | while (*vbpp && (*vbpp)->vaddr != m) | ||
| 346 | vbpp = &(*vbpp)->next; | ||
| 347 | if (*vbpp) { | ||
| 348 | vbp = *vbpp; | ||
| 349 | *vbpp = (*vbpp)->next; | ||
| 350 | dma_free_coherent(mp->bush, PAGE_SIZE<<MEMO_PAGE_ORDER, | ||
| 351 | (void *)vbp->vaddr, (dma_addr_t)vbp->baddr); | ||
| 352 | __m_free(&mp0, vbp, sizeof(*vbp), "VTOB"); | ||
| 353 | --mp->nump; | ||
| 354 | } | ||
| 355 | } | ||
| 356 | |||
| 357 | static inline m_pool_s *___get_dma_pool(m_bush_t bush) | ||
| 358 | { | ||
| 359 | m_pool_s *mp; | ||
| 360 | for (mp = mp0.next; mp && mp->bush != bush; mp = mp->next); | ||
| 361 | return mp; | ||
| 362 | } | ||
| 363 | |||
| 364 | static m_pool_s *___cre_dma_pool(m_bush_t bush) | ||
| 365 | { | ||
| 366 | m_pool_s *mp; | ||
| 367 | mp = __m_calloc(&mp0, sizeof(*mp), "MPOOL"); | ||
| 368 | if (mp) { | ||
| 369 | memset(mp, 0, sizeof(*mp)); | ||
| 370 | mp->bush = bush; | ||
| 371 | mp->getp = ___dma_getp; | ||
| 372 | mp->freep = ___dma_freep; | ||
| 373 | mp->next = mp0.next; | ||
| 374 | mp0.next = mp; | ||
| 375 | } | ||
| 376 | return mp; | ||
| 377 | } | ||
| 378 | |||
| 379 | static void ___del_dma_pool(m_pool_s *p) | ||
| 380 | { | ||
| 381 | struct m_pool **pp = &mp0.next; | ||
| 382 | |||
| 383 | while (*pp && *pp != p) | ||
| 384 | pp = &(*pp)->next; | ||
| 385 | if (*pp) { | ||
| 386 | *pp = (*pp)->next; | ||
| 387 | __m_free(&mp0, p, sizeof(*p), "MPOOL"); | ||
| 388 | } | ||
| 389 | } | ||
| 390 | |||
| 391 | static void *__m_calloc_dma(m_bush_t bush, int size, char *name) | ||
| 392 | { | ||
| 393 | u_long flags; | ||
| 394 | struct m_pool *mp; | ||
| 395 | void *m = NULL; | ||
| 396 | |||
| 397 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 398 | mp = ___get_dma_pool(bush); | ||
| 399 | if (!mp) | ||
| 400 | mp = ___cre_dma_pool(bush); | ||
| 401 | if (mp) | ||
| 402 | m = __m_calloc(mp, size, name); | ||
| 403 | if (mp && !mp->nump) | ||
| 404 | ___del_dma_pool(mp); | ||
| 405 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 406 | |||
| 407 | return m; | ||
| 408 | } | ||
| 409 | |||
| 410 | static void __m_free_dma(m_bush_t bush, void *m, int size, char *name) | ||
| 411 | { | ||
| 412 | u_long flags; | ||
| 413 | struct m_pool *mp; | ||
| 414 | |||
| 415 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 416 | mp = ___get_dma_pool(bush); | ||
| 417 | if (mp) | ||
| 418 | __m_free(mp, m, size, name); | ||
| 419 | if (mp && !mp->nump) | ||
| 420 | ___del_dma_pool(mp); | ||
| 421 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 422 | } | ||
| 423 | |||
| 424 | static m_addr_t __vtobus(m_bush_t bush, void *m) | ||
| 425 | { | ||
| 426 | u_long flags; | ||
| 427 | m_pool_s *mp; | ||
| 428 | int hc = VTOB_HASH_CODE(m); | ||
| 429 | m_vtob_s *vp = NULL; | ||
| 430 | m_addr_t a = ((m_addr_t) m) & ~MEMO_CLUSTER_MASK; | ||
| 431 | |||
| 432 | spin_lock_irqsave(&ncr53c8xx_lock, flags); | ||
| 433 | mp = ___get_dma_pool(bush); | ||
| 434 | if (mp) { | ||
| 435 | vp = mp->vtob[hc]; | ||
| 436 | while (vp && (m_addr_t) vp->vaddr != a) | ||
| 437 | vp = vp->next; | ||
| 438 | } | ||
| 439 | spin_unlock_irqrestore(&ncr53c8xx_lock, flags); | ||
| 440 | return vp ? vp->baddr + (((m_addr_t) m) - a) : 0; | ||
| 441 | } | ||
| 442 | |||
| 443 | #define _m_calloc_dma(np, s, n) __m_calloc_dma(np->dev, s, n) | ||
| 444 | #define _m_free_dma(np, p, s, n) __m_free_dma(np->dev, p, s, n) | ||
| 445 | #define m_calloc_dma(s, n) _m_calloc_dma(np, s, n) | ||
| 446 | #define m_free_dma(p, s, n) _m_free_dma(np, p, s, n) | ||
| 447 | #define _vtobus(np, p) __vtobus(np->dev, p) | ||
| 448 | #define vtobus(p) _vtobus(np, p) | ||
| 449 | |||
| 450 | /* | ||
| 451 | * Deal with DMA mapping/unmapping. | ||
| 452 | */ | ||
| 453 | |||
| 454 | /* To keep track of the dma mapping (sg/single) that has been set */ | ||
| 455 | #define __data_mapped SCp.phase | ||
| 456 | #define __data_mapping SCp.have_data_in | ||
| 457 | |||
| 458 | static void __unmap_scsi_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 459 | { | ||
| 460 | switch(cmd->__data_mapped) { | ||
| 461 | case 2: | ||
| 462 | dma_unmap_sg(dev, cmd->buffer, cmd->use_sg, | ||
| 463 | cmd->sc_data_direction); | ||
| 464 | break; | ||
| 465 | case 1: | ||
| 466 | dma_unmap_single(dev, cmd->__data_mapping, | ||
| 467 | cmd->request_bufflen, | ||
| 468 | cmd->sc_data_direction); | ||
| 469 | break; | ||
| 470 | } | ||
| 471 | cmd->__data_mapped = 0; | ||
| 472 | } | ||
| 473 | |||
| 474 | static u_long __map_scsi_single_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 475 | { | ||
| 476 | dma_addr_t mapping; | ||
| 477 | |||
| 478 | if (cmd->request_bufflen == 0) | ||
| 479 | return 0; | ||
| 480 | |||
| 481 | mapping = dma_map_single(dev, cmd->request_buffer, | ||
| 482 | cmd->request_bufflen, | ||
| 483 | cmd->sc_data_direction); | ||
| 484 | cmd->__data_mapped = 1; | ||
| 485 | cmd->__data_mapping = mapping; | ||
| 486 | |||
| 487 | return mapping; | ||
| 488 | } | ||
| 489 | |||
| 490 | static int __map_scsi_sg_data(struct device *dev, struct scsi_cmnd *cmd) | ||
| 491 | { | ||
| 492 | int use_sg; | ||
| 493 | |||
| 494 | if (cmd->use_sg == 0) | ||
| 495 | return 0; | ||
| 496 | |||
| 497 | use_sg = dma_map_sg(dev, cmd->buffer, cmd->use_sg, | ||
| 498 | cmd->sc_data_direction); | ||
| 499 | cmd->__data_mapped = 2; | ||
| 500 | cmd->__data_mapping = use_sg; | ||
| 501 | |||
| 502 | return use_sg; | ||
| 503 | } | ||
| 504 | |||
| 505 | #define unmap_scsi_data(np, cmd) __unmap_scsi_data(np->dev, cmd) | ||
| 506 | #define map_scsi_single_data(np, cmd) __map_scsi_single_data(np->dev, cmd) | ||
| 507 | #define map_scsi_sg_data(np, cmd) __map_scsi_sg_data(np->dev, cmd) | ||
| 508 | |||
| 509 | /*========================================================== | ||
| 510 | ** | ||
| 511 | ** Driver setup. | ||
| 512 | ** | ||
| 513 | ** This structure is initialized from linux config | ||
| 514 | ** options. It can be overridden at boot-up by the boot | ||
| 515 | ** command line. | ||
| 516 | ** | ||
| 517 | **========================================================== | ||
| 518 | */ | ||
| 519 | static struct ncr_driver_setup | ||
| 520 | driver_setup = SCSI_NCR_DRIVER_SETUP; | ||
| 521 | |||
| 522 | #ifdef SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 523 | static struct ncr_driver_setup | ||
| 524 | driver_safe_setup __initdata = SCSI_NCR_DRIVER_SAFE_SETUP; | ||
| 525 | #endif | ||
| 526 | |||
| 527 | #define initverbose (driver_setup.verbose) | ||
| 528 | #define bootverbose (np->verbose) | ||
| 529 | |||
| 530 | |||
| 531 | /*=================================================================== | ||
| 532 | ** | ||
| 533 | ** Driver setup from the boot command line | ||
| 534 | ** | ||
| 535 | **=================================================================== | ||
| 536 | */ | ||
| 537 | |||
| 538 | #ifdef MODULE | ||
| 539 | #define ARG_SEP ' ' | ||
| 540 | #else | ||
| 541 | #define ARG_SEP ',' | ||
| 542 | #endif | ||
| 543 | |||
| 544 | #define OPT_TAGS 1 | ||
| 545 | #define OPT_MASTER_PARITY 2 | ||
| 546 | #define OPT_SCSI_PARITY 3 | ||
| 547 | #define OPT_DISCONNECTION 4 | ||
| 548 | #define OPT_SPECIAL_FEATURES 5 | ||
| 549 | #define OPT_UNUSED_1 6 | ||
| 550 | #define OPT_FORCE_SYNC_NEGO 7 | ||
| 551 | #define OPT_REVERSE_PROBE 8 | ||
| 552 | #define OPT_DEFAULT_SYNC 9 | ||
| 553 | #define OPT_VERBOSE 10 | ||
| 554 | #define OPT_DEBUG 11 | ||
| 555 | #define OPT_BURST_MAX 12 | ||
| 556 | #define OPT_LED_PIN 13 | ||
| 557 | #define OPT_MAX_WIDE 14 | ||
| 558 | #define OPT_SETTLE_DELAY 15 | ||
| 559 | #define OPT_DIFF_SUPPORT 16 | ||
| 560 | #define OPT_IRQM 17 | ||
| 561 | #define OPT_PCI_FIX_UP 18 | ||
| 562 | #define OPT_BUS_CHECK 19 | ||
| 563 | #define OPT_OPTIMIZE 20 | ||
| 564 | #define OPT_RECOVERY 21 | ||
| 565 | #define OPT_SAFE_SETUP 22 | ||
| 566 | #define OPT_USE_NVRAM 23 | ||
| 567 | #define OPT_EXCLUDE 24 | ||
| 568 | #define OPT_HOST_ID 25 | ||
| 569 | |||
| 570 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 571 | #define OPT_IARB 26 | ||
| 572 | #endif | ||
| 573 | |||
| 574 | static char setup_token[] __initdata = | ||
| 575 | "tags:" "mpar:" | ||
| 576 | "spar:" "disc:" | ||
| 577 | "specf:" "ultra:" | ||
| 578 | "fsn:" "revprob:" | ||
| 579 | "sync:" "verb:" | ||
| 580 | "debug:" "burst:" | ||
| 581 | "led:" "wide:" | ||
| 582 | "settle:" "diff:" | ||
| 583 | "irqm:" "pcifix:" | ||
| 584 | "buschk:" "optim:" | ||
| 585 | "recovery:" | ||
| 586 | "safe:" "nvram:" | ||
| 587 | "excl:" "hostid:" | ||
| 588 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 589 | "iarb:" | ||
| 590 | #endif | ||
| 591 | ; /* DONNOT REMOVE THIS ';' */ | ||
| 592 | |||
| 593 | #ifdef MODULE | ||
| 594 | #define ARG_SEP ' ' | ||
| 595 | #else | ||
| 596 | #define ARG_SEP ',' | ||
| 597 | #endif | ||
| 598 | |||
| 599 | static int __init get_setup_token(char *p) | ||
| 600 | { | ||
| 601 | char *cur = setup_token; | ||
| 602 | char *pc; | ||
| 603 | int i = 0; | ||
| 604 | |||
| 605 | while (cur != NULL && (pc = strchr(cur, ':')) != NULL) { | ||
| 606 | ++pc; | ||
| 607 | ++i; | ||
| 608 | if (!strncmp(p, cur, pc - cur)) | ||
| 609 | return i; | ||
| 610 | cur = pc; | ||
| 611 | } | ||
| 612 | return 0; | ||
| 613 | } | ||
| 614 | |||
| 615 | |||
| 616 | static int __init sym53c8xx__setup(char *str) | ||
| 617 | { | ||
| 618 | #ifdef SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 619 | char *cur = str; | ||
| 620 | char *pc, *pv; | ||
| 621 | int i, val, c; | ||
| 622 | int xi = 0; | ||
| 623 | |||
| 624 | while (cur != NULL && (pc = strchr(cur, ':')) != NULL) { | ||
| 625 | char *pe; | ||
| 626 | |||
| 627 | val = 0; | ||
| 628 | pv = pc; | ||
| 629 | c = *++pv; | ||
| 630 | |||
| 631 | if (c == 'n') | ||
| 632 | val = 0; | ||
| 633 | else if (c == 'y') | ||
| 634 | val = 1; | ||
| 635 | else | ||
| 636 | val = (int) simple_strtoul(pv, &pe, 0); | ||
| 637 | |||
| 638 | switch (get_setup_token(cur)) { | ||
| 639 | case OPT_TAGS: | ||
| 640 | driver_setup.default_tags = val; | ||
| 641 | if (pe && *pe == '/') { | ||
| 642 | i = 0; | ||
| 643 | while (*pe && *pe != ARG_SEP && | ||
| 644 | i < sizeof(driver_setup.tag_ctrl)-1) { | ||
| 645 | driver_setup.tag_ctrl[i++] = *pe++; | ||
| 646 | } | ||
| 647 | driver_setup.tag_ctrl[i] = '\0'; | ||
| 648 | } | ||
| 649 | break; | ||
| 650 | case OPT_MASTER_PARITY: | ||
| 651 | driver_setup.master_parity = val; | ||
| 652 | break; | ||
| 653 | case OPT_SCSI_PARITY: | ||
| 654 | driver_setup.scsi_parity = val; | ||
| 655 | break; | ||
| 656 | case OPT_DISCONNECTION: | ||
| 657 | driver_setup.disconnection = val; | ||
| 658 | break; | ||
| 659 | case OPT_SPECIAL_FEATURES: | ||
| 660 | driver_setup.special_features = val; | ||
| 661 | break; | ||
| 662 | case OPT_FORCE_SYNC_NEGO: | ||
| 663 | driver_setup.force_sync_nego = val; | ||
| 664 | break; | ||
| 665 | case OPT_REVERSE_PROBE: | ||
| 666 | driver_setup.reverse_probe = val; | ||
| 667 | break; | ||
| 668 | case OPT_DEFAULT_SYNC: | ||
| 669 | driver_setup.default_sync = val; | ||
| 670 | break; | ||
| 671 | case OPT_VERBOSE: | ||
| 672 | driver_setup.verbose = val; | ||
| 673 | break; | ||
| 674 | case OPT_DEBUG: | ||
| 675 | driver_setup.debug = val; | ||
| 676 | break; | ||
| 677 | case OPT_BURST_MAX: | ||
| 678 | driver_setup.burst_max = val; | ||
| 679 | break; | ||
| 680 | case OPT_LED_PIN: | ||
| 681 | driver_setup.led_pin = val; | ||
| 682 | break; | ||
| 683 | case OPT_MAX_WIDE: | ||
| 684 | driver_setup.max_wide = val? 1:0; | ||
| 685 | break; | ||
| 686 | case OPT_SETTLE_DELAY: | ||
| 687 | driver_setup.settle_delay = val; | ||
| 688 | break; | ||
| 689 | case OPT_DIFF_SUPPORT: | ||
| 690 | driver_setup.diff_support = val; | ||
| 691 | break; | ||
| 692 | case OPT_IRQM: | ||
| 693 | driver_setup.irqm = val; | ||
| 694 | break; | ||
| 695 | case OPT_PCI_FIX_UP: | ||
| 696 | driver_setup.pci_fix_up = val; | ||
| 697 | break; | ||
| 698 | case OPT_BUS_CHECK: | ||
| 699 | driver_setup.bus_check = val; | ||
| 700 | break; | ||
| 701 | case OPT_OPTIMIZE: | ||
| 702 | driver_setup.optimize = val; | ||
| 703 | break; | ||
| 704 | case OPT_RECOVERY: | ||
| 705 | driver_setup.recovery = val; | ||
| 706 | break; | ||
| 707 | case OPT_USE_NVRAM: | ||
| 708 | driver_setup.use_nvram = val; | ||
| 709 | break; | ||
| 710 | case OPT_SAFE_SETUP: | ||
| 711 | memcpy(&driver_setup, &driver_safe_setup, | ||
| 712 | sizeof(driver_setup)); | ||
| 713 | break; | ||
| 714 | case OPT_EXCLUDE: | ||
| 715 | if (xi < SCSI_NCR_MAX_EXCLUDES) | ||
| 716 | driver_setup.excludes[xi++] = val; | ||
| 717 | break; | ||
| 718 | case OPT_HOST_ID: | ||
| 719 | driver_setup.host_id = val; | ||
| 720 | break; | ||
| 721 | #ifdef SCSI_NCR_IARB_SUPPORT | ||
| 722 | case OPT_IARB: | ||
| 723 | driver_setup.iarb = val; | ||
| 724 | break; | ||
| 725 | #endif | ||
| 726 | default: | ||
| 727 | printk("sym53c8xx_setup: unexpected boot option '%.*s' ignored\n", (int)(pc-cur+1), cur); | ||
| 728 | break; | ||
| 729 | } | ||
| 730 | |||
| 731 | if ((cur = strchr(cur, ARG_SEP)) != NULL) | ||
| 732 | ++cur; | ||
| 733 | } | ||
| 734 | #endif /* SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT */ | ||
| 735 | return 1; | ||
| 736 | } | ||
| 737 | |||
| 738 | /*=================================================================== | ||
| 739 | ** | ||
| 740 | ** Get device queue depth from boot command line. | ||
| 741 | ** | ||
| 742 | **=================================================================== | ||
| 743 | */ | ||
| 744 | #define DEF_DEPTH (driver_setup.default_tags) | ||
| 745 | #define ALL_TARGETS -2 | ||
| 746 | #define NO_TARGET -1 | ||
| 747 | #define ALL_LUNS -2 | ||
| 748 | #define NO_LUN -1 | ||
| 749 | |||
| 750 | static int device_queue_depth(int unit, int target, int lun) | ||
| 751 | { | ||
| 752 | int c, h, t, u, v; | ||
| 753 | char *p = driver_setup.tag_ctrl; | ||
| 754 | char *ep; | ||
| 755 | |||
| 756 | h = -1; | ||
| 757 | t = NO_TARGET; | ||
| 758 | u = NO_LUN; | ||
| 759 | while ((c = *p++) != 0) { | ||
| 760 | v = simple_strtoul(p, &ep, 0); | ||
| 761 | switch(c) { | ||
| 762 | case '/': | ||
| 763 | ++h; | ||
| 764 | t = ALL_TARGETS; | ||
| 765 | u = ALL_LUNS; | ||
| 766 | break; | ||
| 767 | case 't': | ||
| 768 | if (t != target) | ||
| 769 | t = (target == v) ? v : NO_TARGET; | ||
| 770 | u = ALL_LUNS; | ||
| 771 | break; | ||
| 772 | case 'u': | ||
| 773 | if (u != lun) | ||
| 774 | u = (lun == v) ? v : NO_LUN; | ||
| 775 | break; | ||
| 776 | case 'q': | ||
| 777 | if (h == unit && | ||
| 778 | (t == ALL_TARGETS || t == target) && | ||
| 779 | (u == ALL_LUNS || u == lun)) | ||
| 780 | return v; | ||
| 781 | break; | ||
| 782 | case '-': | ||
| 783 | t = ALL_TARGETS; | ||
| 784 | u = ALL_LUNS; | ||
| 785 | break; | ||
| 786 | default: | ||
| 787 | break; | ||
| 788 | } | ||
| 789 | p = ep; | ||
| 790 | } | ||
| 791 | return DEF_DEPTH; | ||
| 792 | } | ||
diff --git a/drivers/scsi/sym53c8xx_defs.h b/drivers/scsi/sym53c8xx_defs.h deleted file mode 100644 index 139cd0e12e62..000000000000 --- a/drivers/scsi/sym53c8xx_defs.h +++ /dev/null | |||
| @@ -1,1320 +0,0 @@ | |||
| 1 | /****************************************************************************** | ||
| 2 | ** High Performance device driver for the Symbios 53C896 controller. | ||
| 3 | ** | ||
| 4 | ** Copyright (C) 1998-2001 Gerard Roudier <groudier@free.fr> | ||
| 5 | ** | ||
| 6 | ** This driver also supports all the Symbios 53C8XX controller family, | ||
| 7 | ** except 53C810 revisions < 16, 53C825 revisions < 16 and all | ||
| 8 | ** revisions of 53C815 controllers. | ||
| 9 | ** | ||
| 10 | ** This driver is based on the Linux port of the FreeBSD ncr driver. | ||
| 11 | ** | ||
| 12 | ** Copyright (C) 1994 Wolfgang Stanglmeier | ||
| 13 | ** | ||
| 14 | **----------------------------------------------------------------------------- | ||
| 15 | ** | ||
| 16 | ** This program is free software; you can redistribute it and/or modify | ||
| 17 | ** it under the terms of the GNU General Public License as published by | ||
| 18 | ** the Free Software Foundation; either version 2 of the License, or | ||
| 19 | ** (at your option) any later version. | ||
| 20 | ** | ||
| 21 | ** This program is distributed in the hope that it will be useful, | ||
| 22 | ** but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 23 | ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 24 | ** GNU General Public License for more details. | ||
| 25 | ** | ||
| 26 | ** You should have received a copy of the GNU General Public License | ||
| 27 | ** along with this program; if not, write to the Free Software | ||
| 28 | ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 29 | ** | ||
| 30 | **----------------------------------------------------------------------------- | ||
| 31 | ** | ||
| 32 | ** The Linux port of the FreeBSD ncr driver has been achieved in | ||
| 33 | ** november 1995 by: | ||
| 34 | ** | ||
| 35 | ** Gerard Roudier <groudier@free.fr> | ||
| 36 | ** | ||
| 37 | ** Being given that this driver originates from the FreeBSD version, and | ||
| 38 | ** in order to keep synergy on both, any suggested enhancements and corrections | ||
| 39 | ** received on Linux are automatically a potential candidate for the FreeBSD | ||
| 40 | ** version. | ||
| 41 | ** | ||
| 42 | ** The original driver has been written for 386bsd and FreeBSD by | ||
| 43 | ** Wolfgang Stanglmeier <wolf@cologne.de> | ||
| 44 | ** Stefan Esser <se@mi.Uni-Koeln.de> | ||
| 45 | ** | ||
| 46 | **----------------------------------------------------------------------------- | ||
| 47 | ** | ||
| 48 | ** Major contributions: | ||
| 49 | ** -------------------- | ||
| 50 | ** | ||
| 51 | ** NVRAM detection and reading. | ||
| 52 | ** Copyright (C) 1997 Richard Waltham <dormouse@farsrobt.demon.co.uk> | ||
| 53 | ** | ||
| 54 | ** Added support for MIPS big endian systems. | ||
| 55 | ** Carsten Langgaard, carstenl@mips.com | ||
| 56 | ** Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. | ||
| 57 | ** | ||
| 58 | ** Added support for HP PARISC big endian systems. | ||
| 59 | ** Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved. | ||
| 60 | ** | ||
| 61 | ******************************************************************************* | ||
| 62 | */ | ||
| 63 | |||
| 64 | #ifndef SYM53C8XX_DEFS_H | ||
| 65 | #define SYM53C8XX_DEFS_H | ||
| 66 | |||
| 67 | #include <linux/config.h> | ||
| 68 | |||
| 69 | /* | ||
| 70 | ** If you want a driver as small as possible, donnot define the | ||
| 71 | ** following options. | ||
| 72 | */ | ||
| 73 | #define SCSI_NCR_BOOT_COMMAND_LINE_SUPPORT | ||
| 74 | #define SCSI_NCR_DEBUG_INFO_SUPPORT | ||
| 75 | |||
| 76 | /* | ||
| 77 | ** To disable integrity checking, do not define the | ||
| 78 | ** following option. | ||
| 79 | */ | ||
| 80 | #ifdef CONFIG_SCSI_NCR53C8XX_INTEGRITY_CHECK | ||
| 81 | # define SCSI_NCR_ENABLE_INTEGRITY_CHECK | ||
| 82 | #endif | ||
| 83 | |||
| 84 | /* --------------------------------------------------------------------- | ||
| 85 | ** Take into account kernel configured parameters. | ||
| 86 | ** Most of these options can be overridden at startup by a command line. | ||
| 87 | ** --------------------------------------------------------------------- | ||
| 88 | */ | ||
| 89 | |||
| 90 | /* | ||
| 91 | * For Ultra2 and Ultra3 SCSI support option, use special features. | ||
| 92 | * | ||
| 93 | * Value (default) means: | ||
| 94 | * bit 0 : all features enabled, except: | ||
| 95 | * bit 1 : PCI Write And Invalidate. | ||
| 96 | * bit 2 : Data Phase Mismatch handling from SCRIPTS. | ||
| 97 | * | ||
| 98 | * Use boot options ncr53c8xx=specf:1 if you want all chip features to be | ||
| 99 | * enabled by the driver. | ||
| 100 | */ | ||
| 101 | #define SCSI_NCR_SETUP_SPECIAL_FEATURES (3) | ||
| 102 | |||
| 103 | #define SCSI_NCR_MAX_SYNC (80) | ||
| 104 | |||
| 105 | /* | ||
| 106 | * Allow tags from 2 to 256, default 8 | ||
| 107 | */ | ||
| 108 | #ifdef CONFIG_SCSI_NCR53C8XX_MAX_TAGS | ||
| 109 | #if CONFIG_SCSI_NCR53C8XX_MAX_TAGS < 2 | ||
| 110 | #define SCSI_NCR_MAX_TAGS (2) | ||
| 111 | #elif CONFIG_SCSI_NCR53C8XX_MAX_TAGS > 256 | ||
| 112 | #define SCSI_NCR_MAX_TAGS (256) | ||
| 113 | #else | ||
| 114 | #define SCSI_NCR_MAX_TAGS CONFIG_SCSI_NCR53C8XX_MAX_TAGS | ||
| 115 | #endif | ||
| 116 | #else | ||
| 117 | #define SCSI_NCR_MAX_TAGS (8) | ||
| 118 | #endif | ||
| 119 | |||
| 120 | /* | ||
| 121 | * Allow tagged command queuing support if configured with default number | ||
| 122 | * of tags set to max (see above). | ||
| 123 | */ | ||
| 124 | #ifdef CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS | ||
| 125 | #define SCSI_NCR_SETUP_DEFAULT_TAGS CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS | ||
| 126 | #elif defined CONFIG_SCSI_NCR53C8XX_TAGGED_QUEUE | ||
| 127 | #define SCSI_NCR_SETUP_DEFAULT_TAGS SCSI_NCR_MAX_TAGS | ||
| 128 | #else | ||
| 129 | #define SCSI_NCR_SETUP_DEFAULT_TAGS (0) | ||
| 130 | #endif | ||
| 131 | |||
| 132 | /* | ||
| 133 | * Immediate arbitration | ||
| 134 | */ | ||
| 135 | #if defined(CONFIG_SCSI_NCR53C8XX_IARB) | ||
| 136 | #define SCSI_NCR_IARB_SUPPORT | ||
| 137 | #endif | ||
| 138 | |||
| 139 | /* | ||
| 140 | * Sync transfer frequency at startup. | ||
| 141 | * Allow from 5Mhz to 80Mhz default 20 Mhz. | ||
| 142 | */ | ||
| 143 | #ifndef CONFIG_SCSI_NCR53C8XX_SYNC | ||
| 144 | #define CONFIG_SCSI_NCR53C8XX_SYNC (20) | ||
| 145 | #elif CONFIG_SCSI_NCR53C8XX_SYNC > SCSI_NCR_MAX_SYNC | ||
| 146 | #undef CONFIG_SCSI_NCR53C8XX_SYNC | ||
| 147 | #define CONFIG_SCSI_NCR53C8XX_SYNC SCSI_NCR_MAX_SYNC | ||
| 148 | #endif | ||
| 149 | |||
| 150 | #if CONFIG_SCSI_NCR53C8XX_SYNC == 0 | ||
| 151 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (255) | ||
| 152 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 5 | ||
| 153 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (50) | ||
| 154 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 20 | ||
| 155 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (250/(CONFIG_SCSI_NCR53C8XX_SYNC)) | ||
| 156 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 33 | ||
| 157 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (11) | ||
| 158 | #elif CONFIG_SCSI_NCR53C8XX_SYNC <= 40 | ||
| 159 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (10) | ||
| 160 | #else | ||
| 161 | #define SCSI_NCR_SETUP_DEFAULT_SYNC (9) | ||
| 162 | #endif | ||
| 163 | |||
| 164 | /* | ||
| 165 | * Disallow disconnections at boot-up | ||
| 166 | */ | ||
| 167 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_DISCONNECT | ||
| 168 | #define SCSI_NCR_SETUP_DISCONNECTION (0) | ||
| 169 | #else | ||
| 170 | #define SCSI_NCR_SETUP_DISCONNECTION (1) | ||
| 171 | #endif | ||
| 172 | |||
| 173 | /* | ||
| 174 | * Force synchronous negotiation for all targets | ||
| 175 | */ | ||
| 176 | #ifdef CONFIG_SCSI_NCR53C8XX_FORCE_SYNC_NEGO | ||
| 177 | #define SCSI_NCR_SETUP_FORCE_SYNC_NEGO (1) | ||
| 178 | #else | ||
| 179 | #define SCSI_NCR_SETUP_FORCE_SYNC_NEGO (0) | ||
| 180 | #endif | ||
| 181 | |||
| 182 | /* | ||
| 183 | * Disable master parity checking (flawed hardwares need that) | ||
| 184 | */ | ||
| 185 | #ifdef CONFIG_SCSI_NCR53C8XX_DISABLE_MPARITY_CHECK | ||
| 186 | #define SCSI_NCR_SETUP_MASTER_PARITY (0) | ||
| 187 | #else | ||
| 188 | #define SCSI_NCR_SETUP_MASTER_PARITY (1) | ||
| 189 | #endif | ||
| 190 | |||
| 191 | /* | ||
| 192 | * Disable scsi parity checking (flawed devices may need that) | ||
| 193 | */ | ||
| 194 | #ifdef CONFIG_SCSI_NCR53C8XX_DISABLE_PARITY_CHECK | ||
| 195 | #define SCSI_NCR_SETUP_SCSI_PARITY (0) | ||
| 196 | #else | ||
| 197 | #define SCSI_NCR_SETUP_SCSI_PARITY (1) | ||
| 198 | #endif | ||
| 199 | |||
| 200 | /* | ||
| 201 | * Settle time after reset at boot-up | ||
| 202 | */ | ||
| 203 | #define SCSI_NCR_SETUP_SETTLE_TIME (2) | ||
| 204 | |||
| 205 | /* | ||
| 206 | ** Bridge quirks work-around option defaulted to 1. | ||
| 207 | */ | ||
| 208 | #ifndef SCSI_NCR_PCIQ_WORK_AROUND_OPT | ||
| 209 | #define SCSI_NCR_PCIQ_WORK_AROUND_OPT 1 | ||
| 210 | #endif | ||
| 211 | |||
| 212 | /* | ||
| 213 | ** Work-around common bridge misbehaviour. | ||
| 214 | ** | ||
| 215 | ** - Do not flush posted writes in the opposite | ||
| 216 | ** direction on read. | ||
| 217 | ** - May reorder DMA writes to memory. | ||
| 218 | ** | ||
| 219 | ** This option should not affect performances | ||
| 220 | ** significantly, so it is the default. | ||
| 221 | */ | ||
| 222 | #if SCSI_NCR_PCIQ_WORK_AROUND_OPT == 1 | ||
| 223 | #define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM | ||
| 224 | #define SCSI_NCR_PCIQ_MAY_REORDER_WRITES | ||
| 225 | #define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS | ||
| 226 | |||
| 227 | /* | ||
| 228 | ** Same as option 1, but also deal with | ||
| 229 | ** misconfigured interrupts. | ||
| 230 | ** | ||
| 231 | ** - Edge triggerred instead of level sensitive. | ||
| 232 | ** - No interrupt line connected. | ||
| 233 | ** - IRQ number misconfigured. | ||
| 234 | ** | ||
| 235 | ** If no interrupt is delivered, the driver will | ||
| 236 | ** catch the interrupt conditions 10 times per | ||
| 237 | ** second. No need to say that this option is | ||
| 238 | ** not recommended. | ||
| 239 | */ | ||
| 240 | #elif SCSI_NCR_PCIQ_WORK_AROUND_OPT == 2 | ||
| 241 | #define SCSI_NCR_PCIQ_MAY_NOT_FLUSH_PW_UPSTREAM | ||
| 242 | #define SCSI_NCR_PCIQ_MAY_REORDER_WRITES | ||
| 243 | #define SCSI_NCR_PCIQ_MAY_MISS_COMPLETIONS | ||
| 244 | #define SCSI_NCR_PCIQ_BROKEN_INTR | ||
| 245 | |||
| 246 | /* | ||
| 247 | ** Some bridge designers decided to flush | ||
| 248 | ** everything prior to deliver the interrupt. | ||
| 249 | ** This option tries to deal with such a | ||
| 250 | ** behaviour. | ||
| 251 | */ | ||
| 252 | #elif SCSI_NCR_PCIQ_WORK_AROUND_OPT == 3 | ||
| 253 | #define SCSI_NCR_PCIQ_SYNC_ON_INTR | ||
| 254 | #endif | ||
| 255 | |||
| 256 | /* | ||
| 257 | ** Other parameters not configurable with "make config" | ||
| 258 | ** Avoid to change these constants, unless you know what you are doing. | ||
| 259 | */ | ||
| 260 | |||
| 261 | #define SCSI_NCR_ALWAYS_SIMPLE_TAG | ||
| 262 | #define SCSI_NCR_MAX_SCATTER (127) | ||
| 263 | #define SCSI_NCR_MAX_TARGET (16) | ||
| 264 | |||
| 265 | /* | ||
| 266 | ** Compute some desirable value for CAN_QUEUE | ||
| 267 | ** and CMD_PER_LUN. | ||
| 268 | ** The driver will use lower values if these | ||
| 269 | ** ones appear to be too large. | ||
| 270 | */ | ||
| 271 | #define SCSI_NCR_CAN_QUEUE (8*SCSI_NCR_MAX_TAGS + 2*SCSI_NCR_MAX_TARGET) | ||
| 272 | #define SCSI_NCR_CMD_PER_LUN (SCSI_NCR_MAX_TAGS) | ||
| 273 | |||
| 274 | #define SCSI_NCR_SG_TABLESIZE (SCSI_NCR_MAX_SCATTER) | ||
| 275 | #define SCSI_NCR_TIMER_INTERVAL (HZ) | ||
| 276 | |||
| 277 | #if 1 /* defined CONFIG_SCSI_MULTI_LUN */ | ||
| 278 | #define SCSI_NCR_MAX_LUN (16) | ||
| 279 | #else | ||
| 280 | #define SCSI_NCR_MAX_LUN (1) | ||
| 281 | #endif | ||
| 282 | |||
| 283 | /* | ||
| 284 | * IO functions definition for big/little endian CPU support. | ||
| 285 | * For now, the NCR is only supported in little endian addressing mode, | ||
| 286 | */ | ||
| 287 | |||
| 288 | #ifdef __BIG_ENDIAN | ||
| 289 | |||
| 290 | #define inw_l2b inw | ||
| 291 | #define inl_l2b inl | ||
| 292 | #define outw_b2l outw | ||
| 293 | #define outl_b2l outl | ||
| 294 | |||
| 295 | #define readb_raw readb | ||
| 296 | #define writeb_raw writeb | ||
| 297 | |||
| 298 | #if defined(SCSI_NCR_BIG_ENDIAN) | ||
| 299 | #define readw_l2b __raw_readw | ||
| 300 | #define readl_l2b __raw_readl | ||
| 301 | #define writew_b2l __raw_writew | ||
| 302 | #define writel_b2l __raw_writel | ||
| 303 | #define readw_raw __raw_readw | ||
| 304 | #define readl_raw __raw_readl | ||
| 305 | #define writew_raw __raw_writew | ||
| 306 | #define writel_raw __raw_writel | ||
| 307 | #else /* Other big-endian */ | ||
| 308 | #define readw_l2b readw | ||
| 309 | #define readl_l2b readl | ||
| 310 | #define writew_b2l writew | ||
| 311 | #define writel_b2l writel | ||
| 312 | #define readw_raw readw | ||
| 313 | #define readl_raw readl | ||
| 314 | #define writew_raw writew | ||
| 315 | #define writel_raw writel | ||
| 316 | #endif | ||
| 317 | |||
| 318 | #else /* little endian */ | ||
| 319 | |||
| 320 | #define inw_raw inw | ||
| 321 | #define inl_raw inl | ||
| 322 | #define outw_raw outw | ||
| 323 | #define outl_raw outl | ||
| 324 | |||
| 325 | #define readb_raw readb | ||
| 326 | #define readw_raw readw | ||
| 327 | #define readl_raw readl | ||
| 328 | #define writeb_raw writeb | ||
| 329 | #define writew_raw writew | ||
| 330 | #define writel_raw writel | ||
| 331 | |||
| 332 | #endif | ||
| 333 | |||
| 334 | #if !defined(__hppa__) && !defined(__mips__) | ||
| 335 | #ifdef SCSI_NCR_BIG_ENDIAN | ||
| 336 | #error "The NCR in BIG ENDIAN addressing mode is not (yet) supported" | ||
| 337 | #endif | ||
| 338 | #endif | ||
| 339 | |||
| 340 | #define MEMORY_BARRIER() mb() | ||
| 341 | |||
| 342 | |||
| 343 | /* | ||
| 344 | * If the NCR uses big endian addressing mode over the | ||
| 345 | * PCI, actual io register addresses for byte and word | ||
| 346 | * accesses must be changed according to lane routing. | ||
| 347 | * Btw, ncr_offb() and ncr_offw() macros only apply to | ||
| 348 | * constants and so donnot generate bloated code. | ||
| 349 | */ | ||
| 350 | |||
| 351 | #if defined(SCSI_NCR_BIG_ENDIAN) | ||
| 352 | |||
| 353 | #define ncr_offb(o) (((o)&~3)+((~((o)&3))&3)) | ||
| 354 | #define ncr_offw(o) (((o)&~3)+((~((o)&3))&2)) | ||
| 355 | |||
| 356 | #else | ||
| 357 | |||
| 358 | #define ncr_offb(o) (o) | ||
| 359 | #define ncr_offw(o) (o) | ||
| 360 | |||
| 361 | #endif | ||
| 362 | |||
| 363 | /* | ||
| 364 | * If the CPU and the NCR use same endian-ness addressing, | ||
| 365 | * no byte reordering is needed for script patching. | ||
| 366 | * Macro cpu_to_scr() is to be used for script patching. | ||
| 367 | * Macro scr_to_cpu() is to be used for getting a DWORD | ||
| 368 | * from the script. | ||
| 369 | */ | ||
| 370 | |||
| 371 | #if defined(__BIG_ENDIAN) && !defined(SCSI_NCR_BIG_ENDIAN) | ||
| 372 | |||
| 373 | #define cpu_to_scr(dw) cpu_to_le32(dw) | ||
| 374 | #define scr_to_cpu(dw) le32_to_cpu(dw) | ||
| 375 | |||
| 376 | #elif defined(__LITTLE_ENDIAN) && defined(SCSI_NCR_BIG_ENDIAN) | ||
| 377 | |||
| 378 | #define cpu_to_scr(dw) cpu_to_be32(dw) | ||
| 379 | #define scr_to_cpu(dw) be32_to_cpu(dw) | ||
| 380 | |||
| 381 | #else | ||
| 382 | |||
| 383 | #define cpu_to_scr(dw) (dw) | ||
| 384 | #define scr_to_cpu(dw) (dw) | ||
| 385 | |||
| 386 | #endif | ||
| 387 | |||
| 388 | /* | ||
| 389 | * Access to the controller chip. | ||
| 390 | * | ||
| 391 | * If the CPU and the NCR use same endian-ness addressing, | ||
| 392 | * no byte reordering is needed for accessing chip io | ||
| 393 | * registers. Functions suffixed by '_raw' are assumed | ||
| 394 | * to access the chip over the PCI without doing byte | ||
| 395 | * reordering. Functions suffixed by '_l2b' are | ||
| 396 | * assumed to perform little-endian to big-endian byte | ||
| 397 | * reordering, those suffixed by '_b2l' blah, blah, | ||
| 398 | * blah, ... | ||
| 399 | */ | ||
| 400 | |||
| 401 | /* | ||
| 402 | * MEMORY mapped IO input / output | ||
| 403 | */ | ||
| 404 | |||
| 405 | #define INB_OFF(o) readb_raw((char __iomem *)np->reg + ncr_offb(o)) | ||
| 406 | #define OUTB_OFF(o, val) writeb_raw((val), (char __iomem *)np->reg + ncr_offb(o)) | ||
| 407 | |||
| 408 | #if defined(__BIG_ENDIAN) && !defined(SCSI_NCR_BIG_ENDIAN) | ||
| 409 | |||
| 410 | #define INW_OFF(o) readw_l2b((char __iomem *)np->reg + ncr_offw(o)) | ||
| 411 | #define INL_OFF(o) readl_l2b((char __iomem *)np->reg + (o)) | ||
| 412 | |||
| 413 | #define OUTW_OFF(o, val) writew_b2l((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 414 | #define OUTL_OFF(o, val) writel_b2l((val), (char __iomem *)np->reg + (o)) | ||
| 415 | |||
| 416 | #elif defined(__LITTLE_ENDIAN) && defined(SCSI_NCR_BIG_ENDIAN) | ||
| 417 | |||
| 418 | #define INW_OFF(o) readw_b2l((char __iomem *)np->reg + ncr_offw(o)) | ||
| 419 | #define INL_OFF(o) readl_b2l((char __iomem *)np->reg + (o)) | ||
| 420 | |||
| 421 | #define OUTW_OFF(o, val) writew_l2b((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 422 | #define OUTL_OFF(o, val) writel_l2b((val), (char __iomem *)np->reg + (o)) | ||
| 423 | |||
| 424 | #else | ||
| 425 | |||
| 426 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS | ||
| 427 | /* Only 8 or 32 bit transfers allowed */ | ||
| 428 | #define INW_OFF(o) (readb((char __iomem *)np->reg + ncr_offw(o)) << 8 | readb((char __iomem *)np->reg + ncr_offw(o) + 1)) | ||
| 429 | #else | ||
| 430 | #define INW_OFF(o) readw_raw((char __iomem *)np->reg + ncr_offw(o)) | ||
| 431 | #endif | ||
| 432 | #define INL_OFF(o) readl_raw((char __iomem *)np->reg + (o)) | ||
| 433 | |||
| 434 | #ifdef CONFIG_SCSI_NCR53C8XX_NO_WORD_TRANSFERS | ||
| 435 | /* Only 8 or 32 bit transfers allowed */ | ||
| 436 | #define OUTW_OFF(o, val) do { writeb((char)((val) >> 8), (char __iomem *)np->reg + ncr_offw(o)); writeb((char)(val), (char __iomem *)np->reg + ncr_offw(o) + 1); } while (0) | ||
| 437 | #else | ||
| 438 | #define OUTW_OFF(o, val) writew_raw((val), (char __iomem *)np->reg + ncr_offw(o)) | ||
| 439 | #endif | ||
| 440 | #define OUTL_OFF(o, val) writel_raw((val), (char __iomem *)np->reg + (o)) | ||
| 441 | |||
| 442 | #endif | ||
| 443 | |||
| 444 | #define INB(r) INB_OFF (offsetof(struct ncr_reg,r)) | ||
| 445 | #define INW(r) INW_OFF (offsetof(struct ncr_reg,r)) | ||
| 446 | #define INL(r) INL_OFF (offsetof(struct ncr_reg,r)) | ||
| 447 | |||
| 448 | #define OUTB(r, val) OUTB_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 449 | #define OUTW(r, val) OUTW_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 450 | #define OUTL(r, val) OUTL_OFF (offsetof(struct ncr_reg,r), (val)) | ||
| 451 | |||
| 452 | /* | ||
| 453 | * Set bit field ON, OFF | ||
| 454 | */ | ||
| 455 | |||
| 456 | #define OUTONB(r, m) OUTB(r, INB(r) | (m)) | ||
| 457 | #define OUTOFFB(r, m) OUTB(r, INB(r) & ~(m)) | ||
| 458 | #define OUTONW(r, m) OUTW(r, INW(r) | (m)) | ||
| 459 | #define OUTOFFW(r, m) OUTW(r, INW(r) & ~(m)) | ||
| 460 | #define OUTONL(r, m) OUTL(r, INL(r) | (m)) | ||
| 461 | #define OUTOFFL(r, m) OUTL(r, INL(r) & ~(m)) | ||
| 462 | |||
| 463 | /* | ||
| 464 | * We normally want the chip to have a consistent view | ||
| 465 | * of driver internal data structures when we restart it. | ||
| 466 | * Thus these macros. | ||
| 467 | */ | ||
| 468 | #define OUTL_DSP(v) \ | ||
| 469 | do { \ | ||
| 470 | MEMORY_BARRIER(); \ | ||
| 471 | OUTL (nc_dsp, (v)); \ | ||
| 472 | } while (0) | ||
| 473 | |||
| 474 | #define OUTONB_STD() \ | ||
| 475 | do { \ | ||
| 476 | MEMORY_BARRIER(); \ | ||
| 477 | OUTONB (nc_dcntl, (STD|NOCOM)); \ | ||
| 478 | } while (0) | ||
| 479 | |||
| 480 | |||
| 481 | /* | ||
| 482 | ** NCR53C8XX devices features table. | ||
| 483 | */ | ||
| 484 | struct ncr_chip { | ||
| 485 | unsigned short revision_id; | ||
| 486 | unsigned char burst_max; /* log-base-2 of max burst */ | ||
| 487 | unsigned char offset_max; | ||
| 488 | unsigned char nr_divisor; | ||
| 489 | unsigned int features; | ||
| 490 | #define FE_LED0 (1<<0) | ||
| 491 | #define FE_WIDE (1<<1) /* Wide data transfers */ | ||
| 492 | #define FE_ULTRA (1<<2) /* Ultra speed 20Mtrans/sec */ | ||
| 493 | #define FE_DBLR (1<<4) /* Clock doubler present */ | ||
| 494 | #define FE_QUAD (1<<5) /* Clock quadrupler present */ | ||
| 495 | #define FE_ERL (1<<6) /* Enable read line */ | ||
| 496 | #define FE_CLSE (1<<7) /* Cache line size enable */ | ||
| 497 | #define FE_WRIE (1<<8) /* Write & Invalidate enable */ | ||
| 498 | #define FE_ERMP (1<<9) /* Enable read multiple */ | ||
| 499 | #define FE_BOF (1<<10) /* Burst opcode fetch */ | ||
| 500 | #define FE_DFS (1<<11) /* DMA fifo size */ | ||
| 501 | #define FE_PFEN (1<<12) /* Prefetch enable */ | ||
| 502 | #define FE_LDSTR (1<<13) /* Load/Store supported */ | ||
| 503 | #define FE_RAM (1<<14) /* On chip RAM present */ | ||
| 504 | #define FE_VARCLK (1<<15) /* SCSI clock may vary */ | ||
| 505 | #define FE_RAM8K (1<<16) /* On chip RAM sized 8Kb */ | ||
| 506 | #define FE_64BIT (1<<17) /* Have a 64-bit PCI interface */ | ||
| 507 | #define FE_IO256 (1<<18) /* Requires full 256 bytes in PCI space */ | ||
| 508 | #define FE_NOPM (1<<19) /* Scripts handles phase mismatch */ | ||
| 509 | #define FE_LEDC (1<<20) /* Hardware control of LED */ | ||
| 510 | #define FE_DIFF (1<<21) /* Support Differential SCSI */ | ||
| 511 | #define FE_66MHZ (1<<23) /* 66MHz PCI Support */ | ||
| 512 | #define FE_DAC (1<<24) /* Support DAC cycles (64 bit addressing) */ | ||
| 513 | #define FE_ISTAT1 (1<<25) /* Have ISTAT1, MBOX0, MBOX1 registers */ | ||
| 514 | #define FE_DAC_IN_USE (1<<26) /* Platform does DAC cycles */ | ||
| 515 | #define FE_EHP (1<<27) /* 720: Even host parity */ | ||
| 516 | #define FE_MUX (1<<28) /* 720: Multiplexed bus */ | ||
| 517 | #define FE_EA (1<<29) /* 720: Enable Ack */ | ||
| 518 | |||
| 519 | #define FE_CACHE_SET (FE_ERL|FE_CLSE|FE_WRIE|FE_ERMP) | ||
| 520 | #define FE_SCSI_SET (FE_WIDE|FE_ULTRA|FE_DBLR|FE_QUAD|F_CLK80) | ||
| 521 | #define FE_SPECIAL_SET (FE_CACHE_SET|FE_BOF|FE_DFS|FE_LDSTR|FE_PFEN|FE_RAM) | ||
| 522 | }; | ||
| 523 | |||
| 524 | |||
| 525 | /* | ||
| 526 | ** Driver setup structure. | ||
| 527 | ** | ||
| 528 | ** This structure is initialized from linux config options. | ||
| 529 | ** It can be overridden at boot-up by the boot command line. | ||
| 530 | */ | ||
| 531 | #define SCSI_NCR_MAX_EXCLUDES 8 | ||
| 532 | struct ncr_driver_setup { | ||
| 533 | u8 master_parity; | ||
| 534 | u8 scsi_parity; | ||
| 535 | u8 disconnection; | ||
| 536 | u8 special_features; | ||
| 537 | u8 force_sync_nego; | ||
| 538 | u8 reverse_probe; | ||
| 539 | u8 pci_fix_up; | ||
| 540 | u8 use_nvram; | ||
| 541 | u8 verbose; | ||
| 542 | u8 default_tags; | ||
| 543 | u16 default_sync; | ||
| 544 | u16 debug; | ||
| 545 | u8 burst_max; | ||
| 546 | u8 led_pin; | ||
| 547 | u8 max_wide; | ||
| 548 | u8 settle_delay; | ||
| 549 | u8 diff_support; | ||
| 550 | u8 irqm; | ||
| 551 | u8 bus_check; | ||
| 552 | u8 optimize; | ||
| 553 | u8 recovery; | ||
| 554 | u8 host_id; | ||
| 555 | u16 iarb; | ||
| 556 | u32 excludes[SCSI_NCR_MAX_EXCLUDES]; | ||
| 557 | char tag_ctrl[100]; | ||
| 558 | }; | ||
| 559 | |||
| 560 | /* | ||
| 561 | ** Initial setup. | ||
| 562 | ** Can be overriden at startup by a command line. | ||
| 563 | */ | ||
| 564 | #define SCSI_NCR_DRIVER_SETUP \ | ||
| 565 | { \ | ||
| 566 | SCSI_NCR_SETUP_MASTER_PARITY, \ | ||
| 567 | SCSI_NCR_SETUP_SCSI_PARITY, \ | ||
| 568 | SCSI_NCR_SETUP_DISCONNECTION, \ | ||
| 569 | SCSI_NCR_SETUP_SPECIAL_FEATURES, \ | ||
| 570 | SCSI_NCR_SETUP_FORCE_SYNC_NEGO, \ | ||
| 571 | 0, \ | ||
| 572 | 0, \ | ||
| 573 | 1, \ | ||
| 574 | 0, \ | ||
| 575 | SCSI_NCR_SETUP_DEFAULT_TAGS, \ | ||
| 576 | SCSI_NCR_SETUP_DEFAULT_SYNC, \ | ||
| 577 | 0x00, \ | ||
| 578 | 7, \ | ||
| 579 | 0, \ | ||
| 580 | 1, \ | ||
| 581 | SCSI_NCR_SETUP_SETTLE_TIME, \ | ||
| 582 | 0, \ | ||
| 583 | 0, \ | ||
| 584 | 1, \ | ||
| 585 | 0, \ | ||
| 586 | 0, \ | ||
| 587 | 255, \ | ||
| 588 | 0x00 \ | ||
| 589 | } | ||
| 590 | |||
| 591 | /* | ||
| 592 | ** Boot fail safe setup. | ||
| 593 | ** Override initial setup from boot command line: | ||
| 594 | ** ncr53c8xx=safe:y | ||
| 595 | */ | ||
| 596 | #define SCSI_NCR_DRIVER_SAFE_SETUP \ | ||
| 597 | { \ | ||
| 598 | 0, \ | ||
| 599 | 1, \ | ||
| 600 | 0, \ | ||
| 601 | 0, \ | ||
| 602 | 0, \ | ||
| 603 | 0, \ | ||
| 604 | 0, \ | ||
| 605 | 1, \ | ||
| 606 | 2, \ | ||
| 607 | 0, \ | ||
| 608 | 255, \ | ||
| 609 | 0x00, \ | ||
| 610 | 255, \ | ||
| 611 | 0, \ | ||
| 612 | 0, \ | ||
| 613 | 10, \ | ||
| 614 | 1, \ | ||
| 615 | 1, \ | ||
| 616 | 1, \ | ||
| 617 | 0, \ | ||
| 618 | 0, \ | ||
| 619 | 255 \ | ||
| 620 | } | ||
| 621 | |||
| 622 | /**************** ORIGINAL CONTENT of ncrreg.h from FreeBSD ******************/ | ||
| 623 | |||
| 624 | /*----------------------------------------------------------------- | ||
| 625 | ** | ||
| 626 | ** The ncr 53c810 register structure. | ||
| 627 | ** | ||
| 628 | **----------------------------------------------------------------- | ||
| 629 | */ | ||
| 630 | |||
| 631 | struct ncr_reg { | ||
| 632 | /*00*/ u8 nc_scntl0; /* full arb., ena parity, par->ATN */ | ||
| 633 | |||
| 634 | /*01*/ u8 nc_scntl1; /* no reset */ | ||
| 635 | #define ISCON 0x10 /* connected to scsi */ | ||
| 636 | #define CRST 0x08 /* force reset */ | ||
| 637 | #define IARB 0x02 /* immediate arbitration */ | ||
| 638 | |||
| 639 | /*02*/ u8 nc_scntl2; /* no disconnect expected */ | ||
| 640 | #define SDU 0x80 /* cmd: disconnect will raise error */ | ||
| 641 | #define CHM 0x40 /* sta: chained mode */ | ||
| 642 | #define WSS 0x08 /* sta: wide scsi send [W]*/ | ||
| 643 | #define WSR 0x01 /* sta: wide scsi received [W]*/ | ||
| 644 | |||
| 645 | /*03*/ u8 nc_scntl3; /* cnf system clock dependent */ | ||
| 646 | #define EWS 0x08 /* cmd: enable wide scsi [W]*/ | ||
| 647 | #define ULTRA 0x80 /* cmd: ULTRA enable */ | ||
| 648 | /* bits 0-2, 7 rsvd for C1010 */ | ||
| 649 | |||
| 650 | /*04*/ u8 nc_scid; /* cnf host adapter scsi address */ | ||
| 651 | #define RRE 0x40 /* r/w:e enable response to resel. */ | ||
| 652 | #define SRE 0x20 /* r/w:e enable response to select */ | ||
| 653 | |||
| 654 | /*05*/ u8 nc_sxfer; /* ### Sync speed and count */ | ||
| 655 | /* bits 6-7 rsvd for C1010 */ | ||
| 656 | |||
| 657 | /*06*/ u8 nc_sdid; /* ### Destination-ID */ | ||
| 658 | |||
| 659 | /*07*/ u8 nc_gpreg; /* ??? IO-Pins */ | ||
| 660 | |||
| 661 | /*08*/ u8 nc_sfbr; /* ### First byte in phase */ | ||
| 662 | |||
| 663 | /*09*/ u8 nc_socl; | ||
| 664 | #define CREQ 0x80 /* r/w: SCSI-REQ */ | ||
| 665 | #define CACK 0x40 /* r/w: SCSI-ACK */ | ||
| 666 | #define CBSY 0x20 /* r/w: SCSI-BSY */ | ||
| 667 | #define CSEL 0x10 /* r/w: SCSI-SEL */ | ||
| 668 | #define CATN 0x08 /* r/w: SCSI-ATN */ | ||
| 669 | #define CMSG 0x04 /* r/w: SCSI-MSG */ | ||
| 670 | #define CC_D 0x02 /* r/w: SCSI-C_D */ | ||
| 671 | #define CI_O 0x01 /* r/w: SCSI-I_O */ | ||
| 672 | |||
| 673 | /*0a*/ u8 nc_ssid; | ||
| 674 | |||
| 675 | /*0b*/ u8 nc_sbcl; | ||
| 676 | |||
| 677 | /*0c*/ u8 nc_dstat; | ||
| 678 | #define DFE 0x80 /* sta: dma fifo empty */ | ||
| 679 | #define MDPE 0x40 /* int: master data parity error */ | ||
| 680 | #define BF 0x20 /* int: script: bus fault */ | ||
| 681 | #define ABRT 0x10 /* int: script: command aborted */ | ||
| 682 | #define SSI 0x08 /* int: script: single step */ | ||
| 683 | #define SIR 0x04 /* int: script: interrupt instruct. */ | ||
| 684 | #define IID 0x01 /* int: script: illegal instruct. */ | ||
| 685 | |||
| 686 | /*0d*/ u8 nc_sstat0; | ||
| 687 | #define ILF 0x80 /* sta: data in SIDL register lsb */ | ||
| 688 | #define ORF 0x40 /* sta: data in SODR register lsb */ | ||
| 689 | #define OLF 0x20 /* sta: data in SODL register lsb */ | ||
| 690 | #define AIP 0x10 /* sta: arbitration in progress */ | ||
| 691 | #define LOA 0x08 /* sta: arbitration lost */ | ||
| 692 | #define WOA 0x04 /* sta: arbitration won */ | ||
| 693 | #define IRST 0x02 /* sta: scsi reset signal */ | ||
| 694 | #define SDP 0x01 /* sta: scsi parity signal */ | ||
| 695 | |||
| 696 | /*0e*/ u8 nc_sstat1; | ||
| 697 | #define FF3210 0xf0 /* sta: bytes in the scsi fifo */ | ||
| 698 | |||
| 699 | /*0f*/ u8 nc_sstat2; | ||
| 700 | #define ILF1 0x80 /* sta: data in SIDL register msb[W]*/ | ||
| 701 | #define ORF1 0x40 /* sta: data in SODR register msb[W]*/ | ||
| 702 | #define OLF1 0x20 /* sta: data in SODL register msb[W]*/ | ||
| 703 | #define DM 0x04 /* sta: DIFFSENS mismatch (895/6 only) */ | ||
| 704 | #define LDSC 0x02 /* sta: disconnect & reconnect */ | ||
| 705 | |||
| 706 | /*10*/ u8 nc_dsa; /* --> Base page */ | ||
| 707 | /*11*/ u8 nc_dsa1; | ||
| 708 | /*12*/ u8 nc_dsa2; | ||
| 709 | /*13*/ u8 nc_dsa3; | ||
| 710 | |||
| 711 | /*14*/ u8 nc_istat; /* --> Main Command and status */ | ||
| 712 | #define CABRT 0x80 /* cmd: abort current operation */ | ||
| 713 | #define SRST 0x40 /* mod: reset chip */ | ||
| 714 | #define SIGP 0x20 /* r/w: message from host to ncr */ | ||
| 715 | #define SEM 0x10 /* r/w: message between host + ncr */ | ||
| 716 | #define CON 0x08 /* sta: connected to scsi */ | ||
| 717 | #define INTF 0x04 /* sta: int on the fly (reset by wr)*/ | ||
| 718 | #define SIP 0x02 /* sta: scsi-interrupt */ | ||
| 719 | #define DIP 0x01 /* sta: host/script interrupt */ | ||
| 720 | |||
| 721 | /*15*/ u8 nc_istat1; /* 896 and later cores only */ | ||
| 722 | #define FLSH 0x04 /* sta: chip is flushing */ | ||
| 723 | #define SRUN 0x02 /* sta: scripts are running */ | ||
| 724 | #define SIRQD 0x01 /* r/w: disable INT pin */ | ||
| 725 | |||
| 726 | /*16*/ u8 nc_mbox0; /* 896 and later cores only */ | ||
| 727 | /*17*/ u8 nc_mbox1; /* 896 and later cores only */ | ||
| 728 | |||
| 729 | /*18*/ u8 nc_ctest0; | ||
| 730 | #define EHP 0x04 /* 720 even host parity */ | ||
| 731 | /*19*/ u8 nc_ctest1; | ||
| 732 | |||
| 733 | /*1a*/ u8 nc_ctest2; | ||
| 734 | #define CSIGP 0x40 | ||
| 735 | /* bits 0-2,7 rsvd for C1010 */ | ||
| 736 | |||
| 737 | /*1b*/ u8 nc_ctest3; | ||
| 738 | #define FLF 0x08 /* cmd: flush dma fifo */ | ||
| 739 | #define CLF 0x04 /* cmd: clear dma fifo */ | ||
| 740 | #define FM 0x02 /* mod: fetch pin mode */ | ||
| 741 | #define WRIE 0x01 /* mod: write and invalidate enable */ | ||
| 742 | /* bits 4-7 rsvd for C1010 */ | ||
| 743 | |||
| 744 | /*1c*/ u32 nc_temp; /* ### Temporary stack */ | ||
| 745 | |||
| 746 | /*20*/ u8 nc_dfifo; | ||
| 747 | /*21*/ u8 nc_ctest4; | ||
| 748 | #define MUX 0x80 /* 720 host bus multiplex mode */ | ||
| 749 | #define BDIS 0x80 /* mod: burst disable */ | ||
| 750 | #define MPEE 0x08 /* mod: master parity error enable */ | ||
| 751 | |||
| 752 | /*22*/ u8 nc_ctest5; | ||
| 753 | #define DFS 0x20 /* mod: dma fifo size */ | ||
| 754 | /* bits 0-1, 3-7 rsvd for C1010 */ | ||
| 755 | /*23*/ u8 nc_ctest6; | ||
| 756 | |||
| 757 | /*24*/ u32 nc_dbc; /* ### Byte count and command */ | ||
| 758 | /*28*/ u32 nc_dnad; /* ### Next command register */ | ||
| 759 | /*2c*/ u32 nc_dsp; /* --> Script Pointer */ | ||
| 760 | /*30*/ u32 nc_dsps; /* --> Script pointer save/opcode#2 */ | ||
| 761 | |||
| 762 | /*34*/ u8 nc_scratcha; /* Temporary register a */ | ||
| 763 | /*35*/ u8 nc_scratcha1; | ||
| 764 | /*36*/ u8 nc_scratcha2; | ||
| 765 | /*37*/ u8 nc_scratcha3; | ||
| 766 | |||
| 767 | /*38*/ u8 nc_dmode; | ||
| 768 | #define BL_2 0x80 /* mod: burst length shift value +2 */ | ||
| 769 | #define BL_1 0x40 /* mod: burst length shift value +1 */ | ||
| 770 | #define ERL 0x08 /* mod: enable read line */ | ||
| 771 | #define ERMP 0x04 /* mod: enable read multiple */ | ||
| 772 | #define BOF 0x02 /* mod: burst op code fetch */ | ||
| 773 | |||
| 774 | /*39*/ u8 nc_dien; | ||
| 775 | /*3a*/ u8 nc_sbr; | ||
| 776 | |||
| 777 | /*3b*/ u8 nc_dcntl; /* --> Script execution control */ | ||
| 778 | #define CLSE 0x80 /* mod: cache line size enable */ | ||
| 779 | #define PFF 0x40 /* cmd: pre-fetch flush */ | ||
| 780 | #define PFEN 0x20 /* mod: pre-fetch enable */ | ||
| 781 | #define EA 0x20 /* mod: 720 enable-ack */ | ||
| 782 | #define SSM 0x10 /* mod: single step mode */ | ||
| 783 | #define IRQM 0x08 /* mod: irq mode (1 = totem pole !) */ | ||
| 784 | #define STD 0x04 /* cmd: start dma mode */ | ||
| 785 | #define IRQD 0x02 /* mod: irq disable */ | ||
| 786 | #define NOCOM 0x01 /* cmd: protect sfbr while reselect */ | ||
| 787 | /* bits 0-1 rsvd for C1010 */ | ||
| 788 | |||
| 789 | /*3c*/ u32 nc_adder; | ||
| 790 | |||
| 791 | /*40*/ u16 nc_sien; /* -->: interrupt enable */ | ||
| 792 | /*42*/ u16 nc_sist; /* <--: interrupt status */ | ||
| 793 | #define SBMC 0x1000/* sta: SCSI Bus Mode Change (895/6 only) */ | ||
| 794 | #define STO 0x0400/* sta: timeout (select) */ | ||
| 795 | #define GEN 0x0200/* sta: timeout (general) */ | ||
| 796 | #define HTH 0x0100/* sta: timeout (handshake) */ | ||
| 797 | #define MA 0x80 /* sta: phase mismatch */ | ||
| 798 | #define CMP 0x40 /* sta: arbitration complete */ | ||
| 799 | #define SEL 0x20 /* sta: selected by another device */ | ||
| 800 | #define RSL 0x10 /* sta: reselected by another device*/ | ||
| 801 | #define SGE 0x08 /* sta: gross error (over/underflow)*/ | ||
| 802 | #define UDC 0x04 /* sta: unexpected disconnect */ | ||
| 803 | #define RST 0x02 /* sta: scsi bus reset detected */ | ||
| 804 | #define PAR 0x01 /* sta: scsi parity error */ | ||
| 805 | |||
| 806 | /*44*/ u8 nc_slpar; | ||
| 807 | /*45*/ u8 nc_swide; | ||
| 808 | /*46*/ u8 nc_macntl; | ||
| 809 | /*47*/ u8 nc_gpcntl; | ||
| 810 | /*48*/ u8 nc_stime0; /* cmd: timeout for select&handshake*/ | ||
| 811 | /*49*/ u8 nc_stime1; /* cmd: timeout user defined */ | ||
| 812 | /*4a*/ u16 nc_respid; /* sta: Reselect-IDs */ | ||
| 813 | |||
| 814 | /*4c*/ u8 nc_stest0; | ||
| 815 | |||
| 816 | /*4d*/ u8 nc_stest1; | ||
| 817 | #define SCLK 0x80 /* Use the PCI clock as SCSI clock */ | ||
| 818 | #define DBLEN 0x08 /* clock doubler running */ | ||
| 819 | #define DBLSEL 0x04 /* clock doubler selected */ | ||
| 820 | |||
| 821 | |||
| 822 | /*4e*/ u8 nc_stest2; | ||
| 823 | #define ROF 0x40 /* reset scsi offset (after gross error!) */ | ||
| 824 | #define DIF 0x20 /* 720 SCSI differential mode */ | ||
| 825 | #define EXT 0x02 /* extended filtering */ | ||
| 826 | |||
| 827 | /*4f*/ u8 nc_stest3; | ||
| 828 | #define TE 0x80 /* c: tolerAnt enable */ | ||
| 829 | #define HSC 0x20 /* c: Halt SCSI Clock */ | ||
| 830 | #define CSF 0x02 /* c: clear scsi fifo */ | ||
| 831 | |||
| 832 | /*50*/ u16 nc_sidl; /* Lowlevel: latched from scsi data */ | ||
| 833 | /*52*/ u8 nc_stest4; | ||
| 834 | #define SMODE 0xc0 /* SCSI bus mode (895/6 only) */ | ||
| 835 | #define SMODE_HVD 0x40 /* High Voltage Differential */ | ||
| 836 | #define SMODE_SE 0x80 /* Single Ended */ | ||
| 837 | #define SMODE_LVD 0xc0 /* Low Voltage Differential */ | ||
| 838 | #define LCKFRQ 0x20 /* Frequency Lock (895/6 only) */ | ||
| 839 | /* bits 0-5 rsvd for C1010 */ | ||
| 840 | |||
| 841 | /*53*/ u8 nc_53_; | ||
| 842 | /*54*/ u16 nc_sodl; /* Lowlevel: data out to scsi data */ | ||
| 843 | /*56*/ u8 nc_ccntl0; /* Chip Control 0 (896) */ | ||
| 844 | #define ENPMJ 0x80 /* Enable Phase Mismatch Jump */ | ||
| 845 | #define PMJCTL 0x40 /* Phase Mismatch Jump Control */ | ||
| 846 | #define ENNDJ 0x20 /* Enable Non Data PM Jump */ | ||
| 847 | #define DISFC 0x10 /* Disable Auto FIFO Clear */ | ||
| 848 | #define DILS 0x02 /* Disable Internal Load/Store */ | ||
| 849 | #define DPR 0x01 /* Disable Pipe Req */ | ||
| 850 | |||
| 851 | /*57*/ u8 nc_ccntl1; /* Chip Control 1 (896) */ | ||
| 852 | #define ZMOD 0x80 /* High Impedance Mode */ | ||
| 853 | #define DIC 0x10 /* Disable Internal Cycles */ | ||
| 854 | #define DDAC 0x08 /* Disable Dual Address Cycle */ | ||
| 855 | #define XTIMOD 0x04 /* 64-bit Table Ind. Indexing Mode */ | ||
| 856 | #define EXTIBMV 0x02 /* Enable 64-bit Table Ind. BMOV */ | ||
| 857 | #define EXDBMV 0x01 /* Enable 64-bit Direct BMOV */ | ||
| 858 | |||
| 859 | /*58*/ u16 nc_sbdl; /* Lowlevel: data from scsi data */ | ||
| 860 | /*5a*/ u16 nc_5a_; | ||
| 861 | |||
| 862 | /*5c*/ u8 nc_scr0; /* Working register B */ | ||
| 863 | /*5d*/ u8 nc_scr1; /* */ | ||
| 864 | /*5e*/ u8 nc_scr2; /* */ | ||
| 865 | /*5f*/ u8 nc_scr3; /* */ | ||
| 866 | |||
| 867 | /*60*/ u8 nc_scrx[64]; /* Working register C-R */ | ||
| 868 | /*a0*/ u32 nc_mmrs; /* Memory Move Read Selector */ | ||
| 869 | /*a4*/ u32 nc_mmws; /* Memory Move Write Selector */ | ||
| 870 | /*a8*/ u32 nc_sfs; /* Script Fetch Selector */ | ||
| 871 | /*ac*/ u32 nc_drs; /* DSA Relative Selector */ | ||
| 872 | /*b0*/ u32 nc_sbms; /* Static Block Move Selector */ | ||
| 873 | /*b4*/ u32 nc_dbms; /* Dynamic Block Move Selector */ | ||
| 874 | /*b8*/ u32 nc_dnad64; /* DMA Next Address 64 */ | ||
| 875 | /*bc*/ u16 nc_scntl4; /* C1010 only */ | ||
| 876 | #define U3EN 0x80 /* Enable Ultra 3 */ | ||
| 877 | #define AIPEN 0x40 /* Allow check upper byte lanes */ | ||
| 878 | #define XCLKH_DT 0x08 /* Extra clock of data hold on DT | ||
| 879 | transfer edge */ | ||
| 880 | #define XCLKH_ST 0x04 /* Extra clock of data hold on ST | ||
| 881 | transfer edge */ | ||
| 882 | |||
| 883 | /*be*/ u8 nc_aipcntl0; /* Epat Control 1 C1010 only */ | ||
| 884 | /*bf*/ u8 nc_aipcntl1; /* AIP Control C1010_66 Only */ | ||
| 885 | |||
| 886 | /*c0*/ u32 nc_pmjad1; /* Phase Mismatch Jump Address 1 */ | ||
| 887 | /*c4*/ u32 nc_pmjad2; /* Phase Mismatch Jump Address 2 */ | ||
| 888 | /*c8*/ u8 nc_rbc; /* Remaining Byte Count */ | ||
| 889 | /*c9*/ u8 nc_rbc1; /* */ | ||
| 890 | /*ca*/ u8 nc_rbc2; /* */ | ||
| 891 | /*cb*/ u8 nc_rbc3; /* */ | ||
| 892 | |||
| 893 | /*cc*/ u8 nc_ua; /* Updated Address */ | ||
| 894 | /*cd*/ u8 nc_ua1; /* */ | ||
| 895 | /*ce*/ u8 nc_ua2; /* */ | ||
| 896 | /*cf*/ u8 nc_ua3; /* */ | ||
| 897 | /*d0*/ u32 nc_esa; /* Entry Storage Address */ | ||
| 898 | /*d4*/ u8 nc_ia; /* Instruction Address */ | ||
| 899 | /*d5*/ u8 nc_ia1; | ||
| 900 | /*d6*/ u8 nc_ia2; | ||
| 901 | /*d7*/ u8 nc_ia3; | ||
| 902 | /*d8*/ u32 nc_sbc; /* SCSI Byte Count (3 bytes only) */ | ||
| 903 | /*dc*/ u32 nc_csbc; /* Cumulative SCSI Byte Count */ | ||
| 904 | |||
| 905 | /* Following for C1010 only */ | ||
| 906 | /*e0*/ u16 nc_crcpad; /* CRC Value */ | ||
| 907 | /*e2*/ u8 nc_crccntl0; /* CRC control register */ | ||
| 908 | #define SNDCRC 0x10 /* Send CRC Request */ | ||
| 909 | /*e3*/ u8 nc_crccntl1; /* CRC control register */ | ||
| 910 | /*e4*/ u32 nc_crcdata; /* CRC data register */ | ||
| 911 | /*e8*/ u32 nc_e8_; /* rsvd */ | ||
| 912 | /*ec*/ u32 nc_ec_; /* rsvd */ | ||
| 913 | /*f0*/ u16 nc_dfbc; /* DMA FIFO byte count */ | ||
| 914 | |||
| 915 | }; | ||
| 916 | |||
| 917 | /*----------------------------------------------------------- | ||
| 918 | ** | ||
| 919 | ** Utility macros for the script. | ||
| 920 | ** | ||
| 921 | **----------------------------------------------------------- | ||
| 922 | */ | ||
| 923 | |||
| 924 | #define REGJ(p,r) (offsetof(struct ncr_reg, p ## r)) | ||
| 925 | #define REG(r) REGJ (nc_, r) | ||
| 926 | |||
| 927 | typedef u32 ncrcmd; | ||
| 928 | |||
| 929 | /*----------------------------------------------------------- | ||
| 930 | ** | ||
| 931 | ** SCSI phases | ||
| 932 | ** | ||
| 933 | ** DT phases illegal for ncr driver. | ||
| 934 | ** | ||
| 935 | **----------------------------------------------------------- | ||
| 936 | */ | ||
| 937 | |||
| 938 | #define SCR_DATA_OUT 0x00000000 | ||
| 939 | #define SCR_DATA_IN 0x01000000 | ||
| 940 | #define SCR_COMMAND 0x02000000 | ||
| 941 | #define SCR_STATUS 0x03000000 | ||
| 942 | #define SCR_DT_DATA_OUT 0x04000000 | ||
| 943 | #define SCR_DT_DATA_IN 0x05000000 | ||
| 944 | #define SCR_MSG_OUT 0x06000000 | ||
| 945 | #define SCR_MSG_IN 0x07000000 | ||
| 946 | |||
| 947 | #define SCR_ILG_OUT 0x04000000 | ||
| 948 | #define SCR_ILG_IN 0x05000000 | ||
| 949 | |||
| 950 | /*----------------------------------------------------------- | ||
| 951 | ** | ||
| 952 | ** Data transfer via SCSI. | ||
| 953 | ** | ||
| 954 | **----------------------------------------------------------- | ||
| 955 | ** | ||
| 956 | ** MOVE_ABS (LEN) | ||
| 957 | ** <<start address>> | ||
| 958 | ** | ||
| 959 | ** MOVE_IND (LEN) | ||
| 960 | ** <<dnad_offset>> | ||
| 961 | ** | ||
| 962 | ** MOVE_TBL | ||
| 963 | ** <<dnad_offset>> | ||
| 964 | ** | ||
| 965 | **----------------------------------------------------------- | ||
| 966 | */ | ||
| 967 | |||
| 968 | #define OPC_MOVE 0x08000000 | ||
| 969 | |||
| 970 | #define SCR_MOVE_ABS(l) ((0x00000000 | OPC_MOVE) | (l)) | ||
| 971 | #define SCR_MOVE_IND(l) ((0x20000000 | OPC_MOVE) | (l)) | ||
| 972 | #define SCR_MOVE_TBL (0x10000000 | OPC_MOVE) | ||
| 973 | |||
| 974 | #define SCR_CHMOV_ABS(l) ((0x00000000) | (l)) | ||
| 975 | #define SCR_CHMOV_IND(l) ((0x20000000) | (l)) | ||
| 976 | #define SCR_CHMOV_TBL (0x10000000) | ||
| 977 | |||
| 978 | struct scr_tblmove { | ||
| 979 | u32 size; | ||
| 980 | u32 addr; | ||
| 981 | }; | ||
| 982 | |||
| 983 | /*----------------------------------------------------------- | ||
| 984 | ** | ||
| 985 | ** Selection | ||
| 986 | ** | ||
| 987 | **----------------------------------------------------------- | ||
| 988 | ** | ||
| 989 | ** SEL_ABS | SCR_ID (0..15) [ | REL_JMP] | ||
| 990 | ** <<alternate_address>> | ||
| 991 | ** | ||
| 992 | ** SEL_TBL | << dnad_offset>> [ | REL_JMP] | ||
| 993 | ** <<alternate_address>> | ||
| 994 | ** | ||
| 995 | **----------------------------------------------------------- | ||
| 996 | */ | ||
| 997 | |||
| 998 | #define SCR_SEL_ABS 0x40000000 | ||
| 999 | #define SCR_SEL_ABS_ATN 0x41000000 | ||
| 1000 | #define SCR_SEL_TBL 0x42000000 | ||
| 1001 | #define SCR_SEL_TBL_ATN 0x43000000 | ||
| 1002 | |||
| 1003 | |||
| 1004 | #ifdef SCSI_NCR_BIG_ENDIAN | ||
| 1005 | struct scr_tblsel { | ||
| 1006 | u8 sel_scntl3; | ||
| 1007 | u8 sel_id; | ||
| 1008 | u8 sel_sxfer; | ||
| 1009 | u8 sel_scntl4; | ||
| 1010 | }; | ||
| 1011 | #else | ||
| 1012 | struct scr_tblsel { | ||
| 1013 | u8 sel_scntl4; | ||
| 1014 | u8 sel_sxfer; | ||
| 1015 | u8 sel_id; | ||
| 1016 | u8 sel_scntl3; | ||
| 1017 | }; | ||
| 1018 | #endif | ||
| 1019 | |||
| 1020 | #define SCR_JMP_REL 0x04000000 | ||
| 1021 | #define SCR_ID(id) (((u32)(id)) << 16) | ||
| 1022 | |||
| 1023 | /*----------------------------------------------------------- | ||
| 1024 | ** | ||
| 1025 | ** Waiting for Disconnect or Reselect | ||
| 1026 | ** | ||
| 1027 | **----------------------------------------------------------- | ||
| 1028 | ** | ||
| 1029 | ** WAIT_DISC | ||
| 1030 | ** dummy: <<alternate_address>> | ||
| 1031 | ** | ||
| 1032 | ** WAIT_RESEL | ||
| 1033 | ** <<alternate_address>> | ||
| 1034 | ** | ||
| 1035 | **----------------------------------------------------------- | ||
| 1036 | */ | ||
| 1037 | |||
| 1038 | #define SCR_WAIT_DISC 0x48000000 | ||
| 1039 | #define SCR_WAIT_RESEL 0x50000000 | ||
| 1040 | |||
| 1041 | /*----------------------------------------------------------- | ||
| 1042 | ** | ||
| 1043 | ** Bit Set / Reset | ||
| 1044 | ** | ||
| 1045 | **----------------------------------------------------------- | ||
| 1046 | ** | ||
| 1047 | ** SET (flags {|.. }) | ||
| 1048 | ** | ||
| 1049 | ** CLR (flags {|.. }) | ||
| 1050 | ** | ||
| 1051 | **----------------------------------------------------------- | ||
| 1052 | */ | ||
| 1053 | |||
| 1054 | #define SCR_SET(f) (0x58000000 | (f)) | ||
| 1055 | #define SCR_CLR(f) (0x60000000 | (f)) | ||
| 1056 | |||
| 1057 | #define SCR_CARRY 0x00000400 | ||
| 1058 | #define SCR_TRG 0x00000200 | ||
| 1059 | #define SCR_ACK 0x00000040 | ||
| 1060 | #define SCR_ATN 0x00000008 | ||
| 1061 | |||
| 1062 | |||
| 1063 | |||
| 1064 | |||
| 1065 | /*----------------------------------------------------------- | ||
| 1066 | ** | ||
| 1067 | ** Memory to memory move | ||
| 1068 | ** | ||
| 1069 | **----------------------------------------------------------- | ||
| 1070 | ** | ||
| 1071 | ** COPY (bytecount) | ||
| 1072 | ** << source_address >> | ||
| 1073 | ** << destination_address >> | ||
| 1074 | ** | ||
| 1075 | ** SCR_COPY sets the NO FLUSH option by default. | ||
| 1076 | ** SCR_COPY_F does not set this option. | ||
| 1077 | ** | ||
| 1078 | ** For chips which do not support this option, | ||
| 1079 | ** ncr_copy_and_bind() will remove this bit. | ||
| 1080 | **----------------------------------------------------------- | ||
| 1081 | */ | ||
| 1082 | |||
| 1083 | #define SCR_NO_FLUSH 0x01000000 | ||
| 1084 | |||
| 1085 | #define SCR_COPY(n) (0xc0000000 | SCR_NO_FLUSH | (n)) | ||
| 1086 | #define SCR_COPY_F(n) (0xc0000000 | (n)) | ||
| 1087 | |||
| 1088 | /*----------------------------------------------------------- | ||
| 1089 | ** | ||
| 1090 | ** Register move and binary operations | ||
| 1091 | ** | ||
| 1092 | **----------------------------------------------------------- | ||
| 1093 | ** | ||
| 1094 | ** SFBR_REG (reg, op, data) reg = SFBR op data | ||
| 1095 | ** << 0 >> | ||
| 1096 | ** | ||
| 1097 | ** REG_SFBR (reg, op, data) SFBR = reg op data | ||
| 1098 | ** << 0 >> | ||
| 1099 | ** | ||
| 1100 | ** REG_REG (reg, op, data) reg = reg op data | ||
| 1101 | ** << 0 >> | ||
| 1102 | ** | ||
| 1103 | **----------------------------------------------------------- | ||
| 1104 | ** On 810A, 860, 825A, 875, 895 and 896 chips the content | ||
| 1105 | ** of SFBR register can be used as data (SCR_SFBR_DATA). | ||
| 1106 | ** The 896 has additionnal IO registers starting at | ||
| 1107 | ** offset 0x80. Bit 7 of register offset is stored in | ||
| 1108 | ** bit 7 of the SCRIPTS instruction first DWORD. | ||
| 1109 | **----------------------------------------------------------- | ||
| 1110 | */ | ||
| 1111 | |||
| 1112 | #define SCR_REG_OFS(ofs) ((((ofs) & 0x7f) << 16ul) + ((ofs) & 0x80)) | ||
| 1113 | |||
| 1114 | #define SCR_SFBR_REG(reg,op,data) \ | ||
| 1115 | (0x68000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1116 | |||
| 1117 | #define SCR_REG_SFBR(reg,op,data) \ | ||
| 1118 | (0x70000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1119 | |||
| 1120 | #define SCR_REG_REG(reg,op,data) \ | ||
| 1121 | (0x78000000 | (SCR_REG_OFS(REG(reg))) | (op) | (((data)&0xff)<<8ul)) | ||
| 1122 | |||
| 1123 | |||
| 1124 | #define SCR_LOAD 0x00000000 | ||
| 1125 | #define SCR_SHL 0x01000000 | ||
| 1126 | #define SCR_OR 0x02000000 | ||
| 1127 | #define SCR_XOR 0x03000000 | ||
| 1128 | #define SCR_AND 0x04000000 | ||
| 1129 | #define SCR_SHR 0x05000000 | ||
| 1130 | #define SCR_ADD 0x06000000 | ||
| 1131 | #define SCR_ADDC 0x07000000 | ||
| 1132 | |||
| 1133 | #define SCR_SFBR_DATA (0x00800000>>8ul) /* Use SFBR as data */ | ||
| 1134 | |||
| 1135 | /*----------------------------------------------------------- | ||
| 1136 | ** | ||
| 1137 | ** FROM_REG (reg) SFBR = reg | ||
| 1138 | ** << 0 >> | ||
| 1139 | ** | ||
| 1140 | ** TO_REG (reg) reg = SFBR | ||
| 1141 | ** << 0 >> | ||
| 1142 | ** | ||
| 1143 | ** LOAD_REG (reg, data) reg = <data> | ||
| 1144 | ** << 0 >> | ||
| 1145 | ** | ||
| 1146 | ** LOAD_SFBR(data) SFBR = <data> | ||
| 1147 | ** << 0 >> | ||
| 1148 | ** | ||
| 1149 | **----------------------------------------------------------- | ||
| 1150 | */ | ||
| 1151 | |||
| 1152 | #define SCR_FROM_REG(reg) \ | ||
| 1153 | SCR_REG_SFBR(reg,SCR_OR,0) | ||
| 1154 | |||
| 1155 | #define SCR_TO_REG(reg) \ | ||
| 1156 | SCR_SFBR_REG(reg,SCR_OR,0) | ||
| 1157 | |||
| 1158 | #define SCR_LOAD_REG(reg,data) \ | ||
| 1159 | SCR_REG_REG(reg,SCR_LOAD,data) | ||
| 1160 | |||
| 1161 | #define SCR_LOAD_SFBR(data) \ | ||
| 1162 | (SCR_REG_SFBR (gpreg, SCR_LOAD, data)) | ||
| 1163 | |||
| 1164 | /*----------------------------------------------------------- | ||
| 1165 | ** | ||
| 1166 | ** LOAD from memory to register. | ||
| 1167 | ** STORE from register to memory. | ||
| 1168 | ** | ||
| 1169 | ** Only supported by 810A, 860, 825A, 875, 895 and 896. | ||
| 1170 | ** | ||
| 1171 | **----------------------------------------------------------- | ||
| 1172 | ** | ||
| 1173 | ** LOAD_ABS (LEN) | ||
| 1174 | ** <<start address>> | ||
| 1175 | ** | ||
| 1176 | ** LOAD_REL (LEN) (DSA relative) | ||
| 1177 | ** <<dsa_offset>> | ||
| 1178 | ** | ||
| 1179 | **----------------------------------------------------------- | ||
| 1180 | */ | ||
| 1181 | |||
| 1182 | #define SCR_REG_OFS2(ofs) (((ofs) & 0xff) << 16ul) | ||
| 1183 | #define SCR_NO_FLUSH2 0x02000000 | ||
| 1184 | #define SCR_DSA_REL2 0x10000000 | ||
| 1185 | |||
| 1186 | #define SCR_LOAD_R(reg, how, n) \ | ||
| 1187 | (0xe1000000 | how | (SCR_REG_OFS2(REG(reg))) | (n)) | ||
| 1188 | |||
| 1189 | #define SCR_STORE_R(reg, how, n) \ | ||
| 1190 | (0xe0000000 | how | (SCR_REG_OFS2(REG(reg))) | (n)) | ||
| 1191 | |||
| 1192 | #define SCR_LOAD_ABS(reg, n) SCR_LOAD_R(reg, SCR_NO_FLUSH2, n) | ||
| 1193 | #define SCR_LOAD_REL(reg, n) SCR_LOAD_R(reg, SCR_NO_FLUSH2|SCR_DSA_REL2, n) | ||
| 1194 | #define SCR_LOAD_ABS_F(reg, n) SCR_LOAD_R(reg, 0, n) | ||
| 1195 | #define SCR_LOAD_REL_F(reg, n) SCR_LOAD_R(reg, SCR_DSA_REL2, n) | ||
| 1196 | |||
| 1197 | #define SCR_STORE_ABS(reg, n) SCR_STORE_R(reg, SCR_NO_FLUSH2, n) | ||
| 1198 | #define SCR_STORE_REL(reg, n) SCR_STORE_R(reg, SCR_NO_FLUSH2|SCR_DSA_REL2,n) | ||
| 1199 | #define SCR_STORE_ABS_F(reg, n) SCR_STORE_R(reg, 0, n) | ||
| 1200 | #define SCR_STORE_REL_F(reg, n) SCR_STORE_R(reg, SCR_DSA_REL2, n) | ||
| 1201 | |||
| 1202 | |||
| 1203 | /*----------------------------------------------------------- | ||
| 1204 | ** | ||
| 1205 | ** Waiting for Disconnect or Reselect | ||
| 1206 | ** | ||
| 1207 | **----------------------------------------------------------- | ||
| 1208 | ** | ||
| 1209 | ** JUMP [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1210 | ** <<address>> | ||
| 1211 | ** | ||
| 1212 | ** JUMPR [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1213 | ** <<distance>> | ||
| 1214 | ** | ||
| 1215 | ** CALL [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1216 | ** <<address>> | ||
| 1217 | ** | ||
| 1218 | ** CALLR [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1219 | ** <<distance>> | ||
| 1220 | ** | ||
| 1221 | ** RETURN [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1222 | ** <<dummy>> | ||
| 1223 | ** | ||
| 1224 | ** INT [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1225 | ** <<ident>> | ||
| 1226 | ** | ||
| 1227 | ** INT_FLY [ | IFTRUE/IFFALSE ( ... ) ] | ||
| 1228 | ** <<ident>> | ||
| 1229 | ** | ||
| 1230 | ** Conditions: | ||
| 1231 | ** WHEN (phase) | ||
| 1232 | ** IF (phase) | ||
| 1233 | ** CARRYSET | ||
| 1234 | ** DATA (data, mask) | ||
| 1235 | ** | ||
| 1236 | **----------------------------------------------------------- | ||
| 1237 | */ | ||
| 1238 | |||
| 1239 | #define SCR_NO_OP 0x80000000 | ||
| 1240 | #define SCR_JUMP 0x80080000 | ||
| 1241 | #define SCR_JUMP64 0x80480000 | ||
| 1242 | #define SCR_JUMPR 0x80880000 | ||
| 1243 | #define SCR_CALL 0x88080000 | ||
| 1244 | #define SCR_CALLR 0x88880000 | ||
| 1245 | #define SCR_RETURN 0x90080000 | ||
| 1246 | #define SCR_INT 0x98080000 | ||
| 1247 | #define SCR_INT_FLY 0x98180000 | ||
| 1248 | |||
| 1249 | #define IFFALSE(arg) (0x00080000 | (arg)) | ||
| 1250 | #define IFTRUE(arg) (0x00000000 | (arg)) | ||
| 1251 | |||
| 1252 | #define WHEN(phase) (0x00030000 | (phase)) | ||
| 1253 | #define IF(phase) (0x00020000 | (phase)) | ||
| 1254 | |||
| 1255 | #define DATA(D) (0x00040000 | ((D) & 0xff)) | ||
| 1256 | #define MASK(D,M) (0x00040000 | (((M ^ 0xff) & 0xff) << 8ul)|((D) & 0xff)) | ||
| 1257 | |||
| 1258 | #define CARRYSET (0x00200000) | ||
| 1259 | |||
| 1260 | /*----------------------------------------------------------- | ||
| 1261 | ** | ||
| 1262 | ** SCSI constants. | ||
| 1263 | ** | ||
| 1264 | **----------------------------------------------------------- | ||
| 1265 | */ | ||
| 1266 | |||
| 1267 | /* | ||
| 1268 | ** Messages | ||
| 1269 | */ | ||
| 1270 | |||
| 1271 | #define M_COMPLETE COMMAND_COMPLETE | ||
| 1272 | #define M_EXTENDED EXTENDED_MESSAGE | ||
| 1273 | #define M_SAVE_DP SAVE_POINTERS | ||
| 1274 | #define M_RESTORE_DP RESTORE_POINTERS | ||
| 1275 | #define M_DISCONNECT DISCONNECT | ||
| 1276 | #define M_ID_ERROR INITIATOR_ERROR | ||
| 1277 | #define M_ABORT ABORT_TASK_SET | ||
| 1278 | #define M_REJECT MESSAGE_REJECT | ||
| 1279 | #define M_NOOP NOP | ||
| 1280 | #define M_PARITY MSG_PARITY_ERROR | ||
| 1281 | #define M_LCOMPLETE LINKED_CMD_COMPLETE | ||
| 1282 | #define M_FCOMPLETE LINKED_FLG_CMD_COMPLETE | ||
| 1283 | #define M_RESET TARGET_RESET | ||
| 1284 | #define M_ABORT_TAG ABORT_TASK | ||
| 1285 | #define M_CLEAR_QUEUE CLEAR_TASK_SET | ||
| 1286 | #define M_INIT_REC INITIATE_RECOVERY | ||
| 1287 | #define M_REL_REC RELEASE_RECOVERY | ||
| 1288 | #define M_TERMINATE (0x11) | ||
| 1289 | #define M_SIMPLE_TAG SIMPLE_QUEUE_TAG | ||
| 1290 | #define M_HEAD_TAG HEAD_OF_QUEUE_TAG | ||
| 1291 | #define M_ORDERED_TAG ORDERED_QUEUE_TAG | ||
| 1292 | #define M_IGN_RESIDUE IGNORE_WIDE_RESIDUE | ||
| 1293 | #define M_IDENTIFY (0x80) | ||
| 1294 | |||
| 1295 | #define M_X_MODIFY_DP EXTENDED_MODIFY_DATA_POINTER | ||
| 1296 | #define M_X_SYNC_REQ EXTENDED_SDTR | ||
| 1297 | #define M_X_WIDE_REQ EXTENDED_WDTR | ||
| 1298 | #define M_X_PPR_REQ EXTENDED_PPR | ||
| 1299 | |||
| 1300 | /* | ||
| 1301 | ** Status | ||
| 1302 | */ | ||
| 1303 | |||
| 1304 | #define S_GOOD (0x00) | ||
| 1305 | #define S_CHECK_COND (0x02) | ||
| 1306 | #define S_COND_MET (0x04) | ||
| 1307 | #define S_BUSY (0x08) | ||
| 1308 | #define S_INT (0x10) | ||
| 1309 | #define S_INT_COND_MET (0x14) | ||
| 1310 | #define S_CONFLICT (0x18) | ||
| 1311 | #define S_TERMINATED (0x20) | ||
| 1312 | #define S_QUEUE_FULL (0x28) | ||
| 1313 | #define S_ILLEGAL (0xff) | ||
| 1314 | #define S_SENSE (0x80) | ||
| 1315 | |||
| 1316 | /* | ||
| 1317 | * End of ncrreg from FreeBSD | ||
| 1318 | */ | ||
| 1319 | |||
| 1320 | #endif /* defined SYM53C8XX_DEFS_H */ | ||
| @@ -313,7 +313,8 @@ int bio_get_nr_vecs(struct block_device *bdev) | |||
| 313 | } | 313 | } |
| 314 | 314 | ||
| 315 | static int __bio_add_page(request_queue_t *q, struct bio *bio, struct page | 315 | static int __bio_add_page(request_queue_t *q, struct bio *bio, struct page |
| 316 | *page, unsigned int len, unsigned int offset) | 316 | *page, unsigned int len, unsigned int offset, |
| 317 | unsigned short max_sectors) | ||
| 317 | { | 318 | { |
| 318 | int retried_segments = 0; | 319 | int retried_segments = 0; |
| 319 | struct bio_vec *bvec; | 320 | struct bio_vec *bvec; |
| @@ -327,7 +328,7 @@ static int __bio_add_page(request_queue_t *q, struct bio *bio, struct page | |||
| 327 | if (bio->bi_vcnt >= bio->bi_max_vecs) | 328 | if (bio->bi_vcnt >= bio->bi_max_vecs) |
| 328 | return 0; | 329 | return 0; |
| 329 | 330 | ||
| 330 | if (((bio->bi_size + len) >> 9) > q->max_sectors) | 331 | if (((bio->bi_size + len) >> 9) > max_sectors) |
| 331 | return 0; | 332 | return 0; |
| 332 | 333 | ||
| 333 | /* | 334 | /* |
| @@ -386,6 +387,25 @@ static int __bio_add_page(request_queue_t *q, struct bio *bio, struct page | |||
| 386 | } | 387 | } |
| 387 | 388 | ||
| 388 | /** | 389 | /** |
| 390 | * bio_add_pc_page - attempt to add page to bio | ||
| 391 | * @bio: destination bio | ||
| 392 | * @page: page to add | ||
| 393 | * @len: vec entry length | ||
| 394 | * @offset: vec entry offset | ||
| 395 | * | ||
| 396 | * Attempt to add a page to the bio_vec maplist. This can fail for a | ||
| 397 | * number of reasons, such as the bio being full or target block | ||
| 398 | * device limitations. The target block device must allow bio's | ||
| 399 | * smaller than PAGE_SIZE, so it is always possible to add a single | ||
| 400 | * page to an empty bio. This should only be used by REQ_PC bios. | ||
| 401 | */ | ||
| 402 | int bio_add_pc_page(request_queue_t *q, struct bio *bio, struct page *page, | ||
| 403 | unsigned int len, unsigned int offset) | ||
| 404 | { | ||
| 405 | return __bio_add_page(q, bio, page, len, offset, q->max_hw_sectors); | ||
| 406 | } | ||
| 407 | |||
| 408 | /** | ||
| 389 | * bio_add_page - attempt to add page to bio | 409 | * bio_add_page - attempt to add page to bio |
| 390 | * @bio: destination bio | 410 | * @bio: destination bio |
| 391 | * @page: page to add | 411 | * @page: page to add |
| @@ -401,8 +421,8 @@ static int __bio_add_page(request_queue_t *q, struct bio *bio, struct page | |||
| 401 | int bio_add_page(struct bio *bio, struct page *page, unsigned int len, | 421 | int bio_add_page(struct bio *bio, struct page *page, unsigned int len, |
| 402 | unsigned int offset) | 422 | unsigned int offset) |
| 403 | { | 423 | { |
| 404 | return __bio_add_page(bdev_get_queue(bio->bi_bdev), bio, page, | 424 | struct request_queue *q = bdev_get_queue(bio->bi_bdev); |
| 405 | len, offset); | 425 | return __bio_add_page(q, bio, page, len, offset, q->max_sectors); |
| 406 | } | 426 | } |
| 407 | 427 | ||
| 408 | struct bio_map_data { | 428 | struct bio_map_data { |
| @@ -514,7 +534,7 @@ struct bio *bio_copy_user(request_queue_t *q, unsigned long uaddr, | |||
| 514 | break; | 534 | break; |
| 515 | } | 535 | } |
| 516 | 536 | ||
| 517 | if (__bio_add_page(q, bio, page, bytes, 0) < bytes) { | 537 | if (bio_add_pc_page(q, bio, page, bytes, 0) < bytes) { |
| 518 | ret = -EINVAL; | 538 | ret = -EINVAL; |
| 519 | break; | 539 | break; |
| 520 | } | 540 | } |
| @@ -628,7 +648,8 @@ static struct bio *__bio_map_user_iov(request_queue_t *q, | |||
| 628 | /* | 648 | /* |
| 629 | * sorry... | 649 | * sorry... |
| 630 | */ | 650 | */ |
| 631 | if (__bio_add_page(q, bio, pages[j], bytes, offset) < bytes) | 651 | if (bio_add_pc_page(q, bio, pages[j], bytes, offset) < |
| 652 | bytes) | ||
| 632 | break; | 653 | break; |
| 633 | 654 | ||
| 634 | len -= bytes; | 655 | len -= bytes; |
| @@ -801,8 +822,8 @@ static struct bio *__bio_map_kern(request_queue_t *q, void *data, | |||
| 801 | if (bytes > len) | 822 | if (bytes > len) |
| 802 | bytes = len; | 823 | bytes = len; |
| 803 | 824 | ||
| 804 | if (__bio_add_page(q, bio, virt_to_page(data), bytes, | 825 | if (bio_add_pc_page(q, bio, virt_to_page(data), bytes, |
| 805 | offset) < bytes) | 826 | offset) < bytes) |
| 806 | break; | 827 | break; |
| 807 | 828 | ||
| 808 | data += bytes; | 829 | data += bytes; |
| @@ -1228,6 +1249,7 @@ EXPORT_SYMBOL(bio_clone); | |||
| 1228 | EXPORT_SYMBOL(bio_phys_segments); | 1249 | EXPORT_SYMBOL(bio_phys_segments); |
| 1229 | EXPORT_SYMBOL(bio_hw_segments); | 1250 | EXPORT_SYMBOL(bio_hw_segments); |
| 1230 | EXPORT_SYMBOL(bio_add_page); | 1251 | EXPORT_SYMBOL(bio_add_page); |
| 1252 | EXPORT_SYMBOL(bio_add_pc_page); | ||
| 1231 | EXPORT_SYMBOL(bio_get_nr_vecs); | 1253 | EXPORT_SYMBOL(bio_get_nr_vecs); |
| 1232 | EXPORT_SYMBOL(bio_map_user); | 1254 | EXPORT_SYMBOL(bio_map_user); |
| 1233 | EXPORT_SYMBOL(bio_unmap_user); | 1255 | EXPORT_SYMBOL(bio_unmap_user); |
diff --git a/include/linux/bio.h b/include/linux/bio.h index 685fd3720df5..b60ffe32cd21 100644 --- a/include/linux/bio.h +++ b/include/linux/bio.h | |||
| @@ -292,6 +292,8 @@ extern struct bio *bio_clone(struct bio *, gfp_t); | |||
| 292 | extern void bio_init(struct bio *); | 292 | extern void bio_init(struct bio *); |
| 293 | 293 | ||
| 294 | extern int bio_add_page(struct bio *, struct page *, unsigned int,unsigned int); | 294 | extern int bio_add_page(struct bio *, struct page *, unsigned int,unsigned int); |
| 295 | extern int bio_add_pc_page(struct request_queue *, struct bio *, struct page *, | ||
| 296 | unsigned int, unsigned int); | ||
| 295 | extern int bio_get_nr_vecs(struct block_device *); | 297 | extern int bio_get_nr_vecs(struct block_device *); |
| 296 | extern struct bio *bio_map_user(struct request_queue *, struct block_device *, | 298 | extern struct bio *bio_map_user(struct request_queue *, struct block_device *, |
| 297 | unsigned long, unsigned int, int); | 299 | unsigned long, unsigned int, int); |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index a33a31e71bbc..a18500d196e1 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
| @@ -184,6 +184,7 @@ struct request { | |||
| 184 | void *sense; | 184 | void *sense; |
| 185 | 185 | ||
| 186 | unsigned int timeout; | 186 | unsigned int timeout; |
| 187 | int retries; | ||
| 187 | 188 | ||
| 188 | /* | 189 | /* |
| 189 | * For Power Management requests | 190 | * For Power Management requests |
| @@ -558,6 +559,7 @@ extern void blk_unregister_queue(struct gendisk *disk); | |||
| 558 | extern void register_disk(struct gendisk *dev); | 559 | extern void register_disk(struct gendisk *dev); |
| 559 | extern void generic_make_request(struct bio *bio); | 560 | extern void generic_make_request(struct bio *bio); |
| 560 | extern void blk_put_request(struct request *); | 561 | extern void blk_put_request(struct request *); |
| 562 | extern void __blk_put_request(request_queue_t *, struct request *); | ||
| 561 | extern void blk_end_sync_rq(struct request *rq); | 563 | extern void blk_end_sync_rq(struct request *rq); |
| 562 | extern void blk_attempt_remerge(request_queue_t *, struct request *); | 564 | extern void blk_attempt_remerge(request_queue_t *, struct request *); |
| 563 | extern struct request *blk_get_request(request_queue_t *, int, gfp_t); | 565 | extern struct request *blk_get_request(request_queue_t *, int, gfp_t); |
| @@ -579,6 +581,10 @@ extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned | |||
| 579 | extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int); | 581 | extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int); |
| 580 | extern int blk_execute_rq(request_queue_t *, struct gendisk *, | 582 | extern int blk_execute_rq(request_queue_t *, struct gendisk *, |
| 581 | struct request *, int); | 583 | struct request *, int); |
| 584 | extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *, | ||
| 585 | struct request *, int, | ||
| 586 | void (*done)(struct request *)); | ||
| 587 | |||
| 582 | static inline request_queue_t *bdev_get_queue(struct block_device *bdev) | 588 | static inline request_queue_t *bdev_get_queue(struct block_device *bdev) |
| 583 | { | 589 | { |
| 584 | return bdev->bd_disk->queue; | 590 | return bdev->bd_disk->queue; |
| @@ -696,7 +702,8 @@ extern int blkdev_issue_flush(struct block_device *, sector_t *); | |||
| 696 | 702 | ||
| 697 | #define MAX_PHYS_SEGMENTS 128 | 703 | #define MAX_PHYS_SEGMENTS 128 |
| 698 | #define MAX_HW_SEGMENTS 128 | 704 | #define MAX_HW_SEGMENTS 128 |
| 699 | #define MAX_SECTORS 255 | 705 | #define SAFE_MAX_SECTORS 255 |
| 706 | #define BLK_DEF_MAX_SECTORS 1024 | ||
| 700 | 707 | ||
| 701 | #define MAX_SEGMENT_SIZE 65536 | 708 | #define MAX_SEGMENT_SIZE 65536 |
| 702 | 709 | ||
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 4db67b3b05cc..a17e171384ef 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -15,6 +15,7 @@ | |||
| 15 | #define PCI_CLASS_STORAGE_FLOPPY 0x0102 | 15 | #define PCI_CLASS_STORAGE_FLOPPY 0x0102 |
| 16 | #define PCI_CLASS_STORAGE_IPI 0x0103 | 16 | #define PCI_CLASS_STORAGE_IPI 0x0103 |
| 17 | #define PCI_CLASS_STORAGE_RAID 0x0104 | 17 | #define PCI_CLASS_STORAGE_RAID 0x0104 |
| 18 | #define PCI_CLASS_STORAGE_SAS 0x0107 | ||
| 18 | #define PCI_CLASS_STORAGE_OTHER 0x0180 | 19 | #define PCI_CLASS_STORAGE_OTHER 0x0180 |
| 19 | 20 | ||
| 20 | #define PCI_BASE_CLASS_NETWORK 0x02 | 21 | #define PCI_BASE_CLASS_NETWORK 0x02 |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 20da282d4abb..41cfc29be899 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
| @@ -151,6 +151,6 @@ extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); | |||
| 151 | extern void scsi_put_command(struct scsi_cmnd *); | 151 | extern void scsi_put_command(struct scsi_cmnd *); |
| 152 | extern void scsi_io_completion(struct scsi_cmnd *, unsigned int, unsigned int); | 152 | extern void scsi_io_completion(struct scsi_cmnd *, unsigned int, unsigned int); |
| 153 | extern void scsi_finish_command(struct scsi_cmnd *cmd); | 153 | extern void scsi_finish_command(struct scsi_cmnd *cmd); |
| 154 | extern void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd, int retries); | 154 | extern void scsi_setup_blk_pc_cmnd(struct scsi_cmnd *cmd); |
| 155 | 155 | ||
| 156 | #endif /* _SCSI_SCSI_CMND_H */ | 156 | #endif /* _SCSI_SCSI_CMND_H */ |
diff --git a/include/scsi/scsi_dbg.h b/include/scsi/scsi_dbg.h index b090a11d7e1c..4d69dee66d4d 100644 --- a/include/scsi/scsi_dbg.h +++ b/include/scsi/scsi_dbg.h | |||
| @@ -16,7 +16,6 @@ extern void __scsi_print_sense(const char *name, | |||
| 16 | extern void scsi_print_driverbyte(int); | 16 | extern void scsi_print_driverbyte(int); |
| 17 | extern void scsi_print_hostbyte(int); | 17 | extern void scsi_print_hostbyte(int); |
| 18 | extern void scsi_print_status(unsigned char); | 18 | extern void scsi_print_status(unsigned char); |
| 19 | extern int scsi_print_msg(const unsigned char *); | ||
| 20 | extern const char *scsi_sense_key_string(unsigned char); | 19 | extern const char *scsi_sense_key_string(unsigned char); |
| 21 | extern const char *scsi_extd_sense_format(unsigned char, unsigned char); | 20 | extern const char *scsi_extd_sense_format(unsigned char, unsigned char); |
| 22 | 21 | ||
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h index 85cfd88461c8..e94ca4d36035 100644 --- a/include/scsi/scsi_device.h +++ b/include/scsi/scsi_device.h | |||
| @@ -79,9 +79,9 @@ struct scsi_device { | |||
| 79 | char inq_periph_qual; /* PQ from INQUIRY data */ | 79 | char inq_periph_qual; /* PQ from INQUIRY data */ |
| 80 | unsigned char inquiry_len; /* valid bytes in 'inquiry' */ | 80 | unsigned char inquiry_len; /* valid bytes in 'inquiry' */ |
| 81 | unsigned char * inquiry; /* INQUIRY response data */ | 81 | unsigned char * inquiry; /* INQUIRY response data */ |
| 82 | char * vendor; /* [back_compat] point into 'inquiry' ... */ | 82 | const char * vendor; /* [back_compat] point into 'inquiry' ... */ |
| 83 | char * model; /* ... after scan; point to static string */ | 83 | const char * model; /* ... after scan; point to static string */ |
| 84 | char * rev; /* ... "nullnullnullnull" before scan */ | 84 | const char * rev; /* ... "nullnullnullnull" before scan */ |
| 85 | unsigned char current_tag; /* current tag */ | 85 | unsigned char current_tag; /* current tag */ |
| 86 | struct scsi_target *sdev_target; /* used only for single_lun */ | 86 | struct scsi_target *sdev_target; /* used only for single_lun */ |
| 87 | 87 | ||
| @@ -274,6 +274,12 @@ extern int scsi_execute(struct scsi_device *sdev, const unsigned char *cmd, | |||
| 274 | extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, | 274 | extern int scsi_execute_req(struct scsi_device *sdev, const unsigned char *cmd, |
| 275 | int data_direction, void *buffer, unsigned bufflen, | 275 | int data_direction, void *buffer, unsigned bufflen, |
| 276 | struct scsi_sense_hdr *, int timeout, int retries); | 276 | struct scsi_sense_hdr *, int timeout, int retries); |
| 277 | extern int scsi_execute_async(struct scsi_device *sdev, | ||
| 278 | const unsigned char *cmd, int data_direction, | ||
| 279 | void *buffer, unsigned bufflen, int use_sg, | ||
| 280 | int timeout, int retries, void *privdata, | ||
| 281 | void (*done)(void *, char *, int, int), | ||
| 282 | gfp_t gfp); | ||
| 277 | 283 | ||
| 278 | static inline unsigned int sdev_channel(struct scsi_device *sdev) | 284 | static inline unsigned int sdev_channel(struct scsi_device *sdev) |
| 279 | { | 285 | { |
diff --git a/include/scsi/scsi_transport_spi.h b/include/scsi/scsi_transport_spi.h index 6bdc4afb2483..54a89611e9c5 100644 --- a/include/scsi/scsi_transport_spi.h +++ b/include/scsi/scsi_transport_spi.h | |||
| @@ -24,6 +24,9 @@ | |||
| 24 | #include <linux/transport_class.h> | 24 | #include <linux/transport_class.h> |
| 25 | 25 | ||
| 26 | struct scsi_transport_template; | 26 | struct scsi_transport_template; |
| 27 | struct scsi_target; | ||
| 28 | struct scsi_device; | ||
| 29 | struct Scsi_Host; | ||
| 27 | 30 | ||
| 28 | struct spi_transport_attrs { | 31 | struct spi_transport_attrs { |
| 29 | int period; /* value in the PPR/SDTR command */ | 32 | int period; /* value in the PPR/SDTR command */ |
| @@ -143,5 +146,6 @@ void spi_release_transport(struct scsi_transport_template *); | |||
| 143 | void spi_schedule_dv_device(struct scsi_device *); | 146 | void spi_schedule_dv_device(struct scsi_device *); |
| 144 | void spi_dv_device(struct scsi_device *); | 147 | void spi_dv_device(struct scsi_device *); |
| 145 | void spi_display_xfer_agreement(struct scsi_target *); | 148 | void spi_display_xfer_agreement(struct scsi_target *); |
| 149 | int spi_print_msg(const unsigned char *); | ||
| 146 | 150 | ||
| 147 | #endif /* SCSI_TRANSPORT_SPI_H */ | 151 | #endif /* SCSI_TRANSPORT_SPI_H */ |
