On Thu, Jan 05, 2012 at 12:26:31AM +0000, Julian Pidancet wrote:
On Thu, Jan 5, 2012 at 12:05 AM, Kevin O'Connor kevin@koconnor.net wrote:
On Wed, Jan 04, 2012 at 05:19:59PM +0000, Julian Pidancet wrote:
On Sat, Nov 5, 2011 at 2:43 AM, Julian Pidancet julian.pidancet@gmail.com wrote:
When running on Xen, use Xen debug io port as debug output instead of Bochs one.
I'm leery of having multiple "magic" debug ports. Is it possible for Xen to pick up port 0x0402 (or use the qemu style -device isa-debugcon,iobase=0x402 command line option)?
Well, I initially thought that 0x402 was a bochs specific debug port. Now I'm not too sure about this any longuer, because I just found in the bochs documentation that 0xe9 can be used as well: http://bochs.sourceforge.net/doc/docbook/user/bochsrc.html (port_e9_hack)
Can you enlighten me as to the origin of the 0x402 port ?
As far as I know, it's a Bochs BIOS thing (see rombios.h). Bochs seems to have lots of debug ports (eg, 0x400-0x403) - I'm not sure why. Qemu also has code for port 0x402 if DEBUG_BIOS is enabled in hw/pc.c - though it's much easier to use the isa-debugcon command line option.
Also note that the DBUG() method in SeaBIOS' src/acpi-dsdt.dsl is also setup to use port 0x402 right now.
I really doubt picking up a new debug port in xen would be acceptable because 0xe9 has been around for a long time and it would certainly break legacy code.
Is the issue that writes to 0x402 are causing an issue on Xen, or just that you don't see the debug output?
What's the origin of 0xe9 - is it a "standard" for debug output? What does Xen do today on writes to 0xe9?
-Kevin
On Thu, Jan 5, 2012 at 12:44 AM, Kevin O'Connor kevin@koconnor.net wrote:
Is the issue that writes to 0x402 are causing an issue on Xen, or just that you don't see the debug output?
What's the origin of 0xe9 - is it a "standard" for debug output? What does Xen do today on writes to 0xe9?
Xen has some sort of ring buffer similar to the linux one, that you can access using the xl dmesg command. Every guest access to the 0xe9 port is trapped by the hypervisor which appends the characters to the ring buffer. I doubt 0x402 does anything on Xen, aside from beeing trapped in qemu if configured correctly, but I havn't tried.