From 485e39a300330749488777f015487b73dcd8de14 Mon Sep 17 00:00:00 2001 From: Aaron Siddhartha Mondal Date: Sun, 28 Apr 2024 23:57:18 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=83=20ROCr-Runtime=206.0.2=20(#224)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also bumps rocm-device-libs to 6.0.2. --- ll/init.bzl | 14 +- patches/rocr-amd_trap_handler_v2.diff | 154 ----- patches/rocr-generated-files.diff | 838 ++++++++++++++++++++++++++ third-party-overlays/rocr.BUILD.bazel | 1 + 4 files changed, 846 insertions(+), 161 deletions(-) delete mode 100644 patches/rocr-amd_trap_handler_v2.diff create mode 100644 patches/rocr-generated-files.diff diff --git a/ll/init.bzl b/ll/init.bzl index 44af44c8..badc3416 100644 --- a/ll/init.bzl +++ b/ll/init.bzl @@ -93,13 +93,13 @@ def _initialize_rules_ll_impl(_): http_archive( name = "rocr", build_file = "@rules_ll//third-party-overlays:rocr.BUILD.bazel", - strip_prefix = "ROCR-Runtime-rocm-5.6.0", - integrity = "sha256-wI3YXp94ZZlSv89eTtOkIfensan+B5wOZdPdx6GOaj4=", + strip_prefix = "ROCR-Runtime-rocm-6.0.2", + integrity = "sha256-2M7DZm6qN0xas1UNOFAhhP0dckQEQFbJaMzrjAfuBL4=", urls = [ - "https://github.com/ROCm/ROCR-Runtime/archive/refs/tags/rocm-5.6.0.zip", + "https://github.com/ROCm/ROCR-Runtime/archive/refs/tags/rocm-6.0.2.zip", ], patches = [ - "@rules_ll//patches:rocr-amd_trap_handler_v2.diff", + "@rules_ll//patches:rocr-generated-files.diff", ], patch_args = ["-p1"], ) @@ -141,10 +141,10 @@ def _initialize_rules_ll_impl(_): http_archive( name = "rocm-device-libs", build_file = "@rules_ll//third-party-overlays:rocm-device-libs.BUILD.bazel", - integrity = "sha256-xLi76yCKqdkU+kpAzxt24nUv0wDHn+iX2EoWpOHVG6k=", - strip_prefix = "ROCm-Device-Libs-7fff8d33f591a24489222ee37560b0021f202316", + integrity = "sha256-Q2GrctM0GQjAnWDlFeiQXVIBHWS1xtzP+k9OWtgqGMM=", + strip_prefix = "ROCm-Device-Libs-rocm-6.0.2", urls = [ - "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/7fff8d33f591a24489222ee37560b0021f202316.zip", + "https://github.com/RadeonOpenCompute/ROCm-Device-Libs/archive/refs/tags/rocm-6.0.2.zip", ], ) diff --git a/patches/rocr-amd_trap_handler_v2.diff b/patches/rocr-amd_trap_handler_v2.diff deleted file mode 100644 index 0c69021b..00000000 --- a/patches/rocr-amd_trap_handler_v2.diff +++ /dev/null @@ -1,154 +0,0 @@ -diff --git a/src/core/runtime/amd_trap_handler_v2.h b/src/core/runtime/amd_trap_handler_v2.h -new file mode 100644 -index 0000000..d953536 ---- /dev/null -+++ b/src/core/runtime/amd_trap_handler_v2.h -@@ -0,0 +1,148 @@ -+//============================================================================== -+// This file is automatically generated during build process, don't modify it -+//============================================================================== -+ -+namespace rocr { -+namespace AMD { -+ -+unsigned char kCodeTrapHandlerV2_9[] = { -+ 0x6d, 0xff, 0xee, 0x92, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, -+ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, -+ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x4c, 0x00, 0x82, 0xbf, -+ 0x72, 0xff, 0x72, 0x89, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, -+ 0x6e, 0x99, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, 0x78, 0xff, 0xee, 0x92, -+ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, -+ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0xff, 0x00, 0xfe, 0xbe, -+ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, -+ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x00, 0xff, 0xbe, -+ 0x7e, 0xff, 0x6f, 0x86, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, -+ 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, -+ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x87, -+ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x86, -+ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, -+ 0x6e, 0x8c, 0x6e, 0x8e, 0x6e, 0x73, 0x6e, 0x86, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x92, -+ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x89, -+ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x87, -+ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfc, 0xbe, -+ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x6e, 0x00, 0xfc, 0xbe, -+ 0x6c, 0x00, 0xf3, 0xbe, 0x6d, 0xff, 0x6d, 0x86, 0xff, 0xff, 0x00, 0x00, -+ 0x6d, 0x87, 0x6d, 0x8e, 0x77, 0xff, 0x77, 0x89, 0x80, 0xff, 0x7f, 0x00, -+ 0x77, 0x6d, 0x77, 0x87, 0x00, 0x1c, 0xec, 0xbe, 0x6c, 0xff, 0x6c, 0x80, -+ 0x10, 0x00, 0x00, 0x00, 0x6d, 0x80, 0x6d, 0x82, 0x02, 0x00, 0x82, 0xbf, -+ 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf, 0x9e, 0x1a, 0xf2, 0xbe, -+ 0x8d, 0x1a, 0xf8, 0xbe, 0x77, 0x8b, 0x6e, 0x8f, 0x6e, 0xff, 0x6e, 0x86, -+ 0x00, 0x80, 0x1f, 0x00, 0x07, 0xf8, 0x6e, 0xb9, 0x7e, 0x7e, 0xfe, 0x86, -+ 0x6a, 0x6a, 0xea, 0x86, 0x02, 0xf8, 0x78, 0xb9, 0x6c, 0x1f, 0x80, 0xbe -+}; -+unsigned int kCodeTrapHandlerV2_9_len = 384; -+ -+ -+unsigned char kCodeTrapHandlerV2_1010[] = { -+ 0x6d, 0xff, 0xee, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, -+ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, -+ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x4c, 0x00, 0x82, 0xbf, -+ 0x72, 0xff, 0x72, 0x8a, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, -+ 0x6e, 0x99, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, 0x78, 0xff, 0xee, 0x93, -+ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, -+ 0x7e, 0x03, 0xee, 0xbe, 0x7f, 0x03, 0xef, 0xbe, 0xff, 0x03, 0xfe, 0xbe, -+ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, -+ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x03, 0xff, 0xbe, -+ 0x7e, 0xff, 0x6f, 0x87, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x03, 0xfe, 0xbe, -+ 0x03, 0xf8, 0x6e, 0xb9, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, -+ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x88, -+ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x87, -+ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0x73, 0xb9, -+ 0x6e, 0x8c, 0x6e, 0x8f, 0x6e, 0x73, 0x6e, 0x87, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x93, -+ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x8a, -+ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x88, -+ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x03, 0xee, 0xbe, 0x6f, 0x03, 0xfc, 0xbe, -+ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x6e, 0x03, 0xfc, 0xbe, -+ 0x6c, 0x03, 0xf3, 0xbe, 0x6d, 0xff, 0x6d, 0x87, 0xff, 0xff, 0x00, 0x00, -+ 0x6d, 0x87, 0x6d, 0x8f, 0x77, 0xff, 0x77, 0x8a, 0x80, 0xff, 0x7f, 0x00, -+ 0x77, 0x6d, 0x77, 0x88, 0x00, 0x1f, 0xec, 0xbe, 0x6c, 0xff, 0x6c, 0x80, -+ 0x10, 0x00, 0x00, 0x00, 0x6d, 0x80, 0x6d, 0x82, 0x02, 0x00, 0x82, 0xbf, -+ 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf, 0x9e, 0x1d, 0xf2, 0xbe, -+ 0x8d, 0x1d, 0xf8, 0xbe, 0x77, 0x89, 0x6e, 0x90, 0x6e, 0xff, 0x6f, 0x87, -+ 0x00, 0x80, 0x3f, 0x00, 0x77, 0x86, 0x6e, 0x90, 0x6e, 0xff, 0x6e, 0x87, -+ 0x00, 0x00, 0x00, 0x02, 0x6e, 0x6f, 0x6e, 0x88, 0x07, 0xf8, 0xee, 0xb9, -+ 0x7e, 0x7e, 0xfe, 0x87, 0x6a, 0x6a, 0xea, 0x87, 0x02, 0xf8, 0xf8, 0xb9, -+ 0x6c, 0x22, 0x80, 0xbe -+}; -+unsigned int kCodeTrapHandlerV2_1010_len = 400; -+ -+ -+unsigned char kCodeTrapHandlerV2_10[] = { -+ 0x6d, 0xff, 0xee, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, -+ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, -+ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x3f, 0x00, 0x82, 0xbf, -+ 0x72, 0xff, 0x72, 0x8a, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, -+ 0x6e, 0x99, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, 0x78, 0xff, 0xee, 0x93, -+ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, -+ 0x7e, 0x03, 0xee, 0xbe, 0x7f, 0x03, 0xef, 0xbe, 0xff, 0x03, 0xfe, 0xbe, -+ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, -+ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x03, 0xff, 0xbe, -+ 0x7e, 0xff, 0x6f, 0x87, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x03, 0xfe, 0xbe, -+ 0x03, 0xf8, 0x6e, 0xb9, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, -+ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x88, -+ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x87, -+ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0x73, 0xb9, -+ 0x6e, 0x8c, 0x6e, 0x8f, 0x6e, 0x73, 0x6e, 0x87, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x93, -+ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, -+ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x8a, -+ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x88, -+ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x03, 0xee, 0xbe, 0x6f, 0x03, 0xfc, 0xbe, -+ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x6e, 0x03, 0xfc, 0xbe, -+ 0x00, 0x00, 0x82, 0xbf, 0x9e, 0x1d, 0xf2, 0xbe, 0x8d, 0x1d, 0xf8, 0xbe, -+ 0x7e, 0x7e, 0xfe, 0x87, 0x6a, 0x6a, 0xea, 0x87, 0x02, 0xf8, 0xf8, 0xb9, -+ 0x6c, 0x22, 0x80, 0xbe -+}; -+unsigned int kCodeTrapHandlerV2_10_len = 316; -+ -+ -+unsigned char kCodeTrapHandlerV2_11[] = { -+ 0x6d, 0xff, 0x6e, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0xa1, 0xbf, -+ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0xa2, 0xbf, 0x6c, 0x84, 0x6c, 0x80, -+ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0xa1, 0xbf, -+ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0xa1, 0xbf, 0x3b, 0x00, 0xa0, 0xbf, -+ 0x72, 0xff, 0x72, 0x91, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x89, -+ 0x6e, 0x99, 0x6e, 0x84, 0x72, 0x6e, 0x72, 0x8c, 0x78, 0xff, 0x6e, 0x93, -+ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x84, 0x72, 0x6e, 0x72, 0x8c, -+ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0x80, 0x4c, 0xfe, 0xbe, -+ 0x07, 0xfc, 0x89, 0xbf, 0x6f, 0x00, 0xff, 0xbe, 0x7e, 0xff, 0x6f, 0x8b, -+ 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, 0x03, 0xf8, 0xee, 0xb8, -+ 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, -+ 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0xa0, 0xbf, 0x6e, 0x88, 0x0d, 0xbf, -+ 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x80, 0x00, 0x00, -+ 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, -+ 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x8b, 0x7f, 0x00, 0x00, 0x00, -+ 0x06, 0x00, 0xa1, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, 0x6e, 0x8c, 0x6e, 0x84, -+ 0x6e, 0x73, 0x6e, 0x8b, 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, -+ 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0x6e, 0x93, 0x19, 0x00, 0x04, 0x00, -+ 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, -+ 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x91, 0xff, 0x03, 0x00, 0x00, -+ 0x02, 0x00, 0xa2, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x08, 0x00, 0x00, -+ 0x7d, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfd, 0xbe, 0x00, 0x00, 0x80, 0xbf, -+ 0x01, 0x00, 0xb6, 0xbf, 0x6e, 0x00, 0xfd, 0xbe, 0x00, 0x00, 0xa0, 0xbf, -+ 0x9e, 0x12, 0xf2, 0xbe, 0x8d, 0x12, 0xf8, 0xbe, 0x7e, 0x7e, 0xfe, 0x8b, -+ 0x6a, 0x6a, 0xea, 0x8b, 0x02, 0xf8, 0x78, 0xb9, 0x6c, 0x4a, 0x80, 0xbe -+}; -+unsigned int kCodeTrapHandlerV2_11_len = 300; -+ -+ -+} // namespace AMD -+} // namespace rocr -+ diff --git a/patches/rocr-generated-files.diff b/patches/rocr-generated-files.diff new file mode 100644 index 00000000..cfe4622e --- /dev/null +++ b/patches/rocr-generated-files.diff @@ -0,0 +1,838 @@ +diff --git a/src/core/runtime/amd_blit_shaders_v2.h b/src/core/runtime/amd_blit_shaders_v2.h +new file mode 100644 +index 0000000..0da1e36 +--- /dev/null ++++ b/src/core/runtime/amd_blit_shaders_v2.h +@@ -0,0 +1,550 @@ ++//============================================================================== ++// This file is automatically generated during build process, don't modify it ++//============================================================================== ++ ++namespace rocr { ++namespace AMD { ++ ++unsigned char kCodeCopyAligned9[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0a, 0xc0, 0x20, 0x00, 0x00, 0x00, ++ 0x00, 0x04, 0x0a, 0xc0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0a, 0xc0, ++ 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0xc0, 0x50, 0x00, 0x00, 0x00, ++ 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8e, 0x02, 0x00, 0x00, 0x32, ++ 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x09, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x19, 0xd1, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x11, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x40, 0xdc, ++ 0x02, 0x00, 0x00, 0x01, 0x70, 0x0f, 0x8c, 0xbf, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x31, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x31, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, 0x18, 0x84, 0x19, 0x8e, ++ 0x84, 0x00, 0x02, 0x24, 0x09, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, ++ 0x01, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, 0x01, 0x15, 0x00, 0x00, ++ 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, ++ 0x02, 0x19, 0x00, 0x00, 0x0e, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x5c, 0xdc, ++ 0x02, 0x00, 0x00, 0x08, 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x33, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x7c, 0xdc, 0x04, 0x08, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xef, 0xff, 0x82, 0xbf, 0x18, 0x82, 0x19, 0x8e, 0x82, 0x00, 0x02, 0x24, ++ 0x0d, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x01, 0x19, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x0f, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x19, 0xd1, 0x01, 0x1d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x21, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x50, 0xdc, ++ 0x02, 0x00, 0x00, 0x01, 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x33, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x70, 0xdc, 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, 0x11, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x13, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x25, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x29, 0x00, 0x00, 0x06, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x01, ++ 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x00, 0x00, ++ 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyAligned9_len = 496; ++ ++ ++unsigned char kCodeCopyAligned940[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0a, 0xc0, 0x20, 0x00, 0x00, 0x00, ++ 0x00, 0x04, 0x0a, 0xc0, 0x30, 0x00, 0x00, 0x00, 0x00, 0x05, 0x0a, 0xc0, ++ 0x40, 0x00, 0x00, 0x00, 0x00, 0x06, 0x02, 0xc0, 0x50, 0x00, 0x00, 0x00, ++ 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8e, 0x02, 0x00, 0x00, 0x32, ++ 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x09, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x19, 0xd1, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x11, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x41, 0xde, ++ 0x02, 0x00, 0x00, 0x01, 0x70, 0x0f, 0x8c, 0xbf, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x31, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x61, 0xde, 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x31, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, 0x18, 0x84, 0x19, 0x8e, ++ 0x84, 0x00, 0x02, 0x24, 0x09, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, ++ 0x01, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, 0x01, 0x15, 0x00, 0x00, ++ 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, ++ 0x02, 0x19, 0x00, 0x00, 0x0e, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x5d, 0xde, ++ 0x02, 0x00, 0x00, 0x08, 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x33, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x7d, 0xde, 0x04, 0x08, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xef, 0xff, 0x82, 0xbf, 0x18, 0x82, 0x19, 0x8e, 0x82, 0x00, 0x02, 0x24, ++ 0x0d, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x01, 0x19, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x0f, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x19, 0xd1, 0x01, 0x1d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x21, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x51, 0xde, ++ 0x02, 0x00, 0x00, 0x01, 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x33, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x71, 0xde, 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, ++ 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, 0x11, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x13, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x25, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x29, 0x00, 0x00, 0x06, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x01, ++ 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x61, 0xde, 0x04, 0x01, 0x00, 0x00, ++ 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyAligned940_len = 496; ++ ++ ++unsigned char kCodeCopyAligned1010[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xfa, ++ 0x00, 0x04, 0x08, 0xf4, 0x30, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x08, 0xf4, ++ 0x40, 0x00, 0x00, 0xfa, 0x00, 0x06, 0x00, 0xf4, 0x50, 0x00, 0x00, 0xfa, ++ 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8f, 0x00, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x00, 0x02, 0x00, 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x00, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x07, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x0d, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, ++ 0x02, 0x11, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, ++ 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x01, 0x70, 0x3f, 0x8c, 0xbf, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x31, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x31, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x04, 0xfe, 0xbe, ++ 0x18, 0x84, 0x19, 0x8f, 0x84, 0x00, 0x02, 0x34, 0x09, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x01, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x19, 0x00, 0x00, 0x0e, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x38, 0xdc, 0x02, 0x00, 0x7d, 0x08, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x78, 0xdc, 0x04, 0x08, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xef, 0xff, 0x82, 0xbf, 0x18, 0x82, 0x19, 0x8f, ++ 0x82, 0x00, 0x02, 0x34, 0x0d, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x0f, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, 0x01, 0x1d, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, ++ 0x02, 0x21, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, ++ 0x00, 0x00, 0x30, 0xdc, 0x02, 0x00, 0x7d, 0x01, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x70, 0xdc, 0x04, 0x01, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x04, 0xfe, 0xbe, ++ 0x11, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x13, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x25, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x29, 0x00, 0x00, ++ 0x06, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x20, 0xdc, ++ 0x02, 0x00, 0x7d, 0x01, 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x01, 0x7d, 0x00, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyAligned1010_len = 500; ++ ++ ++unsigned char kCodeCopyAligned10[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xfa, ++ 0x00, 0x04, 0x08, 0xf4, 0x30, 0x00, 0x00, 0xfa, 0x00, 0x05, 0x08, 0xf4, ++ 0x40, 0x00, 0x00, 0xfa, 0x00, 0x06, 0x00, 0xf4, 0x50, 0x00, 0x00, 0xfa, ++ 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8f, 0x00, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x00, 0x02, 0x00, 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x00, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x07, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x0d, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, ++ 0x02, 0x11, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, ++ 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x01, 0x70, 0x3f, 0x8c, 0xbf, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x31, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x31, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x04, 0xfe, 0xbe, ++ 0x18, 0x84, 0x19, 0x8f, 0x84, 0x00, 0x02, 0x34, 0x09, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x01, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x19, 0x00, 0x00, 0x0e, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x38, 0xdc, 0x02, 0x00, 0x7d, 0x08, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x78, 0xdc, 0x04, 0x08, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xef, 0xff, 0x82, 0xbf, 0x18, 0x82, 0x19, 0x8f, ++ 0x82, 0x00, 0x02, 0x34, 0x0d, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x0f, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x0f, 0xd7, 0x01, 0x1d, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, ++ 0x02, 0x21, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, ++ 0x00, 0x00, 0x30, 0xdc, 0x02, 0x00, 0x7d, 0x01, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x70, 0xdc, 0x04, 0x01, 0x7d, 0x00, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, 0xc1, 0x04, 0xfe, 0xbe, ++ 0x11, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x13, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x25, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x29, 0x00, 0x00, ++ 0x06, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x20, 0xdc, ++ 0x02, 0x00, 0x7d, 0x01, 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x01, 0x7d, 0x00, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyAligned10_len = 500; ++ ++ ++unsigned char kCodeCopyAligned11[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xf8, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xf8, ++ 0x00, 0x04, 0x08, 0xf4, 0x30, 0x00, 0x00, 0xf8, 0x00, 0x05, 0x08, 0xf4, ++ 0x40, 0x00, 0x00, 0xf8, 0x00, 0x06, 0x00, 0xf4, 0x50, 0x00, 0x00, 0xf8, ++ 0x07, 0xfc, 0x89, 0xbf, 0x02, 0x86, 0x02, 0x84, 0x00, 0x6a, 0x00, 0xd7, ++ 0x02, 0x00, 0x02, 0x00, 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, ++ 0x00, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x07, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x00, 0xd7, 0x00, 0x0d, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, ++ 0x02, 0x11, 0x00, 0x00, 0x0f, 0x00, 0xa3, 0xbf, 0x7e, 0x6a, 0xfe, 0x8b, ++ 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x7c, 0x01, 0xf7, 0x03, 0x89, 0xbf, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x31, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7c, 0x00, ++ 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x31, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0xa0, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, ++ 0x18, 0x84, 0x19, 0x84, 0x84, 0x00, 0x02, 0x30, 0x09, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x00, 0xd7, 0x01, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x00, 0xd7, ++ 0x01, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x19, 0x00, 0x00, 0x0e, 0x00, 0xa3, 0xbf, ++ 0x00, 0x00, 0x5c, 0xdc, 0x02, 0x00, 0x7c, 0x08, 0x02, 0x6a, 0x00, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0xf7, 0x03, 0x89, 0xbf, 0x00, 0x00, 0x74, 0xdc, 0x04, 0x08, 0x7c, 0x00, ++ 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xef, 0xff, 0xa0, 0xbf, 0x18, 0x82, 0x19, 0x84, ++ 0x82, 0x00, 0x02, 0x30, 0x0d, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, ++ 0x01, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x0f, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x00, 0xd7, 0x01, 0x1d, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, ++ 0x02, 0x21, 0x00, 0x00, 0x0f, 0x00, 0xa3, 0xbf, 0x7e, 0x6a, 0xfe, 0x8b, ++ 0x00, 0x00, 0x50, 0xdc, 0x02, 0x00, 0x7c, 0x01, 0x02, 0x6a, 0x00, 0xd7, ++ 0x02, 0x33, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0xf7, 0x03, 0x89, 0xbf, 0x00, 0x00, 0x68, 0xdc, 0x04, 0x01, 0x7c, 0x00, ++ 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x33, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0xa0, 0xbf, 0xc1, 0x01, 0xfe, 0xbe, ++ 0x11, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, 0x00, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x13, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x00, 0xd7, 0x00, 0x25, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x29, 0x00, 0x00, ++ 0x06, 0x00, 0xa3, 0xbf, 0x7e, 0x6a, 0xfe, 0x8b, 0x00, 0x00, 0x40, 0xdc, ++ 0x02, 0x00, 0x7c, 0x01, 0xf7, 0x03, 0x89, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x01, 0x7c, 0x00, 0x00, 0x00, 0xb0, 0xbf ++}; ++unsigned int kCodeCopyAligned11_len = 500; ++ ++ ++unsigned char kCodeCopyMisaligned9[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0a, 0xc0, 0x20, 0x00, 0x00, 0x00, ++ 0x00, 0x04, 0x02, 0xc0, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x02, 0x86, 0x02, 0x8e, 0x02, 0x00, 0x00, 0x32, 0x05, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x11, 0x00, 0x00, 0x32, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x06, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x07, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x08, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x09, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x06, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x07, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x08, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, 0x04, 0x09, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0xcb, 0xff, 0x82, 0xbf, 0x09, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x19, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x00, 0x01, ++ 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, ++ 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyMisaligned9_len = 412; ++ ++ ++unsigned char kCodeCopyMisaligned940[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0a, 0xc0, 0x20, 0x00, 0x00, 0x00, ++ 0x00, 0x04, 0x02, 0xc0, 0x30, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x02, 0x86, 0x02, 0x8e, 0x02, 0x00, 0x00, 0x32, 0x05, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x11, 0x00, 0x00, 0x32, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x06, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x07, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x08, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x09, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x61, 0xde, 0x04, 0x06, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x61, 0xde, 0x04, 0x07, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x61, 0xde, 0x04, 0x08, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x61, 0xde, 0x04, 0x09, 0x00, 0x00, ++ 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, ++ 0x05, 0x01, 0xa9, 0x01, 0xcb, 0xff, 0x82, 0xbf, 0x09, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x19, 0xd1, 0x00, 0x11, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, 0x04, 0x6a, 0x19, 0xd1, ++ 0x00, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x19, 0x00, 0x00, 0x0f, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x86, 0x00, 0x00, 0x41, 0xde, 0x02, 0x00, 0x00, 0x01, ++ 0x02, 0x6a, 0x19, 0xd1, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, ++ 0x03, 0x01, 0xa9, 0x01, 0x70, 0x0f, 0x8c, 0xbf, 0x00, 0x00, 0x61, 0xde, ++ 0x04, 0x01, 0x00, 0x00, 0x04, 0x6a, 0x19, 0xd1, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x1c, 0xd1, 0x05, 0x01, 0xa9, 0x01, 0xee, 0xff, 0x82, 0xbf, ++ 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyMisaligned940_len = 412; ++ ++ ++unsigned char kCodeCopyMisaligned1010[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xfa, ++ 0x00, 0x04, 0x00, 0xf4, 0x30, 0x00, 0x00, 0xfa, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x02, 0x86, 0x02, 0x8f, 0x00, 0x6a, 0x0f, 0xd7, 0x02, 0x00, 0x02, 0x00, ++ 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x09, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x11, 0x00, 0x00, ++ 0x32, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x06, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x07, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x08, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x09, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x06, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x07, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x08, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x09, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0xcb, 0xff, 0x82, 0xbf, ++ 0x09, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x11, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x19, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x20, 0xdc, ++ 0x02, 0x00, 0x7d, 0x01, 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x3f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, ++ 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyMisaligned1010_len = 416; ++ ++ ++unsigned char kCodeCopyMisaligned10[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xfa, ++ 0x00, 0x04, 0x00, 0xf4, 0x30, 0x00, 0x00, 0xfa, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x02, 0x86, 0x02, 0x8f, 0x00, 0x6a, 0x0f, 0xd7, 0x02, 0x00, 0x02, 0x00, ++ 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x09, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x11, 0x00, 0x00, ++ 0x32, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x06, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x07, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x08, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x20, 0xdc, 0x02, 0x00, 0x7d, 0x09, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x70, 0x3f, 0x8c, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x06, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x07, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x08, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x09, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0xcb, 0xff, 0x82, 0xbf, ++ 0x09, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, 0x00, 0x11, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x0f, 0xd7, 0x00, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x19, 0x00, 0x00, ++ 0x0f, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x20, 0xdc, ++ 0x02, 0x00, 0x7d, 0x01, 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x70, 0x3f, 0x8c, 0xbf, ++ 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7d, 0x00, 0x04, 0x6a, 0x0f, 0xd7, ++ 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x28, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeCopyMisaligned10_len = 416; ++ ++ ++unsigned char kCodeCopyMisaligned11[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xf8, 0x00, 0x03, 0x08, 0xf4, 0x20, 0x00, 0x00, 0xf8, ++ 0x00, 0x04, 0x00, 0xf4, 0x30, 0x00, 0x00, 0xf8, 0x07, 0xfc, 0x89, 0xbf, ++ 0x02, 0x86, 0x02, 0x84, 0x00, 0x6a, 0x00, 0xd7, 0x02, 0x00, 0x02, 0x00, ++ 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, 0x00, 0x09, 0x00, 0x00, ++ 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x07, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x00, 0xd7, 0x00, 0x0d, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x11, 0x00, 0x00, ++ 0x32, 0x00, 0xa3, 0xbf, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x7c, 0x06, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x7c, 0x07, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x7c, 0x08, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x40, 0xdc, 0x02, 0x00, 0x7c, 0x09, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x21, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf7, 0x03, 0x89, 0xbf, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x06, 0x7c, 0x00, 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x07, 0x7c, 0x00, 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x08, 0x7c, 0x00, 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0x00, 0x00, 0x60, 0xdc, ++ 0x04, 0x09, 0x7c, 0x00, 0x04, 0x6a, 0x00, 0xd7, 0x04, 0x21, 0x00, 0x00, ++ 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, 0xcb, 0xff, 0xa0, 0xbf, ++ 0x09, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, 0x00, 0x11, 0x00, 0x00, ++ 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0x0b, 0x02, 0x0a, 0x7e, ++ 0x04, 0x6a, 0x00, 0xd7, 0x00, 0x15, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, ++ 0x05, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x19, 0x00, 0x00, ++ 0x0f, 0x00, 0xa3, 0xbf, 0x7e, 0x6a, 0xfe, 0x8b, 0x00, 0x00, 0x40, 0xdc, ++ 0x02, 0x00, 0x7c, 0x01, 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x21, 0x00, 0x00, ++ 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, 0xf7, 0x03, 0x89, 0xbf, ++ 0x00, 0x00, 0x60, 0xdc, 0x04, 0x01, 0x7c, 0x00, 0x04, 0x6a, 0x00, 0xd7, ++ 0x04, 0x21, 0x00, 0x00, 0x05, 0x6a, 0x20, 0xd5, 0x05, 0x01, 0xa9, 0x01, ++ 0xee, 0xff, 0xa0, 0xbf, 0x00, 0x00, 0xb0, 0xbf ++}; ++unsigned int kCodeCopyMisaligned11_len = 416; ++ ++ ++unsigned char kCodeFill9[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8e, ++ 0x02, 0x00, 0x00, 0x32, 0x0a, 0x02, 0x08, 0x7e, 0x0a, 0x02, 0x0a, 0x7e, ++ 0x0a, 0x02, 0x0c, 0x7e, 0x0a, 0x02, 0x0e, 0x7e, 0x0b, 0x84, 0x0c, 0x8e, ++ 0x84, 0x00, 0x02, 0x24, 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, ++ 0x01, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x0d, 0x00, 0x00, 0x07, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x7c, 0xdc, 0x02, 0x04, 0x00, 0x00, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0xf6, 0xff, 0x82, 0xbf, 0x0b, 0x82, 0x0c, 0x8e, 0x82, 0x00, 0x02, 0x24, ++ 0x07, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x01, 0x0d, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, ++ 0x02, 0x11, 0x00, 0x00, 0x08, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, ++ 0x00, 0x00, 0x70, 0xdc, 0x02, 0x04, 0x00, 0x00, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0xf5, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeFill9_len = 188; ++ ++ ++unsigned char kCodeFill940[] = { ++ 0x00, 0x01, 0x0a, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0a, 0xc0, ++ 0x10, 0x00, 0x00, 0x00, 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8e, ++ 0x02, 0x00, 0x00, 0x32, 0x0a, 0x02, 0x08, 0x7e, 0x0a, 0x02, 0x0a, 0x7e, ++ 0x0a, 0x02, 0x0c, 0x7e, 0x0a, 0x02, 0x0e, 0x7e, 0x0b, 0x84, 0x0c, 0x8e, ++ 0x84, 0x00, 0x02, 0x24, 0x05, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, ++ 0x01, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe9, 0xd0, 0x02, 0x0d, 0x00, 0x00, 0x07, 0x00, 0x86, 0xbf, ++ 0x00, 0x00, 0x7d, 0xde, 0x02, 0x04, 0x00, 0x00, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0xf6, 0xff, 0x82, 0xbf, 0x0b, 0x82, 0x0c, 0x8e, 0x82, 0x00, 0x02, 0x24, ++ 0x07, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x19, 0xd1, 0x01, 0x0d, 0x00, 0x00, ++ 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe9, 0xd0, ++ 0x02, 0x11, 0x00, 0x00, 0x08, 0x00, 0x86, 0xbf, 0x7e, 0x6a, 0xfe, 0x86, ++ 0x00, 0x00, 0x71, 0xde, 0x02, 0x04, 0x00, 0x00, 0x02, 0x6a, 0x19, 0xd1, ++ 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x1c, 0xd1, 0x03, 0x01, 0xa9, 0x01, ++ 0xf5, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeFill940_len = 188; ++ ++ ++unsigned char kCodeFill1010[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8f, ++ 0x00, 0x6a, 0x0f, 0xd7, 0x02, 0x00, 0x02, 0x00, 0x0a, 0x02, 0x08, 0x7e, ++ 0x0a, 0x02, 0x0a, 0x7e, 0x0a, 0x02, 0x0c, 0x7e, 0x0a, 0x02, 0x0e, 0x7e, ++ 0x0b, 0x84, 0x0c, 0x8f, 0x84, 0x00, 0x02, 0x34, 0x05, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x01, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x0d, 0x00, 0x00, ++ 0x07, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x78, 0xdc, 0x02, 0x04, 0x7d, 0x00, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf6, 0xff, 0x82, 0xbf, 0x0b, 0x82, 0x0c, 0x8f, ++ 0x82, 0x00, 0x02, 0x34, 0x07, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x0d, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x11, 0x00, 0x00, 0x08, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x70, 0xdc, 0x02, 0x04, 0x7d, 0x00, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf5, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeFill1010_len = 192; ++ ++ ++unsigned char kCodeFill10[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xfa, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xfa, 0x7f, 0xc0, 0x8c, 0xbf, 0x02, 0x86, 0x02, 0x8f, ++ 0x00, 0x6a, 0x0f, 0xd7, 0x02, 0x00, 0x02, 0x00, 0x0a, 0x02, 0x08, 0x7e, ++ 0x0a, 0x02, 0x0a, 0x7e, 0x0a, 0x02, 0x0c, 0x7e, 0x0a, 0x02, 0x0e, 0x7e, ++ 0x0b, 0x84, 0x0c, 0x8f, 0x84, 0x00, 0x02, 0x34, 0x05, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x01, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x0d, 0x00, 0x00, ++ 0x07, 0x00, 0x86, 0xbf, 0x00, 0x00, 0x78, 0xdc, 0x02, 0x04, 0x7d, 0x00, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf6, 0xff, 0x82, 0xbf, 0x0b, 0x82, 0x0c, 0x8f, ++ 0x82, 0x00, 0x02, 0x34, 0x07, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x0f, 0xd7, ++ 0x01, 0x0d, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0xe1, 0xd4, 0x02, 0x11, 0x00, 0x00, 0x08, 0x00, 0x86, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x87, 0x00, 0x00, 0x70, 0xdc, 0x02, 0x04, 0x7d, 0x00, ++ 0x02, 0x6a, 0x0f, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x28, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf5, 0xff, 0x82, 0xbf, 0x00, 0x00, 0x81, 0xbf ++}; ++unsigned int kCodeFill10_len = 192; ++ ++ ++unsigned char kCodeFill11[] = { ++ 0x00, 0x01, 0x08, 0xf4, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x02, 0x08, 0xf4, ++ 0x10, 0x00, 0x00, 0xf8, 0x07, 0xfc, 0x89, 0xbf, 0x02, 0x86, 0x02, 0x84, ++ 0x00, 0x6a, 0x00, 0xd7, 0x02, 0x00, 0x02, 0x00, 0x0a, 0x02, 0x08, 0x7e, ++ 0x0a, 0x02, 0x0a, 0x7e, 0x0a, 0x02, 0x0c, 0x7e, 0x0a, 0x02, 0x0e, 0x7e, ++ 0x0b, 0x84, 0x0c, 0x84, 0x84, 0x00, 0x02, 0x30, 0x05, 0x02, 0x06, 0x7e, ++ 0x02, 0x6a, 0x00, 0xd7, 0x01, 0x09, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x0d, 0x00, 0x00, ++ 0x07, 0x00, 0xa3, 0xbf, 0x00, 0x00, 0x74, 0xdc, 0x02, 0x04, 0x7c, 0x00, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf6, 0xff, 0xa0, 0xbf, 0x0b, 0x82, 0x0c, 0x84, ++ 0x82, 0x00, 0x02, 0x30, 0x07, 0x02, 0x06, 0x7e, 0x02, 0x6a, 0x00, 0xd7, ++ 0x01, 0x0d, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, 0x03, 0x01, 0xa9, 0x01, ++ 0x6a, 0x00, 0x59, 0xd4, 0x02, 0x11, 0x00, 0x00, 0x08, 0x00, 0xa3, 0xbf, ++ 0x7e, 0x6a, 0xfe, 0x8b, 0x00, 0x00, 0x68, 0xdc, 0x02, 0x04, 0x7c, 0x00, ++ 0x02, 0x6a, 0x00, 0xd7, 0x02, 0x19, 0x00, 0x00, 0x03, 0x6a, 0x20, 0xd5, ++ 0x03, 0x01, 0xa9, 0x01, 0xf5, 0xff, 0xa0, 0xbf, 0x00, 0x00, 0xb0, 0xbf ++}; ++unsigned int kCodeFill11_len = 192; ++ ++ ++} // namespace AMD ++} // namespace rocr ++ +diff --git a/src/core/runtime/amd_trap_handler_v2.h b/src/core/runtime/amd_trap_handler_v2.h +new file mode 100644 +index 0000000..f098b42 +--- /dev/null ++++ b/src/core/runtime/amd_trap_handler_v2.h +@@ -0,0 +1,276 @@ ++//============================================================================== ++// This file is automatically generated during build process, don't modify it ++//============================================================================== ++ ++namespace rocr { ++namespace AMD { ++ ++unsigned char kCodeTrapHandlerV2_9[] = { ++ 0x6d, 0xff, 0xee, 0x92, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x4a, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x89, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, 0x78, 0xff, 0xee, 0x92, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, ++ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0xff, 0x00, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x00, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x86, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, ++ 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x86, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, ++ 0x6e, 0x8c, 0x6e, 0x8e, 0x6e, 0x73, 0x6e, 0x86, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x92, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x89, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x00, 0xfc, 0xbe, 0x6c, 0x00, 0xf3, 0xbe, 0x6d, 0xff, 0x6d, 0x86, ++ 0xff, 0xff, 0x00, 0x00, 0x6d, 0x87, 0x6d, 0x8e, 0x77, 0xff, 0x77, 0x89, ++ 0x80, 0xff, 0x7f, 0x00, 0x77, 0x6d, 0x77, 0x87, 0x00, 0x1c, 0xec, 0xbe, ++ 0x6c, 0xff, 0x6c, 0x80, 0x34, 0x00, 0x00, 0x00, 0x6d, 0x80, 0x6d, 0x82, ++ 0x9e, 0x1a, 0xf2, 0xbe, 0x8d, 0x1a, 0xf8, 0xbe, 0x77, 0x8b, 0x6e, 0x8f, ++ 0x6e, 0xff, 0x6e, 0x86, 0x00, 0x80, 0x1f, 0x00, 0x07, 0xf8, 0x6e, 0xb9, ++ 0x7e, 0x7e, 0xfe, 0x86, 0x6a, 0x6a, 0xea, 0x86, 0x02, 0xf8, 0x78, 0xb9, ++ 0x6c, 0x1f, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_9_len = 384; ++ ++ ++unsigned char kCodeTrapHandlerV2_940[] = { ++ 0x6d, 0xff, 0xee, 0x92, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x79, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x44, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x89, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, 0x78, 0xff, 0xee, 0x92, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, ++ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0xff, 0x00, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x00, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x86, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, ++ 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x86, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, ++ 0x6e, 0x8c, 0x6e, 0x8e, 0x6e, 0x73, 0x6e, 0x86, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x92, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x89, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x00, 0xfc, 0xbe, 0x9e, 0x1a, 0xf2, 0xbe, 0x8d, 0x1a, 0xf8, 0xbe, ++ 0x77, 0x9f, 0x0d, 0xbf, 0x03, 0x00, 0x85, 0xbf, 0x80, 0x00, 0xf0, 0xbe, ++ 0x80, 0x00, 0xf1, 0xbe, 0x9f, 0x1a, 0xf7, 0xbe, 0x79, 0x8b, 0x6e, 0x8f, ++ 0x6e, 0xff, 0x6e, 0x86, 0x00, 0x80, 0x1f, 0x00, 0x07, 0xf8, 0x6e, 0xb9, ++ 0x7e, 0x7e, 0xfe, 0x86, 0x6a, 0x6a, 0xea, 0x86, 0x02, 0xf8, 0x78, 0xb9, ++ 0x6c, 0x1f, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_940_len = 360; ++ ++ ++unsigned char kCodeTrapHandlerV2_941[] = { ++ 0x6d, 0xff, 0xee, 0x92, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x79, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x44, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x89, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, 0x78, 0xff, 0xee, 0x92, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, ++ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0xff, 0x00, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x00, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x86, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, ++ 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x86, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, ++ 0x6e, 0x8c, 0x6e, 0x8e, 0x6e, 0x73, 0x6e, 0x86, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x92, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x89, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x00, 0xfc, 0xbe, 0x9e, 0x1a, 0xf2, 0xbe, 0x8d, 0x1a, 0xf8, 0xbe, ++ 0x77, 0x9f, 0x0d, 0xbf, 0x03, 0x00, 0x85, 0xbf, 0x80, 0x00, 0xf0, 0xbe, ++ 0x80, 0x00, 0xf1, 0xbe, 0x9f, 0x1a, 0xf7, 0xbe, 0x79, 0x8b, 0x6e, 0x8f, ++ 0x6e, 0xff, 0x6e, 0x86, 0x00, 0x80, 0x1f, 0x00, 0x07, 0xf8, 0x6e, 0xb9, ++ 0x7e, 0x7e, 0xfe, 0x86, 0x6a, 0x6a, 0xea, 0x86, 0x02, 0xf8, 0x78, 0xb9, ++ 0x6c, 0x1f, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_941_len = 360; ++ ++ ++unsigned char kCodeTrapHandlerV2_942[] = { ++ 0x6d, 0xff, 0xee, 0x92, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x79, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x44, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x89, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, 0x78, 0xff, 0xee, 0x92, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8e, 0x72, 0x6e, 0x72, 0x87, ++ 0x7e, 0x00, 0xee, 0xbe, 0x7f, 0x00, 0xef, 0xbe, 0xff, 0x00, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x00, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x86, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x00, 0xfe, 0xbe, ++ 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x86, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0xf3, 0xb8, ++ 0x6e, 0x8c, 0x6e, 0x8e, 0x6e, 0x73, 0x6e, 0x86, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x92, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x87, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x89, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x87, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x00, 0xee, 0xbe, 0x6f, 0x00, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x00, 0xfc, 0xbe, 0x9e, 0x1a, 0xf2, 0xbe, 0x8d, 0x1a, 0xf8, 0xbe, ++ 0x77, 0x9f, 0x0d, 0xbf, 0x03, 0x00, 0x85, 0xbf, 0x80, 0x00, 0xf0, 0xbe, ++ 0x80, 0x00, 0xf1, 0xbe, 0x9f, 0x1a, 0xf7, 0xbe, 0x79, 0x8b, 0x6e, 0x8f, ++ 0x6e, 0xff, 0x6e, 0x86, 0x00, 0x80, 0x1f, 0x00, 0x07, 0xf8, 0x6e, 0xb9, ++ 0x7e, 0x7e, 0xfe, 0x86, 0x6a, 0x6a, 0xea, 0x86, 0x02, 0xf8, 0x78, 0xb9, ++ 0x6c, 0x1f, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_942_len = 360; ++ ++ ++unsigned char kCodeTrapHandlerV2_1010[] = { ++ 0x6d, 0xff, 0xee, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x4a, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x8a, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, 0x78, 0xff, 0xee, 0x93, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, ++ 0x7e, 0x03, 0xee, 0xbe, 0x7f, 0x03, 0xef, 0xbe, 0xff, 0x03, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x03, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x87, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x03, 0xfe, 0xbe, ++ 0x03, 0xf8, 0x6e, 0xb9, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x88, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x87, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0x73, 0xb9, ++ 0x6e, 0x8c, 0x6e, 0x8f, 0x6e, 0x73, 0x6e, 0x87, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x93, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x8a, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x88, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x03, 0xee, 0xbe, 0x6f, 0x03, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x03, 0xfc, 0xbe, 0x6c, 0x03, 0xf3, 0xbe, 0x6d, 0xff, 0x6d, 0x87, ++ 0xff, 0xff, 0x00, 0x00, 0x6d, 0x87, 0x6d, 0x8f, 0x77, 0xff, 0x77, 0x8a, ++ 0x80, 0xff, 0x7f, 0x00, 0x77, 0x6d, 0x77, 0x88, 0x00, 0x1f, 0xec, 0xbe, ++ 0x6c, 0xff, 0x6c, 0x80, 0x44, 0x00, 0x00, 0x00, 0x6d, 0x80, 0x6d, 0x82, ++ 0x9e, 0x1d, 0xf2, 0xbe, 0x8d, 0x1d, 0xf8, 0xbe, 0x77, 0x89, 0x6e, 0x90, ++ 0x6e, 0xff, 0x6f, 0x87, 0x00, 0x80, 0x3f, 0x00, 0x77, 0x86, 0x6e, 0x90, ++ 0x6e, 0xff, 0x6e, 0x87, 0x00, 0x00, 0x00, 0x02, 0x6e, 0x6f, 0x6e, 0x88, ++ 0x07, 0xf8, 0xee, 0xb9, 0x7e, 0x7e, 0xfe, 0x87, 0x6a, 0x6a, 0xea, 0x87, ++ 0x02, 0xf8, 0xf8, 0xb9, 0x6c, 0x22, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, ++ 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_1010_len = 400; ++ ++ ++unsigned char kCodeTrapHandlerV2_10[] = { ++ 0x6d, 0xff, 0xee, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0x84, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0x85, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0x84, 0xbf, 0x3f, 0x00, 0x82, 0xbf, ++ 0x72, 0xff, 0x72, 0x8a, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x83, ++ 0x6e, 0x99, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, 0x78, 0xff, 0xee, 0x93, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x8f, 0x72, 0x6e, 0x72, 0x88, ++ 0x7e, 0x03, 0xee, 0xbe, 0x7f, 0x03, 0xef, 0xbe, 0xff, 0x03, 0xfe, 0xbe, ++ 0x00, 0x00, 0x00, 0x80, 0x0a, 0x00, 0x90, 0xbf, 0x07, 0x00, 0x80, 0xbf, ++ 0x7e, 0x9f, 0x0c, 0xbf, 0xfd, 0xff, 0x84, 0xbf, 0x6f, 0x03, 0xff, 0xbe, ++ 0x7e, 0xff, 0x6f, 0x87, 0xff, 0x03, 0x00, 0x00, 0x6e, 0x03, 0xfe, 0xbe, ++ 0x03, 0xf8, 0x6e, 0xb9, 0x6e, 0x9c, 0x0d, 0xbf, 0x03, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x40, 0x00, 0x00, 0x04, 0x00, 0x82, 0xbf, ++ 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, 0x6f, 0xff, 0x6f, 0x88, ++ 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x20, 0x00, 0x00, 0x6e, 0xff, 0x6e, 0x87, ++ 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x84, 0xbf, 0x01, 0xf8, 0x73, 0xb9, ++ 0x6e, 0x8c, 0x6e, 0x8f, 0x6e, 0x73, 0x6e, 0x87, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x10, 0x00, 0x00, 0x72, 0xff, 0xee, 0x93, ++ 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, 0x02, 0x00, 0x84, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x88, 0x00, 0x04, 0x00, 0x00, 0x6f, 0xff, 0x6e, 0x8a, ++ 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0x85, 0xbf, 0x6f, 0xff, 0x6f, 0x88, ++ 0x00, 0x08, 0x00, 0x00, 0x7c, 0x03, 0xee, 0xbe, 0x6f, 0x03, 0xfc, 0xbe, ++ 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0x90, 0xbf, 0x7f, 0xc0, 0x8c, 0xbf, ++ 0x6e, 0x03, 0xfc, 0xbe, 0x9e, 0x1d, 0xf2, 0xbe, 0x8d, 0x1d, 0xf8, 0xbe, ++ 0x7e, 0x7e, 0xfe, 0x87, 0x6a, 0x6a, 0xea, 0x87, 0x02, 0xf8, 0xf8, 0xb9, ++ 0x6c, 0x22, 0x80, 0xbe, 0x02, 0x00, 0x92, 0xbf, 0xfe, 0xff, 0x82, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_10_len = 324; ++ ++ ++unsigned char kCodeTrapHandlerV2_11[] = { ++ 0x6d, 0xff, 0x6e, 0x93, 0x10, 0x00, 0x08, 0x00, 0x09, 0x00, 0xa1, 0xbf, ++ 0x6d, 0x98, 0x0d, 0xbf, 0x02, 0x00, 0xa2, 0xbf, 0x6c, 0x84, 0x6c, 0x80, ++ 0x6d, 0x80, 0x6d, 0x82, 0x6e, 0x83, 0x06, 0xbf, 0x03, 0x00, 0xa1, 0xbf, ++ 0x77, 0x97, 0x0c, 0xbf, 0x01, 0x00, 0xa1, 0xbf, 0x42, 0x00, 0xa0, 0xbf, ++ 0x72, 0xff, 0x72, 0x91, 0x00, 0x00, 0x00, 0x3e, 0x6e, 0x8f, 0xee, 0x89, ++ 0x6e, 0x99, 0x6e, 0x84, 0x72, 0x6e, 0x72, 0x8c, 0x78, 0xff, 0x6e, 0x93, ++ 0x0d, 0x00, 0x01, 0x00, 0x6e, 0x9d, 0x6e, 0x84, 0x72, 0x6e, 0x72, 0x8c, ++ 0x80, 0x4c, 0xef, 0xbe, 0x07, 0xfc, 0x89, 0xbf, 0x6f, 0xff, 0x6f, 0x8b, ++ 0xff, 0x03, 0x00, 0x00, 0x03, 0xf8, 0xee, 0xb8, 0x6e, 0x9c, 0x0d, 0xbf, ++ 0x03, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x40, 0x00, 0x00, ++ 0x04, 0x00, 0xa0, 0xbf, 0x6e, 0x88, 0x0d, 0xbf, 0x02, 0x00, 0xa1, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x80, 0x00, 0x00, 0x6e, 0x8b, 0x0d, 0xbf, ++ 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x20, 0x00, 0x00, ++ 0x6e, 0xff, 0x6e, 0x8b, 0x7f, 0x00, 0x00, 0x00, 0x06, 0x00, 0xa1, 0xbf, ++ 0x01, 0xf8, 0xf3, 0xb8, 0x6e, 0x8c, 0x6e, 0x84, 0x6e, 0x73, 0x6e, 0x8b, ++ 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x10, 0x00, 0x00, ++ 0x72, 0xff, 0x6e, 0x93, 0x19, 0x00, 0x04, 0x00, 0x6e, 0x82, 0x06, 0xbf, ++ 0x02, 0x00, 0xa1, 0xbf, 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x04, 0x00, 0x00, ++ 0x6f, 0xff, 0x6e, 0x91, 0xff, 0x03, 0x00, 0x00, 0x02, 0x00, 0xa2, 0xbf, ++ 0x6f, 0xff, 0x6f, 0x8c, 0x00, 0x08, 0x00, 0x00, 0x7d, 0x00, 0xee, 0xbe, ++ 0x6f, 0x00, 0xfd, 0xbe, 0x00, 0x00, 0x80, 0xbf, 0x01, 0x00, 0xb6, 0xbf, ++ 0x07, 0xfc, 0x89, 0xbf, 0x6e, 0x00, 0xfd, 0xbe, 0x6c, 0x00, 0xf3, 0xbe, ++ 0x6d, 0xff, 0x6d, 0x8b, 0xff, 0xff, 0x00, 0x00, 0x6d, 0x87, 0x6d, 0x84, ++ 0x77, 0xff, 0x77, 0x91, 0x80, 0xff, 0x7f, 0x00, 0x77, 0x6d, 0x77, 0x8c, ++ 0x00, 0x47, 0xec, 0xbe, 0x6c, 0xff, 0x6c, 0x80, 0x24, 0x00, 0x00, 0x00, ++ 0x6d, 0x80, 0x6d, 0x82, 0x9e, 0x12, 0xf2, 0xbe, 0x8d, 0x12, 0xf8, 0xbe, ++ 0x7e, 0x7e, 0xfe, 0x8b, 0x6a, 0x6a, 0xea, 0x8b, 0x02, 0xf8, 0x78, 0xb9, ++ 0x6c, 0x4a, 0x80, 0xbe, 0x02, 0x00, 0x90, 0xbf, 0xfe, 0xff, 0xa0, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, ++ 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf, 0x00, 0x00, 0x9f, 0xbf ++}; ++unsigned int kCodeTrapHandlerV2_11_len = 576; ++ ++ ++} // namespace AMD ++} // namespace rocr ++ diff --git a/third-party-overlays/rocr.BUILD.bazel b/third-party-overlays/rocr.BUILD.bazel index 5b66beb9..6a99920a 100644 --- a/third-party-overlays/rocr.BUILD.bazel +++ b/third-party-overlays/rocr.BUILD.bazel @@ -151,6 +151,7 @@ ll_library( # TODO: At the moment we generate trap_handler_v2.h offline and patch # the final header in. Recreate the logic to generate it properly. "src/core/runtime/amd_trap_handler_v2.h", + "src/core/runtime/amd_blit_shaders_v2.h", "src/loader/executable.hpp", "src/loader/AMDHSAKernelDescriptor.h", ]),