Jump to content


Photo

Qemu On Xbox


  • Please log in to reply
3 replies to this topic

#1 axboxed

axboxed

    X-S Enthusiast

  • Members
  • 27 posts
  • Location:Australia
  • Xbox Version:v1.6b
  • 360 version:unknown

Posted 02 June 2006 - 05:52 AM

What if Qemu or another emulation prog was ported to run natively on the xbox?

benefits include -

dedicated hardware doesnt need to be flexible in terms of the hardware
not much mem usage more to the guest os

cons -
be a bitch to do
and take along damn time

comments would be great


#2 torne

torne

    X-S Expert

  • Members
  • PipPipPip
  • 684 posts
  • Location:London, UK
  • Interests:Reverse engineering, Linux, crazy operating systems voodoo, embedded development
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 02 June 2006 - 10:24 AM

You could write an x86 emulator that would run under the MS Xbox kernel, yes, but it's unlikely to be a lot better (may even be worse) than a Linux port. The slowness of QEMU is from the processor emulation, not having Linux on top (you can reduce Linux's memory requirements to well under 8MB and leave the remainder for QEMU to use). There's no overhead from being 'flexible' about the hardware, either - QEMU doesn't care what hardware it's running on, it has Linux's device driver layer to take care of the abstraction there. It would be pretty hard, as you suggest smile.gif

If you want to run other OSes efficiently on the Xbox, you'd do better to write/port a virtualisation layer instead, which will *definately* not run under the Xbox kernel (you need direct control over the exception vectors and page tables) - something like the original plex86 project (before they shifted focus to Linux virtualisation) would do nicely. This is also really hard. smile.gif

It's a toss-up whether it'd be easier to get Windows emulated efficiently, or just to port Windows to run natively.

#3 x-fox

x-fox

    X-S Senior Member

  • Members
  • PipPip
  • 206 posts

Posted 08 June 2006 - 01:19 PM

QUOTE(torne @ Jun 2 2006, 10:31 AM) View Post



It's a toss-up whether it'd be easier to get Windows emulated efficiently, or just to port Windows to run natively.


Just to clarify. Windows is not actually emulated under qemu. qemu emulates a x86 machine that is able to run a guest OS. windows can be run efficiently under qemu with a lot of tweaking. This forum did contain many posts on the subject before it was severly pruned. Which is a shame because there were some good pointers.

#4 torne

torne

    X-S Expert

  • Members
  • PipPipPip
  • 684 posts
  • Location:London, UK
  • Interests:Reverse engineering, Linux, crazy operating systems voodoo, embedded development
  • Xbox Version:v1.1
  • 360 version:v1 (xenon)

Posted 09 June 2006 - 03:55 PM

QUOTE(x-fox @ Jun 8 2006, 01:26 PM) View Post

windows can be run efficiently under qemu with a lot of tweaking.

The emulation overhead for normal userspace x86 instructions (the best, fastest case) under QEMU is at least three or four times, even being really generous. Getting a full x86 emulator with no virtualisation support to run any guest OS at more than a quarter or so of the speed of the host processor would be a tremendous feat of emulation, and QEMU certainly doesn't. smile.gif

So, it depends how you define efficiently, and I wouldn't call 25% performance (or less) 'efficient'. Virtualisation allows normal userspace operations to run with zero overhead (same speed as native code) and only select kernel mode operations require lengthier emulation sequences.

It's quite possible to get it to run fast enough to play many old dos/windows games, of course.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users