[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for-4.21] x86/hvm: fix reading from 0xe9 IO port if port E9 hack is active


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>
  • Date: Thu, 2 Oct 2025 16:56:48 +0200
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ZvZ6zqLoJOowut0+PsPB4drCdbO1HTwHruPXRivz1WU=; b=aZzYntMiXd/bLn+5s9vvFADB1vQPfHsjfxzUlVh01HhAdBqct8tO/obH9eXvh5tzu0KDyPiGQ3pwjxy+qY2iYhq8l8/nDs+3SiO8gC1QN8WPcBsWKcKKovyiKhX5oaQL68Ub034ihG0pAbvbTBqVNyXngMfvh0vHttv1ILFhfTvbn86xk6HcfBk0VPTsEV9ot8Cr11sN7yF0OzYVNTwMQREXp5LetthvIsGQ49mmq5FBSmd3BIL50uEECrvV3ZOAcxq41AGcvIiYFdNb4pR17clRs3PJF7iIyQ3yTg/0pxK2wsTfx9VAHR8n7QSFD5w4UrzH6js+WkJphwiGQfP79Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SKDtirGCou1K4SfySqNzMhn5ShmYUXg2OoTh32SxJVbyh1jvCYkgOQGruMk0P6NwgHJ4WJvOvJs1JKN/1aPd9EXsn1h0fzUf0HSnvuyM+NdC1PzArhoRnr4e41CbJOFogfHofJzs48ZXgFsuswI4Q3ZXZA9GRh8LWZj1HGB45wCGwDhNfcvvcYroZEQcXmMCUgghosr05/J1Qk1jtJA4LxBd1L/v/OSbnO4C3M8vwBtnriGxPQdPhuqVqjGwKLNHi+Fpq8JKasJ4pqqSSA+5ZhMvN5U7wwGBrrZdboFqWArcagejGw7P228KN6M3GqYYxRK9sFQCsrHGKUWFfSuYcA==
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, Xen-devel <xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 02 Oct 2025 14:57:00 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On Thu Oct 2, 2025 at 4:17 PM CEST, Roger Pau Monné wrote:
> On Thu, Oct 02, 2025 at 04:02:00PM +0200, Alejandro Vallejo wrote:
>> On Thu Oct 2, 2025 at 3:38 PM CEST, Roger Pau Monné wrote:
>> > On Thu, Oct 02, 2025 at 11:37:36AM +0100, Andrew Cooper wrote:
>> >> On 02/10/2025 11:22 am, Roger Pau Monne wrote:
>> >> > Reading from the E9 port if the emergency console is active should 
>> >> > return
>> >> > 0xe9 according to the documentation from Bochs:
>> >> >
>> >> > https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html
>> >> >
>> >> > See `port_e9_hack` section description.
>> >> >
>> >> > Fix Xen so it also returns the port address.  OSes can use it to detect
>> >> > whether the emergency console is available or not.
>> >> >
>> >> > Fixes: d1bd157fbc9b ("Big merge the HVM full-virtualisation 
>> >> > abstractions.")
>> >> > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
>> >> 
>> >> Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
>> >> 
>> >> That's been wrong for rather a long time.  How did you find it?
>> >
>> > I came across the documentation above and I didn't remember Xen
>> > returning any value for reads, which sadly was indeed true.
>> >
>> > This was because I had the intention to suggest Alejandro to (also?) use
>> > the port 0xe9 hack for printing from XTF, which should work for both
>> > Xen and QEMU.
>> 
>> QEMU doesn't support 0xE9 though?
>
> AFAICT it does:
>
> https://wiki.osdev.org/QEMU#The_debug_console
>
> However when running QEMU on Xen as a device model writes to 0xe9 are
> handled in the hypervisor, and never forwarded to any device model.
>
> Regards, Roger.

The more you know. I searched for it once upon a time and couldn't find it.
Thanks for the pointer.

Regardless, "-debugcon stdio" is functionally equivalent to "-serial stdio"
and the latter can be adapted to work on real hardware too.

Cheers,
Alejandro



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.