Skip to contentSkip to conversation

ia64 emulation

Linux-ia64 Weihaw CHUANG 2 participants 2 messages Apr 18, 2001

lore
Share & tools
lore
#0 lore raw

Hi
I new to this mailing list, so I hope I have the right forum. Otherwise I apologize, and please ignore this email.

I am trying to build ia64 out-of-order simulator using U Wisconsin's Simple Scalar simulator. I need a functional simulator/emulator for ia64.

My first question is has anyone developed an ia64 open source simulator capable of at least dealing with basic system calls. A cursory search seems to indicate no =(. Since IA64 has a lot of state to emulate, building a functional simualator from scratch appears to be a bad idea.

Another option might be try single stepping on an Itanium box, and controlling a context directly. This seems a little bit more feasible but still pretty daunting.

My second question is what is the name of the linux context switch module and procedure in the linux kernel distribution. My guess is that the author of this module is actually on this mailing list.

Also it appears that modifying PSR.ss (single step) is priviledged. So my guess is that I'll have to modify a linux kernel to allow the SimpleScalar simulator to run with kernel (lv 0) priviledges perhaps by creating a system call that doesn't rfi, and br.ret instead?

Any thoughts would be greatly appreciated!!

-Wei

#1 lore raw

There is a simulator available from HP as an ia32-linux binary, but it is not open source. This isn't ideal, but avoids the need for IA-64 hardware.
http://www.software.hp.com/ia64linux

See also gdb as an example of a user level program that knows how to single step other applications.

Some early pre-hardware gdb development was done by running the simulator on an ia32 machine, booting the ia64 kernel on the simulator, running a gdbserver process on the kernel, and then connecting to this process over the network by a cross gdb (ia32-x-ia64). At that point, you could then run and debug ia64 applications, same as you can with a native ia64 gdb, though of course a lot slower.

Jim