From 62c785ff5ebbc229bd79379f10b271adc2de096c Mon Sep 17 00:00:00 2001 From: Fredrik Simonsson Date: Thu, 23 Apr 2026 11:42:16 +0200 Subject: [PATCH] Allow loading with -device file=mybin.elf --- src/common.ts | 1 + src/qemu.ts | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/common.ts b/src/common.ts index 86043f09..9ad94abf 100644 --- a/src/common.ts +++ b/src/common.ts @@ -275,6 +275,7 @@ export interface ConfigurationArguments extends DebugProtocol.LaunchRequestArgum gdbInterruptMode: GDBInterruptMode; objdumpPath: string; serverArgs: string[]; + serverOptionLoadWithDeviceFile: boolean; serverCwd: string; device: string; loadFiles: string[]; diff --git a/src/qemu.ts b/src/qemu.ts index 3a537889..48631213 100644 --- a/src/qemu.ts +++ b/src/qemu.ts @@ -84,13 +84,15 @@ export class QEMUServerController extends EventEmitter implements GDBServerContr '-semihosting-config', 'enable=on,target=native', '-gdb', 'tcp::' + gdbport.toString(), '-S', - '-kernel', this.args.executable ]; - + if (this.args.serverOptionLoadWithDeviceFile) { + cmdargs = cmdargs.concat('-device', 'loader,file=' + this.args.executable); + } else { + cmdargs = cmdargs.concat('-kernel', this.args.executable); + }; if (this.args.serverArgs) { cmdargs = cmdargs.concat(this.args.serverArgs); - } - + }; return cmdargs; }