Hi Gabe,
Thanks for looking into this.
On 23/02/19 3:02 AM, Gabe Black wrote:
> Hi Sandipan, I saw your power changes which are appreciated. The power ISA
> has been neglected for a while and could use some attention. Could you
> please introduce yourself and give some context for your series of changes?
>
Sure. I was looking for a way to provide a mailing list style cover letter
when pushing changes but unfortunately, could not find a way to provide one
via gerrit.
I currently work as a Linux kernel developer for IBM's Linux Technology Center
(LTC) with a focus on some of the Power architecture-related bits.
IBM is interested in building an open-source simulation ecosystem for the
community
(which includes both academia and industry) for enabling research on the Power
architecture. This will also be useful for the OpenPOWER ecosystem.
These development efforts are part of an university collaboration between IBM
and the Department of Computer Science and Engineering at National Institute of
Technology, Karnataka (NITK). We have been working on this since 2017 and our
primary goal is to make gem5 capable of booting the Linux kernel with a multi-
processor configuration. As of now, we have been able to complete the following
phases:
1. Support for 64-bit ISA v3.0B (the latest one, corresponds to the new POWER9
CPUs) integer instructions. This includes adding new ones and making sure
existing ones are fixed if broken and a move to little-endian byte order.
The focus is on integer instructions only, as the kernel does not use much
of the floating-point and vector instructions.
2. Support for PowerPC 64-bit ELF ABI v2 based programs in Syscall Emulation
mode.
3. Support for a minimal platform capable of running bare-metal programs in
Full System mode.
4. Support for Radix Tree-based address translation (vaddr -> paddr) as this
is what the latest POWER9 processors (the hardware that supports ISA v3.0)
use.
5. Support for fault handling and basic interrupts. This includes page fault
handling, timer interrupts, system call, etc.
6. Support for booting a minimal Linux kernel on a single CPU with a bare
minimal peripheral configuration and an initramfs image embedded in the
vmlinux binary that has a basic init program.
My association with IBM began as a masters student at NITK where I worked on
finishing phases 1 and 2 (patches of which I authored) with mentoring from:
Dr. Basavaraj Talawar, Assistant Professor at Dept. of CSE, NITK
Gautham Shenoy, Linux kernel engineer at IBM LTC
Madhavan Srinivasan, Linux kernel engineer at IBM LTC
Anju T Sudhakar, Linux kernel engineer at IBM LTC
After graduating, I joined IBM full-time where I am continuing my association
with this project as a mentor for students who have worked or are working on
finishing the subsequent phases. Right now, we are looking at upstreaming the
phase 1 and 2 patches which are absolute prerequisites the next set of patches.
> I suspect not many (or any) of the maintainers here have a strong working
> knowledge of power so please forgive silly questions as your CLs are
> reviewed. We also tend to be pretty busy and may not get through them all
> for a while, but I'm at least hoping to tackle a few of them every now and
> then.
>
No problem. We are open to any sort of questions or feedback. Quite a few
things have changed since ISA v2.06 (what gem5 supports as of now) and we
will be happy to address any of your concerns.
All of our code is based on publicly available documentation. I am including
the relevant links for anyone wanting to take a look. Hope this helps.
[1] Power ISA v3.0B
https://openpowerfoundation.org/?resource_lib=power-isa-version-3-0
[2] PowerPC 64-bit ELF ABI v2
https://openpowerfoundation.org/?resource_lib=64-bit-elf-v2-abi-specification-power-architecture
> Feel free to put a Signed-off-by on your CLs, but you don't need to do that
> in this project if you don't want to. I suspect git/gerrit may even yell at
> you if the Change-Id the last line of your CL, although I'm not certain of
> that.
>
I think all my patches already have a Signed-off-by and Change-Id :)
> Gabe
>
- Sandipan
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev