Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Mar 2020 14:59:10 +0200
From:      Toomas Soome <tsoome@me.com>
To:        junchoon@dec.sakura.ne.jp
Cc:        Ruslan Garipov <brigadir15@gmail.com>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r358989 - in head/stand/efi: libefi loader loader/arch/arm loader/arch/arm64
Message-ID:  <889F68BB-59AE-4381-8947-10B769CF7008@me.com>
In-Reply-To: <20200320202906.8fcd15f65de67d54d31c5547@dec.sakura.ne.jp>
References:  <20200316001745.07df62f72d647b924b657d86@dec.sakura.ne.jp> <746EE981-536F-49AD-9B76-F9F103ECB1F9@me.com> <20200317211614.bbe1b18a32d7863941fffbe8@dec.sakura.ne.jp> <55b1f91b-6157-bfee-cd74-124ed50bc663@gmail.com> <EFDD40A1-3583-489A-9F4A-50BD19B5049E@me.com> <944c641f-b570-1420-6b63-96374217d795@gmail.com> <4ABF87AE-948F-43A8-940A-744FC2F4DE4D@me.com> <20200319213329.f354314a9a72e1419d76d2ba@dec.sakura.ne.jp> <BCBD8E38-32D5-42D2-B097-1CB2B4278B21@me.com> <20200320202906.8fcd15f65de67d54d31c5547@dec.sakura.ne.jp>

next in thread | previous in thread | raw e-mail | index | archive | help


> On 20. Mar 2020, at 13:29, Tomoaki AOKI <junchoon@dec.sakura.ne.jp> =
wrote:
>=20
>=20
> Maybe I got a hint...
> COLUMNS and LINES (either `show` on loader prompt or `kenv` on running
> system) only appears when I manually set any mode by ex. `mode 0`
> on loader prompt. Just viewing current mode by `mode` doesn't affect.
>=20
> If `mode 0`, COLUMNS=3D"80" LINES=3D"25" and if `mode 3` COLUMNS=3D"128"=

> LINES=3D"40". (Actually, 128x48 screen after starting kernel, though.)
>=20
> This would mean COLUMNS and LINES cannot be fetched properly unless
> mode is manually set on loader prompt.
> Can it be any hint for you, Toomas?
>=20

having *no* COLUMNS and LINES is greatly confusing because we set them =
just before we return from efi_cons_update_mode() in =
efi/libefi/efi_console.c. I specifically did change that with last =
patch, so we would get the values, and we do not return early as we did =
before.

And yes, we do update COLUMNS/LINES from command_mode() in =
efi/loader/main.c, by calling this same efi_cons_update_mode(). Perhaps =
we should read current mode and set it from efi_cons_probe() to work =
around this bug.=20

But thank you from this feedback, it is really helpful.

thanks,
toomas


>=20
> FYI, on loader prompt,=20
>=20
> `mode`
> Current mode: 0
> Mode 0: 80 columns, 25 rows
> Mode 2: 100 columns, 31 rows
> Mode 3: 128 columns, 40 rows
> Select a mode with the command "mode <number>"
> OK
>=20
> `gop list`
> mode 0: 640x480x32, stride=3D640
> mode 1: 800x600x32, stride=3D800
> mode 2: 1024x768x32, stride=3D1024
> OK
>=20
>=20
> On running system after `mode 0` on loader prompt:
>=20
> =3D=3D=3D kenv output excluding hardware serial No. and UUID below =3D=3D=
=3D
>=20
> COLUMNS=3D"80"
> LINES=3D"25"
> acpi.oem=3D"LENOVO"
> acpi.revision=3D"2"
> acpi.rsdp=3D"0x000000004fd0e014"
> acpi.rsdt=3D"0x000000004fd0c0c4"
> acpi.xsdt=3D"0x000000004fd0c188"
> acpi.xsdt_length=3D"36"
> autoboot_delay=3D"NO"
> bootenv_autolist=3D"YES"
> bootenvs[0]=3D"zfs:zsysS05/ROOT/head-r359007-boot1Rev6TA3"
> bootenvs[10]=3D"zfs:zsysS05/ROOT/head-r358565-boot1Rev6TA3"
> bootenvs[11]=3D"zfs:zsysS05/ROOT/he<"
> bootenvs[12]=3D"zfs:zsysS05/ROOT/"
> bootenvs[13]=3D"zfs:zsysS05/ROOT/boot1Rev6TA3"
> bootenvs[14]=3D"zfs:zsysS05/ROOT/"
> bootenvs[1]=3D"zfs:zsysS05/ROOT/head-r359005-boot1Rev6TA3"
> bootenvs[2]=3D"zfs:zsysS05/ROOT/head-r358989-boot1Rev6TA3"
> bootenvs[3]=3D"zfs:zsysS05/ROOT/head-r358906-boot1Rev6TA3"
> bootenvs[4]=3D"zfs:zsysS05/ROOT/head-r358872-boot1Rev6TA3"
> bootenvs[5]=3D"zfs:zsysS05/ROOT/head-r358865-boot1Rev6TA3-2"
> bootenvs[6]=3D"zfs:zsysS05/ROOT/head-r358827-boot1Rev6TA3"
> bootenvs[7]=3D"zfs:zsysS05/ROOT/head-r358734-boot1Rev6TA3"
> bootenvs[8]=3D"zfs:zsysS05/ROOT/head-r358729-boot1Rev6TA3"
> bootenvs[9]=3D"zfs:zsysS05/ROOT/head-r358669-boot1Rev6TA3"
> bootenvs_count=3D"15"
> bootfile=3D"kernel"
> comconsole_pcidev=3D""
> comconsole_port=3D"1016"
> comconsole_speed=3D"9600"
> console=3D"efi"
> currdev=3D"zfs:zsysS05/ROOT/default:"
> efi-version=3D"2.60"
> efi_max_resolution=3D"2160p"
> hint.acpi.0.oem=3D"LENOVO"
> hint.acpi.0.revision=3D"2"
> hint.acpi.0.rsdp=3D"0x000000004fd0e014"
> hint.acpi.0.rsdt=3D"0x000000004fd0c0c4"
> hint.acpi.0.xsdt=3D"0x000000004fd0c188"
> hint.acpi.0.xsdt_length=3D"36"
> hint.acpi_throttle.0.disabled=3D"1"
> hint.atkbd.0.at <http://hint.atkbd.0.at/>=3D"atkbdc"
> hint.atkbd.0.irq=3D"1"
> hint.atkbdc.0.at <http://hint.atkbdc.0.at/>=3D"isa"
> hint.atkbdc.0.port=3D"0x060"
> hint.atrtc.0.at <http://hint.atrtc.0.at/>=3D"isa"
> hint.atrtc.0.irq=3D"8"
> hint.atrtc.0.port=3D"0x70"
> hint.attimer.0.at <http://hint.attimer.0.at/>=3D"isa"
> hint.attimer.0.irq=3D"0"
> hint.attimer.0.port=3D"0x40"
> hint.fd.0.at <http://hint.fd.0.at/>=3D"fdc0"
> hint.fd.0.drive=3D"0"
> hint.fd.1.at <http://hint.fd.1.at/>=3D"fdc0"
> hint.fd.1.drive=3D"1"
> hint.fdc.0.at <http://hint.fdc.0.at/>=3D"isa"
> hint.fdc.0.drq=3D"2"
> hint.fdc.0.irq=3D"6"
> hint.fdc.0.port=3D"0x3F0"
> hint.p4tcc.0.disabled=3D"1"
> hint.ppc.0.at <http://hint.ppc.0.at/>=3D"isa"
> hint.ppc.0.irq=3D"7"
> hint.psm.0.at <http://hint.psm.0.at/>=3D"atkbdc"
> hint.psm.0.irq=3D"12"
> hint.sc.0.at <http://hint.sc.0.at/>=3D"isa"
> hint.sc.0.flags=3D"0x100"
> hint.smbios.0.mem=3D"0x4d580000"
> hint.uart.0.at <http://hint.uart.0.at/>=3D"isa"
> hint.uart.0.flags=3D"0x10"
> hint.uart.0.irq=3D"4"
> hint.uart.0.port=3D"0x3F8"
> hint.uart.1.at <http://hint.uart.1.at/>=3D"isa"
> hint.uart.1.irq=3D"3"
> hint.uart.1.port=3D"0x2F8"
> hw.ata.atapi_dma=3D"1"
> hw.ibrs_disable=3D"0"
> hw.pci.allow_unsupported_io_range=3D"1"
> hw.psm.elantech_support=3D"1"
> hw.psm.trackpoint_support=3D"1"
> interpret=3D"OK"
> kern.hz=3D"8192"
> kern.ipc.semmni=3D"40"
> kern.ipc.semmns=3D"300"
> kern.ipc.shm_use_phys=3D"1"
> kern.ipc.shmmni=3D"1024"
> kern.ipc.shmseg=3D"1024"
> kern.maxfiles=3D"250000"
> kern.vty=3D"vt"
> kernel=3D"kernel"
> kernel_options=3D""
> kernel_path=3D"/boot/kernel"
> kernelname=3D"/boot/kernel/kernel"
> kernels=3D"kernel kernel.old"
> kernels_autodetect=3D"YES"
> loaddev=3D"zfs:zsysS05/ROOT/default:"
> loader_conf_files=3D"/boot/device.hints /boot/loader.conf =
/boot/loader.conf.local"
> machdep.mitigations.taa.enable=3D"3"
> module_blacklist=3D"drm drm2 radeonkms i915kms amdgpu"
> module_path=3D"/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays"
> net.graph.maxdata=3D"65536"
> nextboot_conf=3D"/boot/nextboot.conf"
> nextboot_enable=3D"NO"
> prompt=3D"${interpret}"
> script.lang=3D"lua"
> smbios.bios.reldate=3D"11/04/2019"
> smbios.bios.vendor=3D"LENOVO"
> smbios.bios.version=3D"N2CET48W (1.31 )"
> smbios.chassis.maker=3D"LENOVO"
> smbios.chassis.serial=3D"********"
> smbios.chassis.tag=3D"No Asset Information"
> smbios.chassis.version=3D"None"
> smbios.memory.enabled=3D"33554432"
> smbios.planar.location=3D"Not Available"
> smbios.planar.maker=3D"LENOVO"
> smbios.planar.product=3D"20M9CTO1WW"
> smbios.planar.serial=3D"***********"
> smbios.planar.tag=3D"Not Available"
> smbios.planar.version=3D"SDK0J40697 WIN"
> smbios.socket.enabled=3D"1"
> smbios.socket.populated=3D"1"
> smbios.system.family=3D"ThinkPad P52"
> smbios.system.maker=3D"LENOVO"
> smbios.system.product=3D"20M9CTO1WW"
> smbios.system.serial=3D"********"
> smbios.system.sku=3D"LENOVO_MT_20M9_BU_Think_FM_ThinkPad P52"
> smbios.system.uuid=3D"********-****-****-****-************"
> smbios.system.version=3D"ThinkPad P52"
> smbios.version=3D"3.1"
> teken.bg_color=3D"0"
> teken.fg_color=3D"7"
> twiddle_divisor=3D"1"
> verbose_loading=3D"NO"
> vfs.root.mountfrom=3D"zfs:zsysS05/ROOT/default"
> vfs.zfs.abd_chunk_size=3D"1024"
> vfs.zfs.prefetch_disable=3D"1"
> vm.pmap.pti=3D"1"
> zfs_be_active=3D"zfs:zsysS05/ROOT/default"
> zfs_be_currpage=3D"1"
> zfs_be_root=3D"zsysS05/ROOT"
>=20
> =3D=3D=3D kenv output excluding hardware serial No. and UUID above =3D=3D=
=3D
>=20
>=20
>>=20
>>>=20
>>> =3D=3D=3D `kenv` output except hardware serial No. and UUID below =
=3D=3D=3D
>>>=20
>>> acpi.oem=3D"LENOVO"
>>> acpi.revision=3D"2"
>>> acpi.rsdp=3D"0x000000004fd0e014"
>>> acpi.rsdt=3D"0x000000004fd0c0c4"
>>> acpi.xsdt=3D"0x000000004fd0c188"
>>> acpi.xsdt_length=3D"36"
>>> bootenv_autolist=3D"YES"
>>> bootenvs[0]=3D"zfs:zsysS05/ROOT/head-r359007-boot1Rev6TA3"
>>> bootenvs[10]=3D"zfs:zsysS05/ROOT/head-r358565-boot1Rev6TA3"
>>> bootenvs[11]=3D"zfs:zsysS05/ROOT/"
>>> bootenvs[1]=3D"zfs:zsysS05/ROOT/head-r359005-boot1Rev6TA3"
>>> bootenvs[2]=3D"zfs:zsysS05/ROOT/head-r358989-boot1Rev6TA3"
>>> bootenvs[3]=3D"zfs:zsysS05/ROOT/head-r358906-boot1Rev6TA3"
>>> bootenvs[4]=3D"zfs:zsysS05/ROOT/head-r358872-boot1Rev6TA3"
>>> bootenvs[5]=3D"zfs:zsysS05/ROOT/head-r358865-boot1Rev6TA3-2"
>>> bootenvs[6]=3D"zfs:zsysS05/ROOT/head-r358827-boot1Rev6TA3"
>>> bootenvs[7]=3D"zfs:zsysS05/ROOT/head-r358734-boot1Rev6TA3"
>>> bootenvs[8]=3D"zfs:zsysS05/ROOT/head-r358729-boot1Rev6TA3"
>>> bootenvs[9]=3D"zfs:zsysS05/ROOT/head-r358669-boot1Rev6TA3"
>>> bootenvs_count=3D"12"
>>> bootfile=3D"kernel"
>>> comconsole_pcidev=3D""
>>> comconsole_port=3D"1016"
>>> comconsole_speed=3D"9600"
>>> console=3D"efi"
>>> currdev=3D"zfs:zsysS05/ROOT/default:"
>>> efi-version=3D"2.60"
>>> efi_max_resolution=3D"2160p"
>>> hint.acpi.0.oem=3D"LENOVO"
>>> hint.acpi.0.revision=3D"2"
>>> hint.acpi.0.rsdp=3D"0x000000004fd0e014"
>>> hint.acpi.0.rsdt=3D"0x000000004fd0c0c4"
>>> hint.acpi.0.xsdt=3D"0x000000004fd0c188"
>>> hint.acpi.0.xsdt_length=3D"36"
>>> hint.acpi_throttle.0.disabled=3D"1"
>>> hint.atkbd.0.at <http://hint.atkbd.0.at/>; <http://hint.atkbd.0.at/ =
<http://hint.atkbd.0.at/>>=3D"atkbdc"
>>> hint.atkbd.0.irq=3D"1"
>>> hint.atkbdc.0.at <http://hint.atkbdc.0.at/>; =
<http://hint.atkbdc.0.at/ <http://hint.atkbdc.0.at/>>=3D"isa"
>>> hint.atkbdc.0.port=3D"0x060"
>>> hint.atrtc.0.at <http://hint.atrtc.0.at/>; <http://hint.atrtc.0.at/ =
<http://hint.atrtc.0.at/>>=3D"isa"
>>> hint.atrtc.0.irq=3D"8"
>>> hint.atrtc.0.port=3D"0x70"
>>> hint.attimer.0.at <http://hint.attimer.0.at/>; =
<http://hint.attimer.0.at/ <http://hint.attimer.0.at/>>=3D"isa"
>>> hint.attimer.0.irq=3D"0"
>>> hint.attimer.0.port=3D"0x40"
>>> hint.fd.0.at <http://hint.fd.0.at/>; <http://hint.fd.0.at/ =
<http://hint.fd.0.at/>>=3D"fdc0"
>>> hint.fd.0.drive=3D"0"
>>> hint.fd.1.at <http://hint.fd.1.at/>; <http://hint.fd.1.at/ =
<http://hint.fd.1.at/>>=3D"fdc0"
>>> hint.fd.1.drive=3D"1"
>>> hint.fdc.0.at <http://hint.fdc.0.at/>; <http://hint.fdc.0.at/ =
<http://hint.fdc.0.at/>>=3D"isa"
>>> hint.fdc.0.drq=3D"2"
>>> hint.fdc.0.irq=3D"6"
>>> hint.fdc.0.port=3D"0x3F0"
>>> hint.p4tcc.0.disabled=3D"1"
>>> hint.ppc.0.at <http://hint.ppc.0.at/>; <http://hint.ppc.0.at/ =
<http://hint.ppc.0.at/>>=3D"isa"
>>> hint.ppc.0.irq=3D"7"
>>> hint.psm.0.at <http://hint.psm.0.at/>; <http://hint.psm.0.at/ =
<http://hint.psm.0.at/>>=3D"atkbdc"
>>> hint.psm.0.irq=3D"12"
>>> hint.sc.0.at <http://hint.sc.0.at/>; <http://hint.sc.0.at/ =
<http://hint.sc.0.at/>>=3D"isa"
>>> hint.sc.0.flags=3D"0x100"
>>> hint.smbios.0.mem=3D"0x4d580000"
>>> hint.uart.0.at <http://hint.uart.0.at/>; <http://hint.uart.0.at/ =
<http://hint.uart.0.at/>>=3D"isa"
>>> hint.uart.0.flags=3D"0x10"
>>> hint.uart.0.irq=3D"4"
>>> hint.uart.0.port=3D"0x3F8"
>>> hint.uart.1.at <http://hint.uart.1.at/>; <http://hint.uart.1.at/ =
<http://hint.uart.1.at/>>=3D"isa"
>>> hint.uart.1.irq=3D"3"
>>> hint.uart.1.port=3D"0x2F8"
>>> hw.ata.atapi_dma=3D"1"
>>> hw.ibrs_disable=3D"0"
>>> hw.pci.allow_unsupported_io_range=3D"1"
>>> hw.psm.elantech_support=3D"1"
>>> hw.psm.trackpoint_support=3D"1"
>>> kern.hz=3D"8192"
>>> kern.ipc.semmni=3D"40"
>>> kern.ipc.semmns=3D"300"
>>> kern.ipc.shm_use_phys=3D"1"
>>> kern.ipc.shmmni=3D"1024"
>>> kern.ipc.shmseg=3D"1024"
>>> kern.maxfiles=3D"250000"
>>> kern.vty=3D"vt"
>>> kernel=3D"kernel"
>>> kernel_options=3D""
>>> kernel_path=3D"/boot/kernel"
>>> kernelname=3D"/boot/kernel/kernel"
>>> kernels=3D"kernel kernel.old"
>>> kernels_autodetect=3D"YES"
>>> loaddev=3D"zfs:zsysS05/ROOT/default:"
>>> loader_conf_files=3D"/boot/device.hints /boot/loader.conf =
/boot/loader.conf.local"
>>> machdep.mitigations.taa.enable=3D"3"
>>> module_blacklist=3D"drm drm2 radeonkms i915kms amdgpu"
>>> =
module_path=3D"/boot/kernel;/boot/modules;/boot/dtb;/boot/dtb/overlays"
>>> net.graph.maxdata=3D"65536"
>>> nextboot_conf=3D"/boot/nextboot.conf"
>>> nextboot_enable=3D"NO"
>>> script.lang=3D"lua"
>>> smbios.bios.reldate=3D"11/04/2019"
>>> smbios.bios.vendor=3D"LENOVO"
>>> smbios.bios.version=3D"N2CET48W (1.31 )"
>>> smbios.chassis.maker=3D"LENOVO"
>>> smbios.chassis.serial=3D"********"
>>> smbios.chassis.tag=3D"No Asset Information"
>>> smbios.chassis.version=3D"None"
>>> smbios.memory.enabled=3D"33554432"
>>> smbios.planar.location=3D"Not Available"
>>> smbios.planar.maker=3D"LENOVO"
>>> smbios.planar.product=3D"20M9CTO1WW"
>>> smbios.planar.serial=3D"***********"
>>> smbios.planar.tag=3D"Not Available"
>>> smbios.planar.version=3D"SDK0J40697 WIN"
>>> smbios.socket.enabled=3D"1"
>>> smbios.socket.populated=3D"1"
>>> smbios.system.family=3D"ThinkPad P52"
>>> smbios.system.maker=3D"LENOVO"
>>> smbios.system.product=3D"20M9CTO1WW"
>>> smbios.system.serial=3D"********"
>>> smbios.system.sku=3D"LENOVO_MT_20M9_BU_Think_FM_ThinkPad P52"
>>> smbios.system.uuid=3D"********-****-****-****-************"
>>> smbios.system.version=3D"ThinkPad P52"
>>> smbios.version=3D"3.1"
>>> twiddle_divisor=3D"1"
>>> verbose_loading=3D"NO"
>>> vfs.root.mountfrom=3D"zfs:zsysS05/ROOT/default"
>>> vfs.zfs.abd_chunk_size=3D"1024"
>>> vfs.zfs.prefetch_disable=3D"1"
>>> vm.pmap.pti=3D"1"
>>> zfs_be_active=3D"zfs:zsysS05/ROOT/default"
>>> zfs_be_currpage=3D"1"
>>> zfs_be_root=3D"zsysS05/ROOT"
>>>=20
>>>=20
>>> =3D=3D=3D `kenv` output except hardware serial No and UUID above =3D=3D=
=3D
>>>=20
>>>=20
>>>>=20
>>>>=20
>>>>>=20
>>>>>>=20
>>>>>> Regarding the issue with vm, I am afraid the roots are going much =
deeper there. I have not got to the exact cause (and therefore a fix), =
but the problem is not about this specific patch. The problem is about =
memory map, specifically one just before and after we switch off Boot =
Services.=20
>>>>> That's a very bad news for me.  Looking at HEAD's commit list I =
hope
>>>>> that's a known problem?  Or should I open a PR on bugs.FreeBSD.org =
<http://bugs.freebsd.org/><http://bugs.freebsd.org/ =
<http://bugs.freebsd.org/>><http://bugs.freebsd.org/ =
<http://bugs.freebsd.org/>; <http://bugs.freebsd.org/ =
<http://bugs.freebsd.org/>>>?
>>>>=20
>>>>=20
>>>> PR is always good idea. Finding the exact cause and getting sure =
fix is question of time. I have done quite amount of investigation, but =
I can not yet point the finger even as there is one known issue =
identified. *IF* I am correct about the issue, the fix will take some =
time as it is not too trivial.
>>>>=20
>>>>=20
>>>>>=20
>>>>> Moreover, I believe the next snapshot of the CURRENT (which will =
be made
>>>>> after r358989) made by the release team will be unbootable on =
VMware
>>>>> hypervisors.
>>>>=20
>>>> BIOS version is ok.
>>>>=20
>>>> rgds,
>>>> toomas
>>>>=20
>>>>>=20
>>>>>>=20
>>>>>> rgds,
>>>>>> toomas
>>>>>>=20
>>>>>>=20
>>>>>>>=20
>>>>>>> [1]
>>>>>>> =
https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on_=
a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/><https://old.reddit.com/r/freebsd/comme=
nts/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/>><https://old.reddit.com/r/freebsd/comm=
ents/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/><https://old.reddit.com/r/freebsd/comme=
nts/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/>>><https://old.reddit.com/r/freebsd/com=
ments/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/><https://old.reddit.com/r/freebsd/comme=
nts/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/>><https://old.reddit.com/r/freebsd/comm=
ents/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/><https://old.reddit.com/r/freebsd/comme=
nts/drxqlm/failed_to_do_efi_boot_on_a_vmware_virtual_machine/f6om6p2/ =
<https://old.reddit.com/r/freebsd/comments/drxqlm/failed_to_do_efi_boot_on=
_a_vmware_virtual_machine/f6om6p2/>>>>
>>>>>>>>>>=20
>>>>>>>>>> Not tried (not enough time for now as I'm mainly using =
stable/12),
>>>>>>>>>> but possibly calling efi_cons_probe() from efi_cons_init() =
would be
>>>>>>>>>> needed, as ome codes are moved from the latter to the former.
>>>>>>>>>>=20
>>>>>>>>>>=20
>>>>>>>>>>> Author: tsoome
>>>>>>>>>>> Date: Sat Mar 14 06:36:03 2020
>>>>>>>>>>> New Revision: 358989
>>>>>>>>>>> URL: https://svnweb.freebsd.org/changeset/base/358989
>>>>>>>>>>>=20
>>>>>>>>>>> Log:
>>>>>>>>>>> loader: add comconsole implementation on top of SIO protocol
>>>>>>>>>>>=20
>>>>>>>>>>> Provide comconsole on top of SIO for arm platforms (x86 does =
use bios
>>>>>>>>>> version).
>>>>>>>>>>>=20
>>>>>>>>>>> Added:
>>>>>>>>>>> head/stand/efi/loader/efiserialio.c   (contents, props =
changed)
>>>>>>>>>>> Modified:
>>>>>>>>>>> head/stand/efi/libefi/efi_console.c
>>>>>>>>>>> head/stand/efi/loader/arch/arm/Makefile.inc
>>>>>>>>>>> head/stand/efi/loader/arch/arm64/Makefile.inc
>>>>>>>>>>> head/stand/efi/loader/conf.c
>>>>>>>>>>> head/stand/efi/loader/main.c
>>>>>>>>>>>=20
>>>>>>>>>>> Modified: head/stand/efi/libefi/efi_console.c
>>>>>>>>>>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>>>>>>>>>>> --- head/stand/efi/libefi/efi_console.c	Sat Mar 14 =
05:57:22
>>>>>>>>>> 2020	(r358988)
>>>>>>>>>>> +++ head/stand/efi/libefi/efi_console.c
>>>>>>>>>> Sat Mar 14 06:36:03 2020	(r358989)
>>>>>>>>>>> @@ -377,9 +377,22 @@ efi_cons_respond(void *s __unused, =
const void *buf __u
>>>>>>>>>>> {
>>>>>>>>>>> }
>>>>>>>>>>>=20
>>>>>>>>>>> +/*
>>>>>>>>>>> + * Set up conin/conout/coninex to make sure we have input =
ready.
>>>>>>>>>>> + */
>>>>>>>>>>> static void
>>>>>>>>>>> efi_cons_probe(struct console *cp)
>>>>>>>>>>> {
>>>>>>>>>>> +	EFI_STATUS status;
>>>>>>>>>>> +
>>>>>>>>>>> +	conout =3D ST->ConOut;
>>>>>>>>>>> +	conin =3D ST->ConIn;
>>>>>>>>>>> +
>>>>>>>>>>> +	status =3D BS->OpenProtocol(ST->ConsoleInHandle,
>>>>>>>>>> &simple_input_ex_guid,
>>>>>>>>>>> +	    (void **)&coninex, IH, NULL,
>>>>>>>>>> EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>>>>>>>>>>> +	if (status !=3D EFI_SUCCESS)
>>>>>>>>>>> +		coninex =3D NULL;
>>>>>>>>>>> +
>>>>>>>>>>> 	cp->c_flags |=3D C_PRESENTIN | C_PRESENTOUT;
>>>>>>>>>>> }
>>>>>>>>>>>=20
>>>>>>>>>>> @@ -889,15 +902,7 @@ efi_cons_init(int arg)
>>>>>>>>>>> 	if (conin !=3D NULL)
>>>>>>>>>>> 		return (0);
>>>>>>>>>>>=20
>>>>>>>>>>> -	conout =3D ST->ConOut;
>>>>>>>>>>> -	conin =3D ST->ConIn;
>>>>>>>>>>> -
>>>>>>>>>>> 	conout->EnableCursor(conout, TRUE);
>>>>>>>>>>> -	status =3D BS->OpenProtocol(ST->ConsoleInHandle,
>>>>>>>>>> &simple_input_ex_guid,
>>>>>>>>>>> -	    (void **)&coninex, IH, NULL,
>>>>>>>>>> EFI_OPEN_PROTOCOL_GET_PROTOCOL);
>>>>>>>>>>> -	if (status !=3D EFI_SUCCESS)
>>>>>>>>>>> -		coninex =3D NULL;
>>>>>>>>>>> -
>>>>>>>>>>> 	if (efi_cons_update_mode())
>>>>>>>>>>> 		return (0);
>>>>>>>>>>>=20
>>>>>>>>>>>=20
>>>>>>>>>>> Modified: head/stand/efi/loader/arch/arm/Makefile.inc
>>>>>>>>>>> =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
>>>>>>>>>>> --- head/stand/efi/loader/arch/arm/Makefile.inc	Sat Mar =
14
>>>>>>>>>> 05:57:22 2020	(r358988)
>>>>>>>>>>> +++ head/stand/efi/loader/arch/arm/Makefile.inc	Sat Mar =
14 06:36:03
>>>>>>>>>> 2020	(r358989)
>>>>>>>>>>> @@ -1,6 +1,7 @@
>>>>>>>>>>> # $FreeBSD$
>>>>>>>>>>>=20
>>>>>>>>>>> SRCS+=3D	exec.c \
>>>>>>>>>>> +	efiserialio.c \
>>>>>>>>>>> 	start.S
>>>>>>>>>>>=20
>>>>>>>>>>> HAVE_FDT=3Dyes
>>>>>>>>>>=20
>>>>>>>>>> (Snip)
>>>>>>>>>>=20
>>>>>>>>>>> @@ -930,7 +936,6 @@ main(int argc, CHAR16 *argv[])
>>>>>>>>>>> 	if (!has_kbd && (howto & RB_PROBE))
>>>>>>>>>>> 		howto |=3D RB_SERIAL | RB_MULTIPLE;
>>>>>>>>>>> 	howto &=3D ~RB_PROBE;
>>>>>>>>>>> -	uhowto =3D parse_uefi_con_out();
>>>>>>>>>>>=20
>>>>>>>>>>> 	/*
>>>>>>>>>>> 	 * Read additional environment variables from the boot =
device's
>>>>>>>>>>=20
>>>>>>>>>> --=20
>>>>>>>>>> Tomoaki AOKI    <junchoon@dec.sakura.ne.jp>
>>>>=20
>>>=20
>>>=20
>>> --=20
>>> Tomoaki AOKI    <junchoon@dec.sakura.ne.jp =
<mailto:junchoon@dec.sakura.ne.jp> <mailto:junchoon@dec.sakura.ne.jp =
<mailto:junchoon@dec.sakura.ne.jp>>>
>>=20
>=20
>=20
> --=20
> Tomoaki AOKI    <junchoon@dec.sakura.ne.jp =
<mailto:junchoon@dec.sakura.ne.jp>>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?889F68BB-59AE-4381-8947-10B769CF7008>