summaryrefslogtreecommitdiffstats
path: root/BeagleBoardPkg/Debugger_scripts
diff options
context:
space:
mode:
authorMichael D Kinney <michael.d.kinney@intel.com>2019-05-09 20:42:03 -0700
committerMichael D Kinney <michael.d.kinney@intel.com>2019-05-13 15:30:42 -0700
commit5347c48016f27061475fdb053e867a06ce73492f (patch)
treedf7f0a2746d0f2ef4727a122614b7e6a0a8074a5 /BeagleBoardPkg/Debugger_scripts
parent96ef5a8e30a8da33eaab09f13cc8d752342717a5 (diff)
downloadedk2-5347c48016f27061475fdb053e867a06ce73492f.tar.gz
edk2-5347c48016f27061475fdb053e867a06ce73492f.tar.bz2
edk2-5347c48016f27061475fdb053e867a06ce73492f.zip
edk2: Remove packages moved to edk2-platforms
https://bugzilla.tianocore.org/show_bug.cgi?id=1467 https://bugzilla.tianocore.org/show_bug.cgi?id=1374 https://bugzilla.tianocore.org/show_bug.cgi?id=1793 Remove the following packages that have been imported to edk2-platforms/master * Omap35xxPkg * BeagleBoardPkg * QuarkSocPkg * QuarkPlatformPkg * Vlv2DeviceRefCodePkg * Vlv2TbltDevicePkg * OptionRomPkg Cc: Zailiang Sun <zailiang.sun@intel.com> Cc: Yi Qian <yi.qian@intel.com> Cc: Kelly Steele <kelly.steele@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Michael Kubacki <michael.a.kubacki@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Zailiang Sun <zailiang.sun@intel.com> Reviewed-by: Kelly Steele <kelly.steele@intel.com>
Diffstat (limited to 'BeagleBoardPkg/Debugger_scripts')
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_boot_from_ram.inc15
-rwxr-xr-xBeagleBoardPkg/Debugger_scripts/rvi_convert_symbols.sh17
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_dummy.axfbin7984 -> 0 bytes
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_hw_setup.inc61
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_load_symbols.inc17
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_symbols_macros.inc188
-rw-r--r--BeagleBoardPkg/Debugger_scripts/rvi_unload_symbols.inc112
-rw-r--r--BeagleBoardPkg/Debugger_scripts/trace32_load_symbols.cmm205
-rw-r--r--BeagleBoardPkg/Debugger_scripts/trace32_load_symbols_cygwin.cmm182
9 files changed, 0 insertions, 797 deletions
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_boot_from_ram.inc b/BeagleBoardPkg/Debugger_scripts/rvi_boot_from_ram.inc
deleted file mode 100644
index 7bc96ab8d2..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_boot_from_ram.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-error = continue
-unload
-error = abort
-
-setreg @CP15_CONTROL = 0x0005107E
-setreg @pc=0x80008208
-setreg @cpsr=0x000000D3
-dis/D
-readfile,raw,nowarn "ZZZZZZ/FV/BEAGLEBOARD_EFI.fd"=0x80008000
-
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_convert_symbols.sh b/BeagleBoardPkg/Debugger_scripts/rvi_convert_symbols.sh
deleted file mode 100755
index b1a819382c..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_convert_symbols.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-#
-# SPDX-License-Identifier: BSD-2-Clause-Patent
-#
-
-
-IN=`/usr/bin/cygpath -u $1`
-OUT=`/usr/bin/cygpath -u $2`
-
-/usr/bin/sed -e "s/\/cygdrive\/\(.\)/load\/a\/ni\/np \"\1:/g" \
- -e 's:\\:/:g' \
- -e "s/^/load\/a\/ni\/np \"/g" \
- -e "s/dll /dll\" \&/g" \
- $IN | /usr/bin/sort.exe --key=3 --output=$OUT
-
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_dummy.axf b/BeagleBoardPkg/Debugger_scripts/rvi_dummy.axf
deleted file mode 100644
index 17fabaa6cc..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_dummy.axf
+++ /dev/null
Binary files differ
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_hw_setup.inc b/BeagleBoardPkg/Debugger_scripts/rvi_hw_setup.inc
deleted file mode 100644
index 4c410f56b7..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_hw_setup.inc
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
-error = continue
-unload
-error = abort
-
-setreg @CP15_CONTROL = 0x0005107E
-setreg @cpsr=0x000000D3
-
-; General clock settings.
-setmem /32 0x48307270=0x00000080
-setmem /32 0x48306D40=0x00000003
-setmem /32 0x48005140=0x03020A50
-
-;Clock configuration
-setmem /32 0x48004A40=0x0000030A
-setmem /32 0x48004C40=0x00000015
-
-;DPLL3 (Core) settings
-setmem /32 0x48004D00=0x00370037
-setmem /32 0x48004D30=0x00000000
-setmem /32 0x48004D40=0x094C0C00
-
-;DPLL4 (Peripheral) settings
-setmem /32 0x48004D00=0x00370037
-setmem /32 0x48004D30=0x00000000
-setmem /32 0x48004D44=0x0001B00C
-setmem /32 0x48004D48=0x00000009
-
-;DPLL1 (MPU) settings
-setmem /32 0x48004904=0x00000037
-setmem /32 0x48004934=0x00000000
-setmem /32 0x48004940=0x0011F40C
-setmem /32 0x48004944=0x00000001
-setmem /32 0x48004948=0x00000000
-
-;RAM setup.
-setmem /16 0x6D000010=0x0000
-setmem /16 0x6D000040=0x0001
-setmem /16 0x6D000044=0x0100
-setmem /16 0x6D000048=0x0000
-setmem /32 0x6D000060=0x0000000A
-setmem /32 0x6D000070=0x00000081
-setmem /16 0x6D000040=0x0003
-setmem /32 0x6D000080=0x02D04011
-setmem /16 0x6D000084=0x0032
-setmem /16 0x6D00008C=0x0000
-setmem /32 0x6D00009C=0xBA9DC4C6
-setmem /32 0x6D0000A0=0x00012522
-setmem /32 0x6D0000A4=0x0004E201
-setmem /16 0x6D000040=0x0003
-setmem /32 0x6D0000B0=0x02D04011
-setmem /16 0x6D0000B4=0x0032
-setmem /16 0x6D0000BC=0x0000
-setmem /32 0x6D0000C4=0xBA9DC4C6
-setmem /32 0x6D0000C8=0x00012522
-setmem /32 0x6D0000D4=0x0004E201
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_load_symbols.inc b/BeagleBoardPkg/Debugger_scripts/rvi_load_symbols.inc
deleted file mode 100644
index c3a04c34c0..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_load_symbols.inc
+++ /dev/null
@@ -1,17 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
-include 'ZZZZZZ/rvi_symbols_macros.inc'
-
-macro write_symbols_file("ZZZZZZ/rvi_symbols.tmp", 0x00000000, 0x10000000)
-
-host "bash -o igncr ZZZZZZ/rvi_convert_symbols.sh ZZZZZZ/rvi_symbols.tmp ZZZZZZ/rvi_symbols.inc"
-include 'ZZZZZZ/rvi_symbols.inc'
-load /NI /NP 'ZZZZZZ/rvi_dummy.axf' ;.constdata
-unload rvi_dummy.axf
-delfile rvi_dummy.axf
-
-
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_symbols_macros.inc b/BeagleBoardPkg/Debugger_scripts/rvi_symbols_macros.inc
deleted file mode 100644
index 4ea3ae1a13..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_symbols_macros.inc
+++ /dev/null
@@ -1,188 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
-define /R int compare_guid(guid1, guid2)
- unsigned char *guid1;
- unsigned char *guid2;
-{
- return strncmp(guid1, guid2, 16);
-}
-.
-
-define /R unsigned char * find_system_table(mem_start, mem_size)
- unsigned char *mem_start;
- unsigned long mem_size;
-{
- unsigned char *mem_ptr;
-
- mem_ptr = mem_start + mem_size;
-
- do
- {
- mem_ptr -= 0x400000; // 4 MB
-
- if (strncmp(mem_ptr, "IBI SYST", 8) == 0)
- {
- return *(unsigned long *)(mem_ptr + 8); // EfiSystemTableBase
- }
-
- } while (mem_ptr > mem_start);
-
- return 0;
-}
-.
-
-define /R unsigned char * find_debug_info_table_header(system_table)
- unsigned char *system_table;
-{
- unsigned long configuration_table_entries;
- unsigned char *configuration_table;
- unsigned long index;
- unsigned char debug_table_guid[16];
-
- // Fill in the debug table's guid
- debug_table_guid[ 0] = 0x77;
- debug_table_guid[ 1] = 0x2E;
- debug_table_guid[ 2] = 0x15;
- debug_table_guid[ 3] = 0x49;
- debug_table_guid[ 4] = 0xDA;
- debug_table_guid[ 5] = 0x1A;
- debug_table_guid[ 6] = 0x64;
- debug_table_guid[ 7] = 0x47;
- debug_table_guid[ 8] = 0xB7;
- debug_table_guid[ 9] = 0xA2;
- debug_table_guid[10] = 0x7A;
- debug_table_guid[11] = 0xFE;
- debug_table_guid[12] = 0xFE;
- debug_table_guid[13] = 0xD9;
- debug_table_guid[14] = 0x5E;
- debug_table_guid[15] = 0x8B;
-
- configuration_table_entries = *(unsigned long *)(system_table + 64);
- configuration_table = *(unsigned long *)(system_table + 68);
-
- for (index = 0; index < configuration_table_entries; index++)
- {
- if (compare_guid(configuration_table, debug_table_guid) == 0)
- {
- return *(unsigned long *)(configuration_table + 16);
- }
-
- configuration_table += 20;
- }
-
- return 0;
-}
-.
-
-define /R int valid_pe_header(header)
- unsigned char *header;
-{
- if ((header[0x00] == 'M') &&
- (header[0x01] == 'Z') &&
- (header[0x80] == 'P') &&
- (header[0x81] == 'E'))
- {
- return 1;
- }
-
- return 0;
-}
-.
-
-define /R unsigned long pe_headersize(header)
- unsigned char *header;
-{
- unsigned long *size;
-
- size = header + 0x00AC;
-
- return *size;
-}
-.
-
-define /R unsigned char *pe_filename(header)
- unsigned char *header;
-{
- unsigned long *debugOffset;
- unsigned char *stringOffset;
-
- if (valid_pe_header(header))
- {
- debugOffset = header + 0x0128;
- stringOffset = header + *debugOffset + 0x002C;
-
- return stringOffset;
- }
-
- return 0;
-}
-.
-
-define /R int char_is_valid(c)
- unsigned char c;
-{
- if (c >= 32 && c < 127)
- return 1;
-
- return 0;
-}
-.
-
-define /R write_symbols_file(filename, mem_start, mem_size)
- unsigned char *filename;
- unsigned char *mem_start;
- unsigned long mem_size;
-{
- unsigned char *system_table;
- unsigned char *debug_info_table_header;
- unsigned char *debug_info_table;
- unsigned long debug_info_table_size;
- unsigned long index;
- unsigned char *debug_image_info;
- unsigned char *loaded_image_protocol;
- unsigned char *image_base;
- unsigned char *debug_filename;
- unsigned long header_size;
- int status;
-
- system_table = find_system_table(mem_start, mem_size);
- if (system_table == 0)
- {
- return;
- }
-
- status = fopen(88, filename, "w");
-
- debug_info_table_header = find_debug_info_table_header(system_table);
-
- debug_info_table = *(unsigned long *)(debug_info_table_header + 8);
- debug_info_table_size = *(unsigned long *)(debug_info_table_header + 4);
-
- for (index = 0; index < (debug_info_table_size * 4); index += 4)
- {
- debug_image_info = *(unsigned long *)(debug_info_table + index);
-
- if (debug_image_info == 0)
- {
- break;
- }
-
- loaded_image_protocol = *(unsigned long *)(debug_image_info + 4);
-
- image_base = *(unsigned long *)(loaded_image_protocol + 32);
-
- debug_filename = pe_filename(image_base);
- header_size = pe_headersize(image_base);
-
- $fprintf 88, "%s 0x%08x\n", debug_filename, image_base + header_size$;
- }
-
-
- fclose(88);
-}
-.
-
diff --git a/BeagleBoardPkg/Debugger_scripts/rvi_unload_symbols.inc b/BeagleBoardPkg/Debugger_scripts/rvi_unload_symbols.inc
deleted file mode 100644
index cade1f9acf..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/rvi_unload_symbols.inc
+++ /dev/null
@@ -1,112 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
-error = continue
-
-unload
-
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-delfile 1
-
-error = abort
diff --git a/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols.cmm b/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols.cmm
deleted file mode 100644
index 83fd991db6..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols.cmm
+++ /dev/null
@@ -1,205 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
- ENTRY &ram_start &ram_size
-
- ;If system is running then stop the execution so we can load symbols.
- break
-
- ;Reset all windows
- WINPAGE.RESET
-
- ;Create AREA to display the symbols we are loading.
- AREA.Reset
- AREA.Create SYMBOL 300. 100.
- AREA.View SYMBOL
- AREA.Select SYMBOL
- SYS.Option BE OFF
-
- ;Added based on suggestion from Lauterbach support.
- MMU.TABLEWALK ON
- MMU.ON
-
- ;Load symbols.
- GOSUB load_symbols &ram_start &ram_size
-
- ;Open some windows and enable semihosting.
- TOOLBAR ON
- STATUSBAR ON
- WINPAGE.RESET
-
- WINCLEAR
- WINPOS 0.0 17.0 72. 13. 0. 0. W000
- SYStem
-
- WINPOS 0.0 0.0 110. 55. 13. 1. W001
- WINTABS 10. 10. 25. 62.
- Data.List
-
- WINPAGE.SELECT P000
-
- //Enable semihosting
- System.Option.BigEndian OFF
-
- tronchip.set swi on // ARM9/10/11 variant
-
- // configure and open semihosting channel
- winpos 50% 50% 50% 50%
- term.heapinfo 0 0x20000 0x30000 0x20000
- term.method armswi
- term.mode string
- term.gate
-
- WINPOS 115.0 0. 70. 35. 0. 1. W002
- Var.Local %HEX
-
- WINPOS 115.10 45. 48. 9. 0. 0. W003
- Register
-
- END
-
-find_system_table:
- ENTRY &mem_start &mem_size
- &mem_ptr=&mem_start+&mem_size
- RPT
- (
- &mem_ptr=&mem_ptr-0x400000 // 4 MB
- &word1=Data.LONG(D:&mem_ptr)
- &word2=Data.LONG(D:&mem_ptr+0x04)
- IF &word1==0x20494249
- (
- IF &word2==0x54535953
- (
- &result=Data.LONG(D:&mem_ptr+0x08)
- RETURN &result
- )
- )
- )
- WHILE &mem_ptr>&mem_start
- &result=0
- RETURN &result
-
-compare_guid:
- ENTRY &guid
- IF Data.LONG(D:&guid)==0x49152E77
- (
- IF Data.LONG(D:&guid+0x04)==0x47641ADA
- (
- IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
- (
- IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
- (
- RETURN 0
- )
- )
- )
- )
- RETURN 1
-
-find_debug_info_table_header:
- ENTRY &system_table
- &config_table_entries=Data.LONG(D:&system_table+0x40)
- &config_table_pointer=Data.LONG(D:&system_table+0x44)
- RPT &config_table_entries
- (
- GOSUB compare_guid &config_table_pointer
- ENTRY &result
- IF &result==0
- (
- &result=Data.LONG(D:&config_table_pointer+0x10)
- RETURN &result
- )
- &config_table_pointer=&config_table_pointer+0x14
- )
- RETURN 0;
-
-valid_pe_header:
- ENTRY &header
- IF Data.BYTE(D:&header+0x00)==0x4D
- (
- IF Data.BYTE(D:&header+0x01)==0x5A
- (
- IF Data.BYTE(D:&header+0x80)==0x50
- (
- IF Data.BYTE(D:&header+0x81)==0x45
- (
- RETURN 1
- )
- )
- )
- )
- RETURN 0
-
-get_file_string:
- ENTRY &stringOffset
-
- local &string
-
- &more_string=data.string(d:&stringOffset)
-
- if (string.len("&more_string")>=128.)
- (
- &string="&string"+"&more_string"
- &stringOffset=&stringOffset+string.len("&more_string")
-
- //Get remaining file string
- GOSUB get_file_string &stringOffset
- ENTRY &more_string
- &string="&string"+"&more_string"
- )
- else
- (
- &string="&string"+"&more_string"
- &more_string=""
- )
- RETURN &string
-
-load_symbol_file:
- ENTRY &header &load_address
- GOSUB valid_pe_header &header
- ENTRY &result
-
- IF &result==1
- (
- &debugOffset=Data.LONG(D:&header+0x0128)
- &stringOffset=&header+&debugOffset+0x002C
-
- GOSUB get_file_string &stringOffset
- ENTRY &filestring
-
- PRINT "&filestring 0x" &load_address
- TDIAG Data.load.elf &filestring &load_address /nocode /noclear
- )
- RETURN
-
-pe_headersize:
- ENTRY &header;
- RETURN Data.LONG(D:&header+0x00AC)
-
-load_symbols:
- ENTRY &mem_start &mem_size
- GOSUB find_system_table &mem_start &mem_size
- ENTRY &system_table
- GOSUB find_debug_info_table_header &system_table
- ENTRY &debug_info_table_header
- &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
- &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
- &index=0
- RPT &debug_info_table_size
- (
- &debug_image_info=Data.LONG(D:&debug_info_table+&index)
- IF &debug_image_info==0
- RETURN
- &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
- &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
- GOSUB pe_headersize &image_base
- ENTRY &header_size
- &image_load_address=&image_base+&header_size
- GOSUB load_symbol_file &image_base &image_load_address
- &index=&index+0x4
- )
-
- RETURN
diff --git a/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols_cygwin.cmm b/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols_cygwin.cmm
deleted file mode 100644
index 87045e8769..0000000000
--- a/BeagleBoardPkg/Debugger_scripts/trace32_load_symbols_cygwin.cmm
+++ /dev/null
@@ -1,182 +0,0 @@
-//
-// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-//
-// SPDX-License-Identifier: BSD-2-Clause-Patent
-//
-
- ENTRY &ram_start &ram_size
-
- ;If system is running then stop the execution so we can load symbols.
- break
-
- ;Reset all windows
- WINPAGE.RESET
-
- AREA.Reset
- AREA.Create SYMBOL 300. 100.
- AREA.View SYMBOL
- AREA.Select SYMBOL
- SYS.Option BE OFF
-
- ; Added based on suggestion from Lauterbach support.
- MMU.TABLEWALK ON
- MMU.ON
-
- GOSUB load_symbols &ram_start &ram_size
-
- ;Open some windows.
- WINPOS 83.125 29.063 48. 9. 0. 0. W003
- Register
-
- WINPOS 83.25 10. 48. 9. 0. 1. W002
- Var.Local
-
- END
-
-find_system_table:
- ENTRY &mem_start &mem_size
- &mem_ptr=&mem_start+&mem_size
- RPT
- (
- &mem_ptr=&mem_ptr-0x400000 // 4 MB
- &word1=Data.LONG(D:&mem_ptr)
- &word2=Data.LONG(D:&mem_ptr+0x04)
- IF &word1==0x20494249
- (
- IF &word2==0x54535953
- (
- &result=Data.LONG(D:&mem_ptr+0x08)
- RETURN &result
- )
- )
- )
- WHILE &mem_ptr>&mem_start
- &result=0
- RETURN &result
-
-compare_guid:
- ENTRY &guid
- IF Data.LONG(D:&guid)==0x49152E77
- (
- IF Data.LONG(D:&guid+0x04)==0x47641ADA
- (
- IF Data.LONG(D:&guid+0x08)==0xFE7AA2B7
- (
- IF Data.LONG(D:&guid+0x0C)==0x8B5ED9FE
- (
- RETURN 0
- )
- )
- )
- )
- RETURN 1
-
-find_debug_info_table_header:
- ENTRY &system_table
- &config_table_entries=Data.LONG(D:&system_table+0x40)
- &config_table_pointer=Data.LONG(D:&system_table+0x44)
- RPT &config_table_entries
- (
- GOSUB compare_guid &config_table_pointer
- ENTRY &result
- IF &result==0
- (
- &result=Data.LONG(D:&config_table_pointer+0x10)
- RETURN &result
- )
- &config_table_pointer=&config_table_pointer+0x14
- )
- RETURN 0;
-
-valid_pe_header:
- ENTRY &header
- IF Data.BYTE(D:&header+0x00)==0x4D
- (
- IF Data.BYTE(D:&header+0x01)==0x5A
- (
- IF Data.BYTE(D:&header+0x80)==0x50
- (
- IF Data.BYTE(D:&header+0x81)==0x45
- (
- RETURN 1
- )
- )
- )
- )
- RETURN 0
-
-get_file_string:
- ENTRY &stringOffset
-
- local &string
-
- &more_string=data.string(d:&stringOffset)
-
- if (string.len("&more_string")>=128.)
- (
- &string="&string"+"&more_string"
- &stringOffset=&stringOffset+string.len("&more_string")
-
- //Get remaining file string
- GOSUB get_file_string &stringOffset
- ENTRY &more_string
- &string="&string"+"&more_string"
- )
- else
- (
- &string="&string"+"&more_string"
- &more_string=""
- )
- RETURN &string
-
-load_symbol_file:
- ENTRY &header &load_address
- GOSUB valid_pe_header &header
- ENTRY &result
-
- IF &result==1
- (
- &debugOffset=Data.LONG(D:&header+0x0128)
- &stringOffset=&header+&debugOffset+0x002C
-
- &stringOffset=&stringOffset+11.
-
- GOSUB get_file_string &stringOffset
- ENTRY &filestring
-
- &filestring="c:"+"&filestring"
-
- PRINT "&filestring 0x" &load_address
- Data.load.elf &filestring &load_address /nocode /noclear
- )
- RETURN
-
-pe_headersize:
- ENTRY &header;
- RETURN Data.LONG(D:&header+0x00AC)
-
-load_symbols:
- ENTRY &mem_start &mem_size
- GOSUB find_system_table &mem_start &mem_size
- ENTRY &system_table
- GOSUB find_debug_info_table_header &system_table
- ENTRY &debug_info_table_header
- &debug_info_table=Data.LONG(D:&debug_info_table_header+0x08)
- &debug_info_table_size=Data.LONG(D:&debug_info_table_header+0x04)
- &index=0
- RPT &debug_info_table_size
- (
- &debug_image_info=Data.LONG(D:&debug_info_table+&index)
- IF &debug_image_info==0
- RETURN
- &loaded_image_protocol=Data.LONG(D:&debug_image_info+0x04);
- &image_base=Data.LONG(D:&loaded_image_protocol+0x20);
- GOSUB pe_headersize &image_base
- ENTRY &header_size
- &image_load_address=&image_base+&header_size
- GOSUB load_symbol_file &image_base &image_load_address
- &index=&index+0x4
- )
-
- RETURN
- \ No newline at end of file