Loading ...
Sorry, an error occurred while loading the content.

Re: [solarisx86] Re: Does Solaris Express include x64?

Expand Messages
  • Casper.Dik@Sun.COM
    ... It s certainly tecnically possible on certain architectures, but possibly not on AMD64. It is not possible to access the 64 bit registers in 32 bit mode.
    Message 1 of 15 , Apr 1 1:33 AM
    • 0 Attachment
      >I asked because in fact on AIX I can run 64bit app on a 32bit kernel
      >with 64bit Power chips.
      >I think the kernel handles converting between ILP32/syscall32 and
      >LP64/syscall64,
      >but I am a little fuzzy about this.

      It's certainly tecnically possible on certain architectures, but possibly
      not on AMD64. It is not possible to access the 64 bit registers in 32 bit
      mode.

      I think it would be possible on SPARC but it's really all about engineering
      choices and budgets in such cases. And the main reason to go with 64 bit
      kernels was that the kernel was running out of VM. But you can access the
      64 bit globals and out registers and that way you may be able to interpret
      the 64 bit syscall arguments properly.

      However, the main incentive for doing so would be the ability to use
      32 bit device drivers for which no 64 bit equivalent existed yet; and
      a 32 bit kernel with 64 bit userland would also require the device drivers
      to be rewritten (e.g., to perform copyout/copyin to 64 bit addresses)

      Casper
    • Casper.Dik@Sun.COM
      ... Obviously, there would be a second trap table and a syscall layer working with 64 bit user land pointers . It s all a small matter of programming, realy.
      Message 2 of 15 , Apr 1 1:36 AM
      • 0 Attachment
        >We've always taken care to provide exactly the same programming
        >interfaces for 32 bit apps under 32 and 64 bit kernels; the whole idea
        >is not to create 2 ABIs. I don't see how 32 bit kernels could handle
        >
        > ...
        > write(1, buffer, 1 << 34);
        > ...


        Obviously, there would be a second trap table and a syscall layer
        working with 64 bit "user land pointers". It's all a small matter of
        programming, realy.

        But you'd need to change all the kernel APIs to accept the long pointers;
        "copyin64", "copyout64", etc. Major kernel surgery, no driver binary
        compatibility, so a futile exercise.

        Casper
      • Rich Teer
        ... Yep. Solaris Express is at least a couple of steps ahead of the currently shipping version of Solaris proper. SX has supported X64 since late last year.
        Message 3 of 15 , Apr 1 6:50 AM
        • 0 Attachment
          On Fri, 1 Apr 2005, Shawn Walker wrote:

          > Seem to imply that Solaris Express is x86 / SPARC only, and not x64...
          >
          > At least since the normal Solaris 10 GA Download page says x64/x86
          > specifically, while the Express page does not...
          >
          > Am I reading into things too much or is this the case?

          Yep. Solaris Express is at least a couple of steps ahead of the currently
          shipping version of Solaris proper. SX has supported X64 since late last
          year.

          > Blogs on sun.blogs.com seem to indicate this so, perhaps the web page
          > should be updated to better reflect this?

          Probably. Although perhaps the thinking is that as far as Solaris is
          concerned, "x86" covers 64-bit x64 stuff too.

          --
          Rich Teer, SCNA, SCSA

          President,
          Rite Online Inc.

          Voice: +1 (250) 979-1638
          URL: http://www.rite-group.com/rich
        • Tao Chen
          Bob and Casper, All good comments. I may look into AIX s implementation more later ( not that I can share anything :) ) when I have time. I believe there re
          Message 4 of 15 , Apr 1 9:37 AM
          • 0 Attachment
            Bob and Casper,

            All good comments. I may look into AIX's implementation more later (
            not that I can share anything :) ) when I have time.

            I believe there're still some limitations running 64bit app on 32bit AIX kernel
            (like the address space layout is not exactly the same as in 64bit kernel)
            and I am sure 64bit device drvier doesn't run on 32bit kernel, and vice-versa

            Tao

            On Apr 1, 2005 3:36 AM, Casper.Dik@... <Casper.Dik@...> wrote:
            >
            >
            > >We've always taken care to provide exactly the same programming
            > >interfaces for 32 bit apps under 32 and 64 bit kernels; the whole idea
            > >is not to create 2 ABIs. I don't see how 32 bit kernels could handle
            > >
            > > ...
            > > write(1, buffer, 1 << 34);
            > > ...
            >
            >
            > Obviously, there would be a second trap table and a syscall layer
            > working with 64 bit "user land pointers". It's all a small matter of
            > programming, realy.
            >
            > But you'd need to change all the kernel APIs to accept the long pointers;
            > "copyin64", "copyout64", etc. Major kernel surgery, no driver binary
            > compatibility, so a futile exercise.
            >
            > Casper
            >
            >
            >
            > Please check the Links page before posting:
            > http://groups.yahoo.com/group/solarisx86/links
            > Post message: solarisx86@yahoogroups.com
            > UNSUBSCRIBE: solarisx86-unsubscribe@yahoogroups.com
            >
            >
            >
            >
            > ________________________________
            > Yahoo! Groups Links
            >
            >
            > To visit your group on the web, go to:
            > http://groups.yahoo.com/group/solarisx86/
            >
            > To unsubscribe from this group, send an email to:
            > solarisx86-unsubscribe@yahoogroups.com
            >
            > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
          Your message has been successfully submitted and would be delivered to recipients shortly.