[SeaBIOS] [PATCH] serial console conflicts with serial debugging

Gerd Hoffmann posted 1 patch 6 years, 5 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/seabios tags/patchew/20171102090252.8015-1-kraxel@redhat.com
src/Kconfig | 1 +
1 file changed, 1 insertion(+)
[SeaBIOS] [PATCH] serial console conflicts with serial debugging
Posted by Gerd Hoffmann 6 years, 5 months ago
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 src/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Kconfig b/src/Kconfig
index 4870a3e7b7..985594c51b 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -553,6 +553,7 @@ menu "Debugging"
     config DEBUG_SERIAL
         depends on DEBUG_LEVEL != 0
         bool "Serial port debugging"
+        depends on !SERCON
         default n
         help
             Send debugging information to serial port.
-- 
2.9.3


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] serial console conflicts with serial debugging
Posted by Stephen Douthit 6 years, 5 months ago
On 11/02/2017 05:02 AM, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>   src/Kconfig | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/src/Kconfig b/src/Kconfig
> index 4870a3e7b7..985594c51b 100644
> --- a/src/Kconfig
> +++ b/src/Kconfig
> @@ -553,6 +553,7 @@ menu "Debugging"
>       config DEBUG_SERIAL
>           depends on DEBUG_LEVEL != 0
>           bool "Serial port debugging"
> +        depends on !SERCON
>           default n
>           help
>               Send debugging information to serial port.
> 

Could we instead add a config option to set the default to SERCON UART
address like we do for the debug UART address?

Some boards have different UARTs for debug and user console, so I don't
think we want these to be mutually exclusive.

How about something like this instead:

Signed-off-by: Stephen Douthit <stephend@adiengineering.com>

---
 src/Kconfig  | 6 ++++++
 src/sercon.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/Kconfig b/src/Kconfig
index 55a87cb..03b0310 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -311,6 +311,12 @@ menu "Hardware support"
         default y
         help
             Support redirecting vga output to the serial console.
+    config SERCON_PORT
+        hex "Serial console port base address"
+	default 0x3f8
+        help
+            Base port for serial console - generally 0x3f8, 0x2f8, 0x3e8,
+	    or 0x2e8.  Can be overridden via etc/sercon-port romfile.
     config LPT
         bool "Parallel port"
         default y
diff --git a/src/sercon.c b/src/sercon.c
index 5d27051..354ffd9 100644
--- a/src/sercon.c
+++ b/src/sercon.c
@@ -516,7 +516,7 @@ void sercon_setup(void)
     struct segoff_s seabios, vgabios;
     u16 addr;
 
-    addr = romfile_loadint("etc/sercon-port", 0);
+    addr = romfile_loadint("etc/sercon-port", CONFIG_SERCON_PORT);
     if (!addr)
         return;
     dprintf(1, "sercon: using ioport 0x%x\n", addr);
-- 
2.13.6


_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] serial console conflicts with serial debugging
Posted by Kevin O'Connor 6 years, 5 months ago
On Thu, Nov 02, 2017 at 10:02:52AM +0100, Gerd Hoffmann wrote:
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>

If we defaulted "screen-and-debug" to zero on sercon, would that be
sufficient?

I think having both sercon and serial debug would be desirable on
coreboot.

-Kevin

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios
Re: [SeaBIOS] [PATCH] serial console conflicts with serial debugging
Posted by Gerd Hoffmann 6 years, 5 months ago
On Thu, 2017-11-02 at 11:11 -0400, Kevin O'Connor wrote:
> On Thu, Nov 02, 2017 at 10:02:52AM +0100, Gerd Hoffmann wrote:
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> 
> If we defaulted "screen-and-debug" to zero on sercon, would that be
> sufficient?

Improves the situation, output more readable.  But sercon's idea of the
cursor position etc. doesn't match reality any more due to the
additional debug output, which still messes things up a bit.  I can
live with that though.

Tested patch:

--- a/src/sercon.c
+++ b/src/sercon.c
@@ -523,6 +523,10 @@ void sercon_setup(void)
         return;
     dprintf(1, "sercon: using ioport 0x%x\n", addr);
 
+    if (CONFIG_DEBUG_SERIAL)
+        if (addr == CONFIG_DEBUG_SERIAL_PORT)
+            ScreenAndDebug = 0;
+
     vgabios = GET_IVT(0x10);
     seabios = FUNC16(entry_10);
     if (vgabios.seg != seabios.seg ||

_______________________________________________
SeaBIOS mailing list
SeaBIOS@seabios.org
https://mail.coreboot.org/mailman/listinfo/seabios