mirror of
https://github.com/Atmosphere-NX/Atmosphere
synced 2024-12-22 20:31:14 +00:00
thermosphere: fix target.xml generation
This commit is contained in:
parent
7f7e4e8310
commit
7acd5a9ec7
2 changed files with 8 additions and 5 deletions
|
@ -148,7 +148,7 @@ export QEMU := qemu-system-aarch64
|
||||||
|
|
||||||
QEMUFLAGS := -nographic -machine virt,virtualization=on,accel=tcg,gic-version=2 -cpu cortex-a57 -smp 4 -m 1024\
|
QEMUFLAGS := -nographic -machine virt,virtualization=on,accel=tcg,gic-version=2 -cpu cortex-a57 -smp 4 -m 1024\
|
||||||
-kernel thermosphere.elf -d unimp,guest_errors -semihosting-config enable,target=native\
|
-kernel thermosphere.elf -d unimp,guest_errors -semihosting-config enable,target=native\
|
||||||
-chardev socket,id=uart,port=4567,host=0.0.0.0,server,nowait -chardev stdio,id=test -serial chardev:uart\
|
-chardev socket,id=uart,port=2222,host=0.0.0.0,server,nowait -chardev stdio,id=test -serial chardev:uart\
|
||||||
-monitor tcp:localhost:3333,server,nowait
|
-monitor tcp:localhost:3333,server,nowait
|
||||||
|
|
||||||
qemu: all
|
qemu: all
|
||||||
|
|
|
@ -24,11 +24,12 @@ struct {
|
||||||
static void GDB_GenerateTargetXml(char *buf)
|
static void GDB_GenerateTargetXml(char *buf)
|
||||||
{
|
{
|
||||||
int pos;
|
int pos;
|
||||||
const char *hdr = "<?xml version=\"1.0\"?><!DOCTYPE feature SYSTEM \"gdb-target.dtd\">";
|
const char *hdr = "<?xml version=\"1.0\"?><!DOCTYPE feature SYSTEM \"gdb-target.dtd\"><target>";
|
||||||
const char *cpuDescBegin = "<feature name=\"org.gnu.gdb.aarch64.core\">";
|
const char *cpuDescBegin = "<feature name=\"org.gnu.gdb.aarch64.core\">";
|
||||||
const char *cpuDescEnd =
|
const char *cpuDescEnd =
|
||||||
"<reg name=\"sp\" bitsize=\"64\" type=\"data_ptr\"/><reg name=\"pc\""
|
"<reg name=\"sp\" bitsize=\"64\" type=\"data_ptr\"/>"
|
||||||
"bitsize=\"64\" type=\"code_ptr\"/><reg name=\"cpsr\" bitsize=\"32\"/></feature>";
|
"<reg name=\"pc\" bitsize=\"64\" type=\"code_ptr\"/>"
|
||||||
|
"<reg name=\"cpsr\" bitsize=\"32\"/></feature>";
|
||||||
|
|
||||||
const char *fpuDescBegin =
|
const char *fpuDescBegin =
|
||||||
"<feature name=\"org.gnu.gdb.aarch64.fpu\"><vector id=\"v2d\" type=\"ieee_double\" count=\"2\"/>"
|
"<feature name=\"org.gnu.gdb.aarch64.fpu\"><vector id=\"v2d\" type=\"ieee_double\" count=\"2\"/>"
|
||||||
|
@ -46,7 +47,7 @@ static void GDB_GenerateTargetXml(char *buf)
|
||||||
"<field name=\"d\" type=\"vnd\"/><field name=\"s\" type=\"vns\"/><field name=\"h\" type=\"vnh\"/>"
|
"<field name=\"d\" type=\"vnd\"/><field name=\"s\" type=\"vns\"/><field name=\"h\" type=\"vnh\"/>"
|
||||||
"<field name=\"b\" type=\"vnb\"/><field name=\"q\" type=\"vnq\"/></union>";
|
"<field name=\"b\" type=\"vnb\"/><field name=\"q\" type=\"vnq\"/></union>";
|
||||||
|
|
||||||
const char *fpuDescEnd = "<reg name=\"fpsr\" bitsize=\"32\"/>\r\n <reg name=\"fpcr\" bitsize=\"32\"/>\r\n</feature>";
|
const char *fpuDescEnd = "<reg name=\"fpsr\" bitsize=\"32\"/>\r\n<reg name=\"fpcr\" bitsize=\"32\"/>\r\n</feature>";
|
||||||
const char *footer = "</target>";
|
const char *footer = "</target>";
|
||||||
|
|
||||||
strcpy(buf, hdr);
|
strcpy(buf, hdr);
|
||||||
|
@ -67,6 +68,8 @@ static void GDB_GenerateTargetXml(char *buf)
|
||||||
strcat(buf, fpuDescEnd);
|
strcat(buf, fpuDescEnd);
|
||||||
|
|
||||||
strcat(buf, footer);
|
strcat(buf, footer);
|
||||||
|
|
||||||
|
DEBUG("target.xml length is 0x%x\n", strlen(buf));
|
||||||
}
|
}
|
||||||
|
|
||||||
GDB_DECLARE_XFER_HANDLER(Features)
|
GDB_DECLARE_XFER_HANDLER(Features)
|
||||||
|
|
Loading…
Reference in a new issue