Re: [edk2] SerialDxe with BaseSerialPortLib16550 and standard PC com port

2019-03-20 Thread Jacob Burkholder
Hi Mike, I didn't change any of these because the defaults seemed to be
what I wanted, 115200, 8n1.  I also wasn't sure which one of for example
PcdUartDefaultBaudRate or PcdSerialBaudRate would actually be used.  In any
case both seemed to be set to the same sane default 115200, 8n1, which is
what I wanted.  The baud rate seems to be set correctly because output
works, but this may also just be the hardware reset default for the divisor
(1).  My edk2 checkout is a bit behind HEAD, the only local change I have
is what I mentioned before to use BaseSerialPortLib16550 instead of
BaseSerialPortLibNull.

Regards,

Jake

[jake@localhost edk2]$ git log -n 1
commit cce9d763580a955d294a5e3696cbe07a03965e2b (HEAD -> master,
origin/master, origin/HEAD)
Author: Feng, Bob C 
Date:   Wed Jan 16 19:12:00 2019 +0800

BaseTools: Allow empty value for HiiPcd in Dsc

https://bugzilla.tianocore.org/show_bug.cgi?id=1466

DEC file defines PCD default value and PCD supported type.
DSC can configure PCD type and value.
If the value is same to default value in DEC file,
DSC can only configure PCD type and leave empty for value.
This usage supports all type PCD except for DynamicHii type.
So, DynamicHii PCD should support this usage. Below is one example in
DSC.

for example,
[PcdsDynamicHii.common.DEFAULT]
PcdPkgTokenSpaceGuid.PcdCName|L"VarName"|gVarGuid|0x00||NV,BS

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng 
Cc: Liming Gao 
Cc: Jaben Carsey 
Reviewed-by: Liming Gao 
[jake@localhost edk2]$ git diff
diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc
index 93eaf4b404..4bbc7517d7 100644
--- a/MdeModulePkg/MdeModulePkg.dsc
+++ b/MdeModulePkg/MdeModulePkg.dsc
@@ -76,7 +76,7 @@
   DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf

 
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf

 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
+
SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf^M
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf

 
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf


On Wed, Mar 20, 2019 at 12:06 PM Kinney, Michael D <
michael.d.kin...@intel.com> wrote:

> What are the PCDs settings you are using for the
> SerialPortLib?
>
> Thanks,
>
> Mike
>
> > -Original Message-
> > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org]
> > On Behalf Of Jacob Burkholder
> > Sent: Tuesday, March 19, 2019 7:06 PM
> > To: edk2-devel@lists.01.org
> > Subject: [edk2] SerialDxe with BaseSerialPortLib16550 and
> > standard PC com port
> >
> > Greetings!
> >
> > I had trouble using SerialDxe.efi with
> > BaseSerialPortLib16550 on a standard
> > PC com port (com1).  The PC is an asrock motherboard
> > running whatever EFI
> > bios it came with.  I changed MdeModulePkg.dsc so that
> > BaseSerialPortLib16550 would be used instead of
> > BaseSerialPortLibNull and
> > then rebuilt SerialDxe.efi and loaded and started it
> > using
> > BootServices->{LoadImage,StartImage}.
> >
> > Output works but input doesn't work, typed characters
> > aren't received by
> > the uart.  I looked at the code briefly and it seems like
> > the uart isn't
> > initialized properly.  I used this script to get input
> > working (the
> > commands should be self explanatory, they're not efi
> > shell commands though):
> >
> > image SerialDxe.efi
> > outb 0x3fb 0x83
> > outw 0x3f8 1
> > outb 0x3fb 0x3
> > outb 0x3fc 0x3
> >
> > Any chance it can be fixed upstream?
> >
> > Thanks,
> >
> > Jake
> > ___
> > edk2-devel mailing list
> > edk2-devel@lists.01.org
> > https://lists.01.org/mailman/listinfo/edk2-devel
>
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] SerialDxe with BaseSerialPortLib16550 and standard PC com port

2019-03-19 Thread Jacob Burkholder
Greetings!

I had trouble using SerialDxe.efi with BaseSerialPortLib16550 on a standard
PC com port (com1).  The PC is an asrock motherboard running whatever EFI
bios it came with.  I changed MdeModulePkg.dsc so that
BaseSerialPortLib16550 would be used instead of BaseSerialPortLibNull and
then rebuilt SerialDxe.efi and loaded and started it using
BootServices->{LoadImage,StartImage}.

Output works but input doesn't work, typed characters aren't received by
the uart.  I looked at the code briefly and it seems like the uart isn't
initialized properly.  I used this script to get input working (the
commands should be self explanatory, they're not efi shell commands though):

image SerialDxe.efi
outb 0x3fb 0x83
outw 0x3f8 1
outb 0x3fb 0x3
outb 0x3fc 0x3

Any chance it can be fixed upstream?

Thanks,

Jake
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel