[EMAIL PROTECTED] wrote:
> 
> AIUI Intel's new IA64 architecture has support for running old
> IA32 programs.  Perhaps we should target this as well as
> conventional IA32 architectures in order to provide a migration
> path from common IA32 bit OSen to Linux on the IA64 chips.
> 
> Does anyone know whether IA64 supports virtualising IA32 code
> or does IA32 code have direct hardware access?


Ah, a rebirth of the IA64 thread.

Granted I only browsed the IA-64 App Developer's Arch Guide,
but here's some of my reactions so far...

It's looks to me like there are two OS environments provided
by the IA64 processor, WRT 32bit stuff, gleaned from section 2.1.

  - IA64 system environment which can run IA32 binaries, granted
    the 64-bit OS supports this.  My take on this is that this means
    the new 64-bit OS can run 32-bit applications for which it
    provides a compatibility layer for.

  - IA32 system environment, IA32 binaries, granted that the platform
    and firmware support this.  This is vague.  I need to find out more.
    Sounds like if your BIOS supports it, you could actually boot
    into and use the processor in IA32-only mode.

The first option would be useful for situations where say you
wanted to run IA32 Linux applications under an IA64 Linux OS, before
porting them.  Or perhaps any IA32 application that used a clean
interface to the kernel could be run, if you provide the interface
emulation in the IA64 kernel.

The second option seems to give you nothing more than an overpowered
IA32 machine.

What is not mentioned in the book, is the option we are interested in,
that is running whole IA32 OS & app code on the IA64 processor.  The
facilities needed for this appear to be there.  From section 6.1.2:

  "IA-32 operating system resources; IA-32 paging, MTRRs, IDT, control
   registers, debug registers and privileged instructions are
   superceded by IA-64 defined resources.  All accesses to these
   resources result in an interception fault."

My take on this is as follows.  Once you kick the processor in
IA64 mode, the only thing Intel could have done is to generate
some kind of (interception) fault.  In IA32-only mode, I'm not
sure but I'd imagine they just use the normal IA32 facilities.
But once you are running IA32 applications in an IA64
OS framework, you can't just let the IA32 code monkey around with
system stuff.  For example, IO.  Even for CPL0 IA32 code, you
can't have it access the hard drive if your IA64 drivers are.

Also, from Figure 6-1, the graphic depicts a transition from
IA32 to IA64 upon interrupts, exceptions, and software interrupts.
This would be necessary for the processor to virtualize the IA32
environment, just like we need to trap these things.

I haven't read any verbage about running the whole IA32
kernel + application code on the IA64 processor.  Would like
to know more.  Of course, to do this, the processor can not
offer part of what it takes to virtualize things totally - the
emulation of IO devices.  That's completely a software function.
This is probably why I didn't see much about that in there.

There looks to be a very good future in FreeMWare on IA64
as well, because of this.  We would have to have some separate
framework for it because it looks like some of the virtualization layer
would run in the IA64 environment, but we'd still have to plug
into a set of device models and some other common components.

Another feeling I have thus far, is that OSes which use a
clean interface between kernel and application layers and
which don't rely on certain x86 nastiness will port more
rapidly to the IA64 archictecture (fairly obvious), but will
also offer a layer which will run applications for the old
IA32 OS much more quickly, if at all.  Good luck Microsoft!!!

Fortunately, there could be a way to access your old bit-rot OS and
application code on your new IA64 machine:

  gcc -o FreeMWare64 ...

First, let's keep a running tab on IA64 documentation as it becomes
available.  Please post references to any you are or become aware
of.

Second, since Intel has $250Million in it's IA-64 venture fund,
maybe they'll be willing to help out in a non venture capitalist
way to an open source project which will be important to them
if they want the Windows world to move over.

Let's see, there's about 170 of us on the list so far...  Here's
the address:

  emailto:[EMAIL PROTECTED].

-Kevin

Reply via email to