qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

hexagon sysemu - library loading path feature


From: Brian Cain
Subject: hexagon sysemu - library loading path feature
Date: Thu, 17 Dec 2020 05:14:20 +0000

My team is working on sysemu support for Hexagon.  We've made some good 
progress so far and we'll work on upstreaming after Taylor’s hexagon linux-user 
patch series lands.

The only use case we have focused on with sysemu is booting/running elf 
programs.  Both "-device loader,file=..." or "-kernel" are effective and work 
similarly.  We have implemented "angel calls" (semihosting) to do host I/O.  We 
have not yet tried using the QEMU semihosting features/cmdline args, but may 
explore that option.

One feature we'd like to integrate is a guest library search path feature.  The 
existing hexagon simulator program distributed in the Hexagon SDK has a command 
line option, “--usefs".  The manual states that it “Cause[s] the simulator to 
search for files in the directory with the specified path. It is used for 
accessing shared object files that are loaded during program execution.”  If 
the guest OS has a loader that tries to resolve an executable or library's 
DT_NEEDED shared object libraries, we would want QEMU angel calls to be able to 
search a user specified host-path for the toolchain language support libraries.

This feature is like the functionality in QEMU’s “QEMU_LD_PREFIX” environment 
variable used by linux-userspace.  So, one idea was to just (ab)use this 
interface to mean the same thing for sysemu.  We could make it a 
target-specific hexagon feature, if it doesn’t make sense to have it as 
target-independent.  And if it makes sense we could qualify it like 
HEXAGON_QEMU_LD_PREFIX.

If not this environment variable, is there an existing QEMU feature that maps 
well here?  Or is there a better interface that we should consider instead?

-Brian



reply via email to

[Prev in Thread] Current Thread [Next in Thread]