Page MenuHomeFreeBSD

tsoome (Toomas Soome)
User

Projects

User Details

User Since
Dec 11 2015, 11:12 PM (208 w, 7 h)

Recent Activity

Yesterday

tsoome added a comment to D22139: loader.efi: implement comconsole with UEFI SerialIO protocol.

Would it be possible to also support memory-mapped UART this way? Intel >=Skylake and all aarch64 systems use mmio.
I've added an SPCR table to my Kaby Lake laptop to configure the UART, but it would be nice if it could auto configure without SPCR.

Fri, Dec 6, 12:00 PM
tsoome updated the diff for D22139: loader.efi: implement comconsole with UEFI SerialIO protocol.

Rename comconsole.c to efiserialio.c to avoid issues with libi386/comconsole.c.
On x86, use libi386/comconsole because we still can not ensure the proper order
of serial ports and there is known issue on some systems with input on serial.

Fri, Dec 6, 10:07 AM
tsoome committed rS355441: loader.efi: print ImageBase so we know where we are.
loader.efi: print ImageBase so we know where we are
Fri, Dec 6, 9:50 AM
tsoome accepted D22663: Warn against use of whole disks in boot, mirror, and RAID-Z zpools..
Fri, Dec 6, 9:40 AM

Wed, Dec 4

tsoome committed rS355392: loader: clean up efipart filter expressions.
loader: clean up efipart filter expressions
Wed, Dec 4, 4:41 PM

Tue, Dec 3

tsoome committed rS355347: loader: ReadKeyStrokeEx may return partial keystrokes.
loader: ReadKeyStrokeEx may return partial keystrokes
Tue, Dec 3, 6:36 PM

Mon, Dec 2

tsoome committed rS355308: loader.efi: fix cd boot for cisco C220M3.
loader.efi: fix cd boot for cisco C220M3
Mon, Dec 2, 9:09 PM
tsoome committed rS355292: MFC r355291:.
MFC r355291:
Mon, Dec 2, 3:44 PM
tsoome committed rS355291: libzpool: use CFLAGS.lz4.c to build lz4.o and lz4.pico.
libzpool: use CFLAGS.lz4.c to build lz4.o and lz4.pico
Mon, Dec 2, 3:37 PM
tsoome committed rS355290: libzpool: lz4.c build needs CFLAGS.lz4.c.
libzpool: lz4.c build needs CFLAGS.lz4.c
Mon, Dec 2, 3:28 PM
tsoome committed rS355286: MFC r354267:.
MFC r354267:
Mon, Dec 2, 12:27 PM
tsoome committed rS355285: MFC r354253, r354254, r354264, r354265.
MFC r354253, r354254, r354264, r354265
Mon, Dec 2, 11:44 AM
tsoome committed rS355284: r353501 did mimerge r350654 boot1 and gptboot were left out.
r353501 did mimerge r350654 boot1 and gptboot were left out
Mon, Dec 2, 9:57 AM

Sat, Nov 30

tsoome committed rS355224: loader.efi: efipart needs better support detecting nested partitions.
loader.efi: efipart needs better support detecting nested partitions
Sat, Nov 30, 9:11 AM
tsoome closed D22553: loader.efi: efipart needs better support detecting nested partitions.
Sat, Nov 30, 9:11 AM
tsoome updated the summary of D22553: loader.efi: efipart needs better support detecting nested partitions.
Sat, Nov 30, 9:08 AM

Fri, Nov 29

tsoome updated the diff for D22553: loader.efi: efipart needs better support detecting nested partitions.

really check the device node type. Free unused devpaths by calling
efi_close_devpath().

Fri, Nov 29, 10:59 AM

Thu, Nov 28

tsoome updated the diff for D22553: loader.efi: efipart needs better support detecting nested partitions.

need to handle usb luns

Thu, Nov 28, 1:37 PM

Wed, Nov 27

tsoome updated the diff for D22553: loader.efi: efipart needs better support detecting nested partitions.

left over debug printf.

Wed, Nov 27, 5:38 PM
tsoome accepted D22569: Add support to allocate more space before and after a current allocation.

Seems ok.
Note, the issue about the staging size is not really if we can or can not allocate specific size, but if we have enough target space to copy it. I have starting to port other change (https://reviews.freebsd.org/D22309), the idea there is that we should determine if the target location has enough space. The bios version is simple as there we own the memory and we can not load directly to target address, in UEFI case we need to allocate, load and after switching off the BS, only then we can copy.

Wed, Nov 27, 4:08 PM

Tue, Nov 26

tsoome updated the diff for D22553: loader.efi: efipart needs better support detecting nested partitions.

Wrong place for efi_devpath_trim.
No need to walk partitions in efipart_find_parent.
No need for local variable.

Tue, Nov 26, 12:07 PM

Mon, Nov 25

tsoome created D22553: loader.efi: efipart needs better support detecting nested partitions.
Mon, Nov 25, 9:56 PM

Mon, Nov 18

tsoome committed rS354818: MFC r354746:.
MFC r354746:
Mon, Nov 18, 4:40 PM
tsoome committed rS354817: MFC r354743, r354766:.
MFC r354743, r354766:
Mon, Nov 18, 4:37 PM

Sat, Nov 16

tsoome committed rS354766: loader: remove unused variable from efipart.c.
loader: remove unused variable from efipart.c
Sat, Nov 16, 8:17 AM

Fri, Nov 15

tsoome committed rS354746: loader: add support for hybrid PMBR for GPT partition table.
loader: add support for hybrid PMBR for GPT partition table
Fri, Nov 15, 8:43 PM
tsoome committed rS354743: loader: r354415 did miss to sort subpaths below the partitions.
loader: r354415 did miss to sort subpaths below the partitions
Fri, Nov 15, 6:57 PM

Thu, Nov 14

tsoome committed rS354704: MFC r354435:.
MFC r354435:
Thu, Nov 14, 9:39 AM

Wed, Nov 13

tsoome committed rS354674: MFC: r354415.
MFC: r354415
Wed, Nov 13, 7:04 AM

Tue, Nov 12

tsoome committed rS354635: reverting r354594.
reverting r354594
Tue, Nov 12, 10:02 AM

Sun, Nov 10

tsoome created D22309: loader: bios loader should check the smap while loading the modules.
Sun, Nov 10, 9:17 PM
tsoome committed rS354594: loader: use struct initializer in vdev_probe()..
loader: use struct initializer in vdev_probe().
Sun, Nov 10, 3:07 PM
tsoome committed rS354593: loader: memory leak in vdev_label_read_config().
loader: memory leak in vdev_label_read_config()
Sun, Nov 10, 3:04 PM
tsoome committed rS354590: MFC r354279:.
MFC r354279:
Sun, Nov 10, 9:32 AM

Fri, Nov 8

tsoome committed rS354535: cstyle cleanup for i386_copy.c.
cstyle cleanup for i386_copy.c
Fri, Nov 8, 12:19 PM

Thu, Nov 7

tsoome committed rS354435: loader: implement fallback efi_devpath_to_name().
loader: implement fallback efi_devpath_to_name()
Thu, Nov 7, 11:17 AM

Nov 6 2019

tsoome committed rS354415: loader.efi: HARDDRIVE_DEVICE_PATH may have subpaths.
loader.efi: HARDDRIVE_DEVICE_PATH may have subpaths
Nov 6 2019, 9:13 PM

Nov 5 2019

tsoome committed rS354364: loader: clean up the noise around log device.
loader: clean up the noise around log device
Nov 5 2019, 6:35 PM
tsoome committed rS354363: loader: populate nvl with data even when label_txg is 0.
loader: populate nvl with data even when label_txg is 0
Nov 5 2019, 6:07 PM

Nov 4 2019

tsoome committed rS354332: loader: show APFS partition type name.
loader: show APFS partition type name
Nov 4 2019, 12:20 PM
tsoome committed rS354330: MFC r354237:.
MFC r354237:
Nov 4 2019, 6:36 AM

Nov 3 2019

tsoome committed rS354324: loader: allow booting from pool with log device.
loader: allow booting from pool with log device
Nov 3 2019, 9:36 PM
tsoome committed rS354323: loader: factor out label and uberblock load from vdev_probe, add MMP checks.
loader: factor out label and uberblock load from vdev_probe, add MMP checks
Nov 3 2019, 9:20 PM
tsoome committed rS354284: loader: zfs.c is missing malloc checks, fix it.
loader: zfs.c is missing malloc checks, fix it
Nov 3 2019, 2:36 PM
tsoome committed rS354283: loader: we do not support booting from pool with log device.
loader: we do not support booting from pool with log device
Nov 3 2019, 1:25 PM
tsoome committed rS354282: loader: should check malloc in zfs_dev_open.
loader: should check malloc in zfs_dev_open
Nov 3 2019, 1:04 PM
tsoome committed rS354279: loader: calculate physical vdev psize from asize.
loader: calculate physical vdev psize from asize
Nov 3 2019, 11:09 AM
tsoome committed rS354278: loader: userboot/test should accept more than one disk.
loader: userboot/test should accept more than one disk
Nov 3 2019, 9:14 AM
tsoome committed rS354277: MFC: r354127.
MFC: r354127
Nov 3 2019, 7:11 AM

Nov 2 2019

tsoome committed rS354267: r354264 did mix up the directory path.
r354264 did mix up the directory path
Nov 2 2019, 9:53 PM
tsoome committed rS354265: r354253 did miss the fact that libzpool is built as fake kernel.
r354253 did miss the fact that libzpool is built as fake kernel
Nov 2 2019, 9:03 PM
tsoome committed rS354264: r354253 did miss the updates to sys/conf/files and sys/conf/kern.pre.mk.
r354253 did miss the updates to sys/conf/files and sys/conf/kern.pre.mk
Nov 2 2019, 8:47 PM
tsoome committed rS354254: r354253 did miss lz4.c from sys/cddl/boot/zfs..
r354253 did miss lz4.c from sys/cddl/boot/zfs.
Nov 2 2019, 3:08 PM
tsoome closed D22037: remove duplicate lz4 implementations.
Nov 2 2019, 12:28 PM
tsoome committed rS354253: Remove duplicate lz4 implementations.
Remove duplicate lz4 implementations
Nov 2 2019, 12:28 PM
tsoome committed rS354252: loader: libi386/comconsole.c cstyle cleanup.
loader: libi386/comconsole.c cstyle cleanup
Nov 2 2019, 10:53 AM
tsoome committed rS354249: loader: fall back to term_emu on efi console with serial backend.
loader: fall back to term_emu on efi console with serial backend
Nov 2 2019, 9:50 AM
tsoome closed D22161: loader: fall back to term_emu on efi console with serial backend In case of efi console having serial backend (video + serial or only serial), we need to stick with old emulator till we can draw console..
Nov 2 2019, 9:50 AM
tsoome committed rS354248: MFC r354119:.
MFC r354119:
Nov 2 2019, 9:22 AM

Nov 1 2019

tsoome committed rS354237: loader: asprinf does crash arm64 due to missing NULL pointer check.
loader: asprinf does crash arm64 due to missing NULL pointer check
Nov 1 2019, 6:54 AM

Oct 27 2019

tsoome committed rS354127: loader: zio_checksum_verify should check byteswap.
loader: zio_checksum_verify should check byteswap
Oct 27 2019, 8:35 AM

Oct 26 2019

tsoome committed rS354119: loader: rs_alloc() may return NULL.
loader: rs_alloc() may return NULL
Oct 26 2019, 6:29 PM
tsoome created D22161: loader: fall back to term_emu on efi console with serial backend In case of efi console having serial backend (video + serial or only serial), we need to stick with old emulator till we can draw console..
Oct 26 2019, 5:52 PM
tsoome committed rS354114: MFC r353757:.
MFC r353757:
Oct 26 2019, 10:33 AM

Oct 25 2019

tsoome added a comment to D20562: The efifat files are no longer used: remove the code to build them..
@tsoome wrote:

Hope this helps.

It does, thanks! However, I'm still not sure if I need to create startup.nsh or not. Quick googling suggests that one might get boot problems in some environments if this file is missing. Wiki page does not mention it.

Oct 25 2019, 8:28 AM
tsoome added a comment to D20562: The efifat files are no longer used: remove the code to build them..

I've stumbled upon this just few days ago when make delete-old suggested to remove the old trusty /boot/boot1.efifat (which I had to refuse). I know this differential is closed, but I have some questions and don't want to spam the mailing lists.

@imp wrote:

I'd like to see this die in fire.

My I ask what's wrong with it? I've been dding this image to my p1 ever since I had switched to GPT/UEFI on my drives, and it always worked just fine.

Oct 25 2019, 7:37 AM

Oct 24 2019

tsoome added a comment to D22139: loader.efi: implement comconsole with UEFI SerialIO protocol.
In D22139#483935, @imp wrote:
In D22139#483902, @imp wrote:

I'll take a look at this... It looks OK.
But, the "port" changes from the I/O port to the UID if I'm reading things right, which is effectively a random number (on a machine it's stable, but it varies from machine to machine)

Are you sure it is random?, because we found out the handle order is not fixed and acpi uid seems to give better results - haven't heard unexpected port order so far.

For any given machine, the numbers are fixed, per the ACPI standard (they require the UID numbers to be stable, modulo config changes). However, UID 0 might be COM1 on some systems and COM3 on others depending on the make and model of the motherboard and sometimes the BIOS settings on it. Hence my characterization of it being 'random'. while these numbers can be obtained from devinfo -v, they aren't as 'fixed' as the IOPORT value which is always fixed for COM1 at 0x3f8.
So for my supermicro X9 system, UID1 is COM1. But on the X10 system UID0 is COM1. I have another system that UID0 is COM2 and UID1 is COM1, I think, but can't access it to confirm. This makes it hard to write docs to tell people how to configure it. That's where I'm headed with these comments here.

Oct 24 2019, 6:52 PM
tsoome added a comment to D22139: loader.efi: implement comconsole with UEFI SerialIO protocol.
In D22139#483902, @imp wrote:

I'll take a look at this... It looks OK.
But, the "port" changes from the I/O port to the UID if I'm reading things right, which is effectively a random number (on a machine it's stable, but it varies from machine to machine)

Oct 24 2019, 5:59 PM
tsoome created D22139: loader.efi: implement comconsole with UEFI SerialIO protocol.
Oct 24 2019, 8:16 AM
tsoome committed rS354015: userboot/test should use PRIx64 as one would expect from prefix 0x.
userboot/test should use PRIx64 as one would expect from prefix 0x
Oct 24 2019, 7:49 AM

Oct 21 2019

tsoome added inline comments to D22037: remove duplicate lz4 implementations.
Oct 21 2019, 10:40 AM
tsoome added a comment to D22037: remove duplicate lz4 implementations.

I like the direction in general.
By the way, (unrelated to this change itself), have you considered updating lz4 code with the upstream ( https://github.com/lz4/lz4 )? I'm mostly concerned about getting more diverged from the upstream would make it harder for us to re-sync the code in the future, especially when we have already missed some of the optimization that happened upstream. There are also some other interesting changes upstream, for example, it used a set of macros to avoid downstream consumers to make changes like #ifdef _KERNEL in the code that would spread all over places, and that would make it easier for future upgrade too.
The change looks good to me as-is, but please consider these comments.

Oct 21 2019, 10:26 AM
tsoome updated the diff for D22037: remove duplicate lz4 implementations.

update the header for lz4.h, rebase on latest current.

Oct 21 2019, 10:20 AM

Oct 19 2019

tsoome committed rS353757: loader: zfs_fmtdev can crash when pool discovery did fail and we have no spa.
loader: zfs_fmtdev can crash when pool discovery did fail and we have no spa
Oct 19 2019, 8:08 AM

Oct 15 2019

tsoome created D22037: remove duplicate lz4 implementations.
Oct 15 2019, 9:05 AM
tsoome committed rS353544: boot1.efi: provide generic exit() and stub getchar().
boot1.efi: provide generic exit() and stub getchar()
Oct 15 2019, 8:33 AM
tsoome committed rS353543: loader.efi: efipart needs to use ioalign.
loader.efi: efipart needs to use ioalign
Oct 15 2019, 6:19 AM

Oct 14 2019

tsoome committed rS353501: loader.efi: Block IO should honor align_io.
loader.efi: Block IO should honor align_io
Oct 14 2019, 7:17 PM

Oct 9 2019

tsoome accepted D21930: fix ESP generation for ZFS boot.
Oct 9 2019, 4:42 AM

Oct 6 2019

tsoome committed rS353146: loader.efi: for text mode, use STM to scroll the whole screen.
loader.efi: for text mode, use STM to scroll the whole screen
Oct 6 2019, 6:39 PM

Sep 26 2019

tsoome committed rS352740: kernel terminal should initialize fg and bg variables before calling….
kernel terminal should initialize fg and bg variables before calling…
Sep 26 2019, 7:19 AM
tsoome committed rS352739: vt: use proper return value check with TUNABLE_INT_FETCH.
vt: use proper return value check with TUNABLE_INT_FETCH
Sep 26 2019, 7:15 AM
tsoome added a comment to D21733: loader: Fully reset terminal settings, not just colors.
In D21733#475785, @imp wrote:

while we've transitioned to teken, it looks like it eats the ESC c

Ok, that looks pretty tough to deal with. Now that you mention it, I'm not seeing colors on the EFI serial console either, and under bhyve the scroll region is broken after the loader hands off to the kernel as well. It's everything I wanted to fix, still broken! Ugh! I thought I had tested that, but I guess I only tested a video output with the EFI console.

It is the most maddening part to get right... It's why I never upstreamed my hacks that I knew didn't work.

One way of dealing with this could be to add a variable to bypass teken for users of serial EFI consoles. A more challenging but perhaps more flexible option would be to implement a driver for the EFI serial protocol and either expose it as something like "efiserial" console or maybe add special handling to the existing EFI console driver to duplicate ANSI sequences to the serial port.

I actually think that's quite hard and involved. The current code doesn't differentiate, unfortunately. It would take a little while to understand a good path forward. At the moment, I see parsing ConOut, looking up handles and using that in something complicated, but there may be something simpler...

I don't think solving that problem with the EFI console/teken is within the scope of this change, though I am certainly hoping it gets fixed. I've only learned of teken's existence a few days ago. Can someone more familiar with that piece provide their input on the issue?

This can really only work for comconsole. And even there it can only be imperfect. And people will complain and expect me to fix it, so I'm reluctant to sign off until we have a better notion of a path forward...

Sep 26 2019, 5:47 AM

Sep 25 2019

tsoome committed rS352681: vt: use colors from terminal emulator.
vt: use colors from terminal emulator
Sep 25 2019, 1:24 PM
tsoome committed rS352680: kernel: terminal_init() should check for teken colors from kenv.
kernel: terminal_init() should check for teken colors from kenv
Sep 25 2019, 1:21 PM
tsoome committed rS352670: loader: fix indentation in efi_console and vidconsole.
loader: fix indentation in efi_console and vidconsole
Sep 25 2019, 7:36 AM
tsoome committed rS352669: loader: add teken.fg_color and teken.bg_color variables.
loader: add teken.fg_color and teken.bg_color variables
Sep 25 2019, 7:09 AM

Sep 22 2019

tsoome committed rS352601: loader_lua: lua color changes should end with reset.
loader_lua: lua color changes should end with reset
Sep 22 2019, 5:39 PM
tsoome committed rS352599: loader_4th: menu items need to reset color attribute, not switch to white.
loader_4th: menu items need to reset color attribute, not switch to white
Sep 22 2019, 4:10 PM

Sep 20 2019

tsoome added a comment to D21733: loader: Fully reset terminal settings, not just colors.

Hmm... on second thought, this might need tested with a black-on-white xterm. I seem to recall having to spit out color.default() because we couldn't cope with the different background color and kept screwing up @emaste's xterm. I'm assuming this will put us back into that state, and we'll need to have the color.default() back after the reset.

Sep 20 2019, 8:06 PM
tsoome accepted D21733: loader: Fully reset terminal settings, not just colors.
Sep 20 2019, 7:49 PM
tsoome accepted D21732: loader: Respect loader_color=YES for serial consoles.
Sep 20 2019, 7:30 PM
tsoome added inline comments to D21732: loader: Respect loader_color=YES for serial consoles.
Sep 20 2019, 7:20 PM
tsoome committed rS352548: loader: fix typo in zalloc..
loader: fix typo in zalloc.
Sep 20 2019, 5:23 AM

Sep 17 2019

tsoome committed rS352454: loader: provide u> and xemit words if needed.
loader: provide u> and xemit words if needed
Sep 17 2019, 6:05 PM
tsoome committed rS352451: loader: revert r352421.
loader: revert r352421
Sep 17 2019, 4:17 PM
tsoome committed rS352446: loader.efi: efipart needs to use ioalign.
loader.efi: efipart needs to use ioalign
Sep 17 2019, 1:50 PM
tsoome committed rS352445: loader: add memalign() to libsa.
loader: add memalign() to libsa
Sep 17 2019, 1:15 PM
tsoome committed rS352444: loader: stand.h should define reallocf as Reallocf.
loader: stand.h should define reallocf as Reallocf
Sep 17 2019, 1:07 PM
tsoome committed rS352443: loader: cstyle cleanup libsa zalloc sources.
loader: cstyle cleanup libsa zalloc sources
Sep 17 2019, 11:36 AM