* [Qemu-devel] qemu alpha?
@ 2007-10-14 9:19 Oliver Falk
2007-10-14 10:14 ` J. Mayer
0 siblings, 1 reply; 17+ messages in thread
From: Oliver Falk @ 2007-10-14 9:19 UTC (permalink / raw)
To: qemu-devel
Hi list!
Just wanted to know how far the progress on alpha target is? I would be
happy if I have some 'virtual alpha' to test new isos.
If I can help some way (I have a few alphas around). Let me know.
Best,
Oliver
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-14 9:19 [Qemu-devel] qemu alpha? Oliver Falk
@ 2007-10-14 10:14 ` J. Mayer
2007-10-20 0:49 ` Rob Landley
0 siblings, 1 reply; 17+ messages in thread
From: J. Mayer @ 2007-10-14 10:14 UTC (permalink / raw)
To: qemu-devel; +Cc: oliver
On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> Hi list!
Hi you !
> Just wanted to know how far the progress on alpha target is? I would be
> happy if I have some 'virtual alpha' to test new isos.
>
> If I can help some way (I have a few alphas around). Let me know.
I'm happy to see someone interresting in improving Alpha support, which
is .... very alpha for now !
Current status is alpha-linux-user is able to launch some executable.
Unfortunately, all the one I got crash after some time, probably because
the unique register is not initialized properly. And I got no Alpha
machine to be able to compare what's going wrong in the emulation code.
The softmmu Alpha support is far from being usable for many reasons.
First of all, I started to code a PALcode host-side emulation but it
still needs a lot of work before being usable. The second thing is I
don't really know which CPU model is the best to emulate first and I
don't have the precise specification of the hardware platform to be able
to code the needed hw/alpha.c file.
If you feel like helping developping the Alpha target support, I think
the first target would be to work on the linux-user mode, which mostly
needs debug and bugfixes. Once the core CPU will be validated, the
softmmu suport could be done too.
I can of course help you doing this, if you need advices or support,
having started the target as an invitation for Alpha specialist to make
it really usable.
Then, your help and knowledge is welcome here !
--
J. Mayer <l_indien@magic.fr>
Never organized
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-14 10:14 ` J. Mayer
@ 2007-10-20 0:49 ` Rob Landley
2007-10-20 8:56 ` J. Mayer
2007-10-20 8:59 ` Sunil Amitkumar Janki
0 siblings, 2 replies; 17+ messages in thread
From: Rob Landley @ 2007-10-20 0:49 UTC (permalink / raw)
To: qemu-devel; +Cc: J. Mayer, oliver
On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > Hi list!
>
> Hi you !
>
> > Just wanted to know how far the progress on alpha target is? I would be
> > happy if I have some 'virtual alpha' to test new isos.
> >
> > If I can help some way (I have a few alphas around). Let me know.
>
> I'm happy to see someone interresting in improving Alpha support, which
> is .... very alpha for now !
I'm interested in testing Alpha too, but I haven't seem a qemu-system-alpha
show up yet. Alas, I have no hardware or specific expertise in this
platform, I'm just trying to build and boot Linux kernels (and corresponding
root filesystems) on as many emulated target platforms as I can.
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 0:49 ` Rob Landley
@ 2007-10-20 8:56 ` J. Mayer
2007-10-20 12:49 ` Thiemo Seufer
` (2 more replies)
2007-10-20 8:59 ` Sunil Amitkumar Janki
1 sibling, 3 replies; 17+ messages in thread
From: J. Mayer @ 2007-10-20 8:56 UTC (permalink / raw)
To: qemu-devel; +Cc: oliver
On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > > Hi list!
> >
> > Hi you !
> >
> > > Just wanted to know how far the progress on alpha target is? I would be
> > > happy if I have some 'virtual alpha' to test new isos.
> > >
> > > If I can help some way (I have a few alphas around). Let me know.
> >
> > I'm happy to see someone interresting in improving Alpha support, which
> > is .... very alpha for now !
>
> I'm interested in testing Alpha too, but I haven't seem a qemu-system-alpha
> show up yet. Alas, I have no hardware or specific expertise in this
> platform, I'm just trying to build and boot Linux kernels (and corresponding
> root filesystems) on as many emulated target platforms as I can.
There are a lot of things missing for qemu-system-alpha to be available:
- the PALCode emulation is far from being complete or even usable
- there is no hardware machine emulation for Alpha in Qemu.
As I have no Alpha platform, I don't know much about the hardware to be
emulated.
But the first step about the Alpha target would be to properly debug the
linux-user-mode emulation, that would validate the core CPU INSNS
emulation part.
I guess my Alpha CPU and ABI knowledge is too restricted to find the
problem of most program crashing for now. It seems to me that the Unique
register is not initialized properly, but this is just a guess and I
have no idea of what's going wrong with this register and what should be
its value.
--
J. Mayer <l_indien@magic.fr>
Never organized
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 0:49 ` Rob Landley
2007-10-20 8:56 ` J. Mayer
@ 2007-10-20 8:59 ` Sunil Amitkumar Janki
2007-10-25 23:21 ` Rob Landley
1 sibling, 1 reply; 17+ messages in thread
From: Sunil Amitkumar Janki @ 2007-10-20 8:59 UTC (permalink / raw)
To: qemu-devel; +Cc: J. Mayer, oliver
Rob Landley wrote:
> I'm interested in testing Alpha too, but I haven't seem a
> qemu-system-alpha
> show up yet. Alas, I have no hardware or specific expertise in this
> platform, I'm just trying to build and boot Linux kernels (and corresponding
> root filesystems) on as many emulated target platforms as I can.
>
> Rob
>
Hi Rob,
I've been reading Alpha documentation, that I was pointed to
by Wikipedia, over the summer, because I too would like to see
a qemu-system-alpha. The problem is I don't really know how
to develop for QEMU in general and in particular this target.
The QEMU source code looks very complicated and opaque to me,
but that may be because I lack the necessary knowledge and
experience to reach a thorough understanding of it. I would
appreciate it if someone could tell me where and how to start.
Regards,
Sunil
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 8:56 ` J. Mayer
@ 2007-10-20 12:49 ` Thiemo Seufer
2007-10-21 9:00 ` J. Mayer
2007-10-20 13:39 ` Daniel Jacobowitz
2007-10-21 10:43 ` Rob Landley
2 siblings, 1 reply; 17+ messages in thread
From: Thiemo Seufer @ 2007-10-20 12:49 UTC (permalink / raw)
To: J. Mayer; +Cc: oliver, qemu-devel
J. Mayer wrote:
>
> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> > On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > > On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > > > Hi list!
> > >
> > > Hi you !
> > >
> > > > Just wanted to know how far the progress on alpha target is? I would be
> > > > happy if I have some 'virtual alpha' to test new isos.
> > > >
> > > > If I can help some way (I have a few alphas around). Let me know.
> > >
> > > I'm happy to see someone interresting in improving Alpha support, which
> > > is .... very alpha for now !
> >
> > I'm interested in testing Alpha too, but I haven't seem a qemu-system-alpha
> > show up yet. Alas, I have no hardware or specific expertise in this
> > platform, I'm just trying to build and boot Linux kernels (and corresponding
> > root filesystems) on as many emulated target platforms as I can.
>
> There are a lot of things missing for qemu-system-alpha to be available:
> - the PALCode emulation is far from being complete or even usable
> - there is no hardware machine emulation for Alpha in Qemu.
> As I have no Alpha platform, I don't know much about the hardware to be
> emulated.
> But the first step about the Alpha target would be to properly debug the
> linux-user-mode emulation, that would validate the core CPU INSNS
> emulation part.
> I guess my Alpha CPU and ABI knowledge is too restricted to find the
> problem of most program crashing for now. It seems to me that the Unique
> register is not initialized properly, but this is just a guess and I
> have no idea of what's going wrong with this register and what should be
> its value.
Could you record the limitations you know about in a STATUS file and
commit that to the target-alpha directory?
Thiemo
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 8:56 ` J. Mayer
2007-10-20 12:49 ` Thiemo Seufer
@ 2007-10-20 13:39 ` Daniel Jacobowitz
2007-10-21 10:43 ` Rob Landley
2 siblings, 0 replies; 17+ messages in thread
From: Daniel Jacobowitz @ 2007-10-20 13:39 UTC (permalink / raw)
To: qemu-devel
On Sat, Oct 20, 2007 at 10:56:12AM +0200, J. Mayer wrote:
> I guess my Alpha CPU and ABI knowledge is too restricted to find the
> problem of most program crashing for now. It seems to me that the Unique
> register is not initialized properly, but this is just a guess and I
> have no idea of what's going wrong with this register and what should be
> its value.
Are you running recent Alpha binaries? I believe the unique register
is used for the thread-local storage base address.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 12:49 ` Thiemo Seufer
@ 2007-10-21 9:00 ` J. Mayer
0 siblings, 0 replies; 17+ messages in thread
From: J. Mayer @ 2007-10-21 9:00 UTC (permalink / raw)
To: Thiemo Seufer; +Cc: oliver, qemu-devel
On Sat, 2007-10-20 at 13:49 +0100, Thiemo Seufer wrote:
> J. Mayer wrote:
> >
> > On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> > > On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > > > On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > > > > Hi list!
> > > >
> > > > Hi you !
> > > >
> > > > > Just wanted to know how far the progress on alpha target is? I would be
> > > > > happy if I have some 'virtual alpha' to test new isos.
> > > > >
> > > > > If I can help some way (I have a few alphas around). Let me know.
> > > >
> > > > I'm happy to see someone interresting in improving Alpha support, which
> > > > is .... very alpha for now !
> > >
> > > I'm interested in testing Alpha too, but I haven't seem a qemu-system-alpha
> > > show up yet. Alas, I have no hardware or specific expertise in this
> > > platform, I'm just trying to build and boot Linux kernels (and corresponding
> > > root filesystems) on as many emulated target platforms as I can.
> >
> > There are a lot of things missing for qemu-system-alpha to be available:
> > - the PALCode emulation is far from being complete or even usable
> > - there is no hardware machine emulation for Alpha in Qemu.
> > As I have no Alpha platform, I don't know much about the hardware to be
> > emulated.
> > But the first step about the Alpha target would be to properly debug the
> > linux-user-mode emulation, that would validate the core CPU INSNS
> > emulation part.
> > I guess my Alpha CPU and ABI knowledge is too restricted to find the
> > problem of most program crashing for now. It seems to me that the Unique
> > register is not initialized properly, but this is just a guess and I
> > have no idea of what's going wrong with this register and what should be
> > its value.
>
> Could you record the limitations you know about in a STATUS file and
> commit that to the target-alpha directory?
You're right. I will commit a status file today.
--
J. Mayer <l_indien@magic.fr>
Never organized
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 8:56 ` J. Mayer
2007-10-20 12:49 ` Thiemo Seufer
2007-10-20 13:39 ` Daniel Jacobowitz
@ 2007-10-21 10:43 ` Rob Landley
2007-10-21 10:55 ` Paul Brook
` (2 more replies)
2 siblings, 3 replies; 17+ messages in thread
From: Rob Landley @ 2007-10-21 10:43 UTC (permalink / raw)
To: qemu-devel; +Cc: oliver
On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> > On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > > On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > > > Hi list!
> > >
> > > Hi you !
> > >
> > > > Just wanted to know how far the progress on alpha target is? I would
> > > > be happy if I have some 'virtual alpha' to test new isos.
> > > >
> > > > If I can help some way (I have a few alphas around). Let me know.
> > >
> > > I'm happy to see someone interresting in improving Alpha support, which
> > > is .... very alpha for now !
> >
> > I'm interested in testing Alpha too, but I haven't seem a
> > qemu-system-alpha show up yet. Alas, I have no hardware or specific
> > expertise in this platform, I'm just trying to build and boot Linux
> > kernels (and corresponding root filesystems) on as many emulated target
> > platforms as I can.
>
> There are a lot of things missing for qemu-system-alpha to be available:
> - the PALCode emulation is far from being complete or even usable
I have no idea what that is.
> - there is no hardware machine emulation for Alpha in Qemu.
> As I have no Alpha platform, I don't know much about the hardware to be
> emulated.
I do know that the ev6 bus is the same as the Athlon used.
When Compaq bought the corpse of DEC back in the mid-90's, they weren't
interested in their chip designers, so AMD scooped up most of the Alpha
design team. AMD then asked them "ok, if you guys were going to design an
x86 compatible processor, what would it look like?" The result was the
Athlon back around 1997. You could actually stick one in an Alpha
motherboard, and the only reason it wouldn't boot is the bios was alpha
machine language instead of x86 code. Everything else was the same, because
it's what the designers were familiar with.
So if you slap an Alpha in a virtual x86-64 PC motherboard, you're not too far
off.
Here's one spec:
http://web.archive.org/web/19990913123756/http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-21 10:43 ` Rob Landley
@ 2007-10-21 10:55 ` Paul Brook
2007-10-22 7:39 ` Oliver Falk
2007-10-21 11:06 ` J. Mayer
2007-10-22 7:38 ` Oliver Falk
2 siblings, 1 reply; 17+ messages in thread
From: Paul Brook @ 2007-10-21 10:55 UTC (permalink / raw)
To: qemu-devel; +Cc: oliver
> > - there is no hardware machine emulation for Alpha in Qemu.
> > As I have no Alpha platform, I don't know much about the hardware to be
> > emulated.
>
> I do know that the ev6 bus is the same as the Athlon used.
The CPU bus is pretty much irelevant. It's almost entirely transparent from a
software/emulation PoV.
IIUC some of the alpha machines did use fairly standard PC-style peripherals
though.
Paul
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-21 10:43 ` Rob Landley
2007-10-21 10:55 ` Paul Brook
@ 2007-10-21 11:06 ` J. Mayer
2007-10-22 7:43 ` Oliver Falk
2007-10-22 7:38 ` Oliver Falk
2 siblings, 1 reply; 17+ messages in thread
From: J. Mayer @ 2007-10-21 11:06 UTC (permalink / raw)
To: qemu-devel; +Cc: oliver
On Sun, 2007-10-21 at 05:43 -0500, Rob Landley wrote:
> On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
> > On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> > > On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > > > On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > > > > Hi list!
> > > >
> > > > Hi you !
> > > >
> > > > > Just wanted to know how far the progress on alpha target is? I would
> > > > > be happy if I have some 'virtual alpha' to test new isos.
> > > > >
> > > > > If I can help some way (I have a few alphas around). Let me know.
> > > >
> > > > I'm happy to see someone interresting in improving Alpha support, which
> > > > is .... very alpha for now !
> > >
> > > I'm interested in testing Alpha too, but I haven't seem a
> > > qemu-system-alpha show up yet. Alas, I have no hardware or specific
> > > expertise in this platform, I'm just trying to build and boot Linux
> > > kernels (and corresponding root filesystems) on as many emulated target
> > > platforms as I can.
> >
> > There are a lot of things missing for qemu-system-alpha to be available:
> > - the PALCode emulation is far from being complete or even usable
>
> I have no idea what that is.
The PALCode is mainly equivalent to the microcode of most CPU
architectures. What is different to microcode is that is uses only
regular Alpha instructions, just adding 4 instructions to access special
"hardware registers" and access the memory with different priviledge
levels. Another main idea is that everyone can write its own PALCode
image and switch to it at run-time. Then, for example, the PALCode ABI
is not the same one if you run Linux or Windows NT. The PALCode handles
all complex operations. For example, the CPU provides only TLB and the
MMU tables search is actually implemented in software, in the PALCode.
This greatly simplifies the CPU design and allows a high level of
flexibility. And if your OS need a specific ABI for example to handle
CPU exception, you define your ABI, write the PALCode using Alpha insns
and use it ! The Alpha CPU also provide an instruction to do PALCode
calls from the OS or applications.
There are 3 (4 ?) "native" PALCode ABIs documented in the Alpha CPUs
specifications then those can be emulated at the host side in Qemu. It
is in fact needed to emulate a subset of the PALCode even to run
user-mode programs.
[...]
--
J. Mayer <l_indien@magic.fr>
Never organized
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-21 10:43 ` Rob Landley
2007-10-21 10:55 ` Paul Brook
2007-10-21 11:06 ` J. Mayer
@ 2007-10-22 7:38 ` Oliver Falk
2 siblings, 0 replies; 17+ messages in thread
From: Oliver Falk @ 2007-10-22 7:38 UTC (permalink / raw)
To: Rob Landley; +Cc: qemu-devel
On 10/21/2007 12:43 PM, Rob Landley wrote:
> On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
>> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
>>> On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
>>>> On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
>>>>> Just wanted to know how far the progress on alpha target is? I would
>>>>> be happy if I have some 'virtual alpha' to test new isos.
>>>>>
>>>>> If I can help some way (I have a few alphas around). Let me know.
>>>> I'm happy to see someone interresting in improving Alpha support, which
>>>> is .... very alpha for now !
>>> I'm interested in testing Alpha too, but I haven't seem a
>>> qemu-system-alpha show up yet. Alas, I have no hardware or specific
>>> expertise in this platform, I'm just trying to build and boot Linux
>>> kernels (and corresponding root filesystems) on as many emulated target
>>> platforms as I can.
>> There are a lot of things missing for qemu-system-alpha to be available:
>> - the PALCode emulation is far from being complete or even usable
>
> I have no idea what that is.
>
>> - there is no hardware machine emulation for Alpha in Qemu.
>> As I have no Alpha platform, I don't know much about the hardware to be
>> emulated.
>
> I do know that the ev6 bus is the same as the Athlon used.
And what about ev5 or ev56? Well ev6 or ev67 should be the main target
to be emulated I think...
> When Compaq bought the corpse of DEC back in the mid-90's, they weren't
> interested in their chip designers, so AMD scooped up most of the Alpha
> design team. AMD then asked them "ok, if you guys were going to design an
> x86 compatible processor, what would it look like?" The result was the
> Athlon back around 1997. You could actually stick one in an Alpha
> motherboard, and the only reason it wouldn't boot is the bios was alpha
> machine language instead of x86 code. Everything else was the same, because
> it's what the designers were familiar with.
Duh. That's new to me - didn't know that yet.
> So if you slap an Alpha in a virtual x86-64 PC motherboard, you're not too far
> off.
>
> Here's one spec:
> http://web.archive.org/web/19990913123756/http://www.unix-ag.org/Linux-Alpha/Architectures/LX164.html
Thanks for those informations!
-of
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-21 10:55 ` Paul Brook
@ 2007-10-22 7:39 ` Oliver Falk
0 siblings, 0 replies; 17+ messages in thread
From: Oliver Falk @ 2007-10-22 7:39 UTC (permalink / raw)
To: qemu-devel
On 10/21/2007 12:55 PM, Paul Brook wrote:
>>> - there is no hardware machine emulation for Alpha in Qemu.
>>> As I have no Alpha platform, I don't know much about the hardware to be
>>> emulated.
>> I do know that the ev6 bus is the same as the Athlon used.
>
> The CPU bus is pretty much irelevant. It's almost entirely transparent from a
> software/emulation PoV.
>
> IIUC some of the alpha machines did use fairly standard PC-style peripherals
> though.
Yes. That's actually right. There where PCs that actually looked like a
standard PC - inside and outside. But it had a Alpha CPU and AlphaBios
of course :-)
-of
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-21 11:06 ` J. Mayer
@ 2007-10-22 7:43 ` Oliver Falk
2007-10-22 22:38 ` J. Mayer
0 siblings, 1 reply; 17+ messages in thread
From: Oliver Falk @ 2007-10-22 7:43 UTC (permalink / raw)
To: qemu-devel
On 10/21/2007 01:06 PM, J. Mayer wrote:
> On Sun, 2007-10-21 at 05:43 -0500, Rob Landley wrote:
>> On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
>>> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
>>>> On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
>>>>> On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
>>>>>> Hi list!
>>>>> Hi you !
>>>>>
>>>>>> Just wanted to know how far the progress on alpha target is? I would
>>>>>> be happy if I have some 'virtual alpha' to test new isos.
>>>>>>
>>>>>> If I can help some way (I have a few alphas around). Let me know.
>>>>> I'm happy to see someone interresting in improving Alpha support, which
>>>>> is .... very alpha for now !
>>>> I'm interested in testing Alpha too, but I haven't seem a
>>>> qemu-system-alpha show up yet. Alas, I have no hardware or specific
>>>> expertise in this platform, I'm just trying to build and boot Linux
>>>> kernels (and corresponding root filesystems) on as many emulated target
>>>> platforms as I can.
>>> There are a lot of things missing for qemu-system-alpha to be available:
>>> - the PALCode emulation is far from being complete or even usable
>> I have no idea what that is.
>
> The PALCode is mainly equivalent to the microcode of most CPU
> architectures. What is different to microcode is that is uses only
> regular Alpha instructions, just adding 4 instructions to access special
> "hardware registers" and access the memory with different priviledge
> levels. Another main idea is that everyone can write its own PALCode
> image and switch to it at run-time. Then, for example, the PALCode ABI
> is not the same one if you run Linux or Windows NT. The PALCode handles
> all complex operations. For example, the CPU provides only TLB and the
> MMU tables search is actually implemented in software, in the PALCode.
> This greatly simplifies the CPU design and allows a high level of
> flexibility. And if your OS need a specific ABI for example to handle
> CPU exception, you define your ABI, write the PALCode using Alpha insns
> and use it ! The Alpha CPU also provide an instruction to do PALCode
> calls from the OS or applications.
> There are 3 (4 ?) "native" PALCode ABIs documented in the Alpha CPUs
> specifications then those can be emulated at the host side in Qemu. It
> is in fact needed to emulate a subset of the PALCode even to run
> user-mode programs.
Pretty good explained! Thanks!
However, what do you need to make the alpha emulation work? Does ssh to
an Alpha help you? I'm quite sure I can offer you access to some ev5
machine very soon and I might give access to some ds10 (ev67 machine).
There's also some ds10 (ev6 'only') machine in Australia, that actually
works as a builder for the AlphaCore project - but it's not mine and I
would need to ask if I can give access to someone else...
-of
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-22 7:43 ` Oliver Falk
@ 2007-10-22 22:38 ` J. Mayer
2007-10-23 13:01 ` Brian Wheeler
0 siblings, 1 reply; 17+ messages in thread
From: J. Mayer @ 2007-10-22 22:38 UTC (permalink / raw)
To: qemu-devel
On Mon, 2007-10-22 at 09:43 +0200, Oliver Falk wrote:
> On 10/21/2007 01:06 PM, J. Mayer wrote:
> > On Sun, 2007-10-21 at 05:43 -0500, Rob Landley wrote:
> >> On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
> >>> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> >>>> On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> >>>>> On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> >>>>>> Hi list!
> >>>>> Hi you !
> >>>>>
> >>>>>> Just wanted to know how far the progress on alpha target is? I would
> >>>>>> be happy if I have some 'virtual alpha' to test new isos.
> >>>>>>
> >>>>>> If I can help some way (I have a few alphas around). Let me know.
> >>>>> I'm happy to see someone interresting in improving Alpha support, which
> >>>>> is .... very alpha for now !
> >>>> I'm interested in testing Alpha too, but I haven't seem a
> >>>> qemu-system-alpha show up yet. Alas, I have no hardware or specific
> >>>> expertise in this platform, I'm just trying to build and boot Linux
> >>>> kernels (and corresponding root filesystems) on as many emulated target
> >>>> platforms as I can.
> >>> There are a lot of things missing for qemu-system-alpha to be available:
> >>> - the PALCode emulation is far from being complete or even usable
> >> I have no idea what that is.
> >
> > The PALCode is mainly equivalent to the microcode of most CPU
> > architectures. What is different to microcode is that is uses only
> > regular Alpha instructions, just adding 4 instructions to access special
> > "hardware registers" and access the memory with different priviledge
> > levels. Another main idea is that everyone can write its own PALCode
> > image and switch to it at run-time. Then, for example, the PALCode ABI
> > is not the same one if you run Linux or Windows NT. The PALCode handles
> > all complex operations. For example, the CPU provides only TLB and the
> > MMU tables search is actually implemented in software, in the PALCode.
> > This greatly simplifies the CPU design and allows a high level of
> > flexibility. And if your OS need a specific ABI for example to handle
> > CPU exception, you define your ABI, write the PALCode using Alpha insns
> > and use it ! The Alpha CPU also provide an instruction to do PALCode
> > calls from the OS or applications.
> > There are 3 (4 ?) "native" PALCode ABIs documented in the Alpha CPUs
> > specifications then those can be emulated at the host side in Qemu. It
> > is in fact needed to emulate a subset of the PALCode even to run
> > user-mode programs.
>
> Pretty good explained! Thanks!
>
>
>
> However, what do you need to make the alpha emulation work? Does ssh to
> an Alpha help you? I'm quite sure I can offer you access to some ev5
> machine very soon and I might give access to some ds10 (ev67 machine).
> There's also some ds10 (ev6 'only') machine in Australia, that actually
> works as a builder for the AlphaCore project - but it's not mine and I
> would need to ask if I can give access to someone else...
I actually do not have a lot of time to spend of Alpha emulation, that's
why it would be great if some could test and compare the execution of
simple programs (then later more complicated one) in order to find the
most obvious emulation bugs, with the linux-user mode emulation.
For this, an access to any Alpha machine could help a lot.
For the full system emulation, a lot of work is to be done, mostly the
PALCode emulation and putting together all elements of an actual
hardware machine. Note that the PALCode emulation could be avoided if
the emulator is able to run native PALCode image but I don't know if
those images are easily available...
--
J. Mayer <l_indien@magic.fr>
Never organized
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-22 22:38 ` J. Mayer
@ 2007-10-23 13:01 ` Brian Wheeler
0 siblings, 0 replies; 17+ messages in thread
From: Brian Wheeler @ 2007-10-23 13:01 UTC (permalink / raw)
To: qemu-devel
On Tue, 2007-10-23 at 00:38 +0200, J. Mayer wrote:
> On Mon, 2007-10-22 at 09:43 +0200, Oliver Falk wrote:
> > On 10/21/2007 01:06 PM, J. Mayer wrote:
> > > On Sun, 2007-10-21 at 05:43 -0500, Rob Landley wrote:
> > >> On Saturday 20 October 2007 3:56:12 am J. Mayer wrote:
> > >>> On Fri, 2007-10-19 at 19:49 -0500, Rob Landley wrote:
> > >>>> On Sunday 14 October 2007 5:14:27 am J. Mayer wrote:
> > >>>>> On Sun, 2007-10-14 at 11:19 +0200, Oliver Falk wrote:
> > >>>>>> Hi list!
> > >>>>> Hi you !
> > >>>>>
> > >>>>>> Just wanted to know how far the progress on alpha target is? I would
> > >>>>>> be happy if I have some 'virtual alpha' to test new isos.
> > >>>>>>
> > >>>>>> If I can help some way (I have a few alphas around). Let me know.
> > >>>>> I'm happy to see someone interresting in improving Alpha support, which
> > >>>>> is .... very alpha for now !
> > >>>> I'm interested in testing Alpha too, but I haven't seem a
> > >>>> qemu-system-alpha show up yet. Alas, I have no hardware or specific
> > >>>> expertise in this platform, I'm just trying to build and boot Linux
> > >>>> kernels (and corresponding root filesystems) on as many emulated target
> > >>>> platforms as I can.
> > >>> There are a lot of things missing for qemu-system-alpha to be available:
> > >>> - the PALCode emulation is far from being complete or even usable
> > >> I have no idea what that is.
> > >
> > > The PALCode is mainly equivalent to the microcode of most CPU
> > > architectures. What is different to microcode is that is uses only
> > > regular Alpha instructions, just adding 4 instructions to access special
> > > "hardware registers" and access the memory with different priviledge
> > > levels. Another main idea is that everyone can write its own PALCode
> > > image and switch to it at run-time. Then, for example, the PALCode ABI
> > > is not the same one if you run Linux or Windows NT. The PALCode handles
> > > all complex operations. For example, the CPU provides only TLB and the
> > > MMU tables search is actually implemented in software, in the PALCode.
> > > This greatly simplifies the CPU design and allows a high level of
> > > flexibility. And if your OS need a specific ABI for example to handle
> > > CPU exception, you define your ABI, write the PALCode using Alpha insns
> > > and use it ! The Alpha CPU also provide an instruction to do PALCode
> > > calls from the OS or applications.
> > > There are 3 (4 ?) "native" PALCode ABIs documented in the Alpha CPUs
> > > specifications then those can be emulated at the host side in Qemu. It
> > > is in fact needed to emulate a subset of the PALCode even to run
> > > user-mode programs.
> >
> > Pretty good explained! Thanks!
> >
> >
> >
> > However, what do you need to make the alpha emulation work? Does ssh to
> > an Alpha help you? I'm quite sure I can offer you access to some ev5
> > machine very soon and I might give access to some ds10 (ev67 machine).
> > There's also some ds10 (ev6 'only') machine in Australia, that actually
> > works as a builder for the AlphaCore project - but it's not mine and I
> > would need to ask if I can give access to someone else...
>
> I actually do not have a lot of time to spend of Alpha emulation, that's
> why it would be great if some could test and compare the execution of
> simple programs (then later more complicated one) in order to find the
> most obvious emulation bugs, with the linux-user mode emulation.
> For this, an access to any Alpha machine could help a lot.
> For the full system emulation, a lot of work is to be done, mostly the
> PALCode emulation and putting together all elements of an actual
> hardware machine. Note that the PALCode emulation could be avoided if
> the emulator is able to run native PALCode image but I don't know if
> those images are easily available...
>
A couple of notes/questions on Alpha emulators:
* there is an open source alpha emulator, but it seems to have stalled.
It is at:
http://www.camicom.com/index.php?option=com_content&task=blogcategory&id=8&Itemid=14
* The palcode is downloadable in one form or another from the old
digital site:
ftp://ftp.digital.com/pub/digital/Alpha/firmware
If the palcode could be emulated directly, it would make the emulation
much faster, however during OS boot, most OSes will override the palcode
settings.
* full-system hardware
All of the mid-to-late models used isa/pci, and usually used
off-the-shelf hardware. I know the scsi controller that was supported
by default was qlogic-based (isp1020), and many systems had bog-standard
IDE controllers (cmd 646). Some of the video cards supported directly
were generic VGA, matrox millenium, s3 trio, plus several proprietary
ones. Ethernet tended to be Digital's 21142/21143 family.
Is there a howto for creating new devices and plugging them into an
existing system emulation? Since all of these devices are pc
compatible, it seems like they could be written and debugged from the PC
emulation and then just plugged into the alpha emulation when its ready.
* does the alpha userspace emulation support dynamically linked
binaries, or does it accept static only? I've never played with it on
any architecture.
Brian
^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [Qemu-devel] qemu alpha?
2007-10-20 8:59 ` Sunil Amitkumar Janki
@ 2007-10-25 23:21 ` Rob Landley
0 siblings, 0 replies; 17+ messages in thread
From: Rob Landley @ 2007-10-25 23:21 UTC (permalink / raw)
To: qemu-devel; +Cc: J. Mayer, Sunil Amitkumar Janki, oliver
On Saturday 20 October 2007 3:59:30 am Sunil Amitkumar Janki wrote:
> Rob Landley wrote:
> > I'm interested in testing Alpha too, but I haven't seem a
> > qemu-system-alpha
> > show up yet. Alas, I have no hardware or specific expertise in this
> > platform, I'm just trying to build and boot Linux kernels (and
> > corresponding root filesystems) on as many emulated target platforms as I
> > can.
> >
> > Rob
>
> Hi Rob,
>
> I've been reading Alpha documentation, that I was pointed to
> by Wikipedia, over the summer, because I too would like to see
> a qemu-system-alpha. The problem is I don't really know how
> to develop for QEMU in general and in particular this target.
>
> The QEMU source code looks very complicated and opaque to me,
> but that may be because I lack the necessary knowledge and
> experience to reach a thorough understanding of it. I would
> appreciate it if someone could tell me where and how to start.
Start here:
http://www.usenix.org/publications/library/proceedings/usenix05/tech/freenix/bellard.html
Fabrice Bellard's Usenix paper describing the design of qemu. (I found the
PDF easier to read, myself.)
Rob
--
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson.
^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-10-25 22:21 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-14 9:19 [Qemu-devel] qemu alpha? Oliver Falk
2007-10-14 10:14 ` J. Mayer
2007-10-20 0:49 ` Rob Landley
2007-10-20 8:56 ` J. Mayer
2007-10-20 12:49 ` Thiemo Seufer
2007-10-21 9:00 ` J. Mayer
2007-10-20 13:39 ` Daniel Jacobowitz
2007-10-21 10:43 ` Rob Landley
2007-10-21 10:55 ` Paul Brook
2007-10-22 7:39 ` Oliver Falk
2007-10-21 11:06 ` J. Mayer
2007-10-22 7:43 ` Oliver Falk
2007-10-22 22:38 ` J. Mayer
2007-10-23 13:01 ` Brian Wheeler
2007-10-22 7:38 ` Oliver Falk
2007-10-20 8:59 ` Sunil Amitkumar Janki
2007-10-25 23:21 ` Rob Landley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).