Page MenuHomeFreeBSD

tsoome (Toomas Soome)
User

Projects

User Details

User Since
Dec 11 2015, 11:12 PM (200 w, 2 d)

Recent Activity

Today

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

Wed, Oct 9

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

Sun, Oct 6

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
Sun, Oct 6, 6:39 PM

Thu, Sep 26

tsoome committed rS352740: kernel terminal should initialize fg and bg variables before calling….
kernel terminal should initialize fg and bg variables before calling…
Thu, Sep 26, 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
Thu, Sep 26, 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...

Thu, Sep 26, 5:47 AM

Wed, Sep 25

tsoome committed rS352681: vt: use colors from terminal emulator.
vt: use colors from terminal emulator
Wed, Sep 25, 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
Wed, Sep 25, 1:21 PM
tsoome committed rS352670: loader: fix indentation in efi_console and vidconsole.
loader: fix indentation in efi_console and vidconsole
Wed, Sep 25, 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
Wed, Sep 25, 7:09 AM

Sun, Sep 22

tsoome committed rS352601: loader_lua: lua color changes should end with reset.
loader_lua: lua color changes should end with reset
Sun, Sep 22, 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
Sun, Sep 22, 4:10 PM

Fri, Sep 20

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.

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

Tue, Sep 17

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

Mon, Sep 16

tsoome committed rS352421: loader: Malloc(0) should return NULL..
loader: Malloc(0) should return NULL.
Mon, Sep 16, 8:28 PM
tsoome committed rS352420: loader_4th: scan_buffer can leave empty string on stack.
loader_4th: scan_buffer can leave empty string on stack
Mon, Sep 16, 8:27 PM

Sep 14 2019

tsoome added a comment to D21655: efipart: use page-aligned buffer for BlockIO.

Actually yes, this change isn't correct. See https://github.com/tianocore/edk2/blob/master/MdePkg/Library/UefiMemoryAllocationLib/MemoryAllocationLib.c for an example of how to allocate aligned memory (InternalAllocateAlignedPages etc.)

Sep 14 2019, 3:27 PM
tsoome requested changes to D21655: efipart: use page-aligned buffer for BlockIO.

Yes, this fix is not complete. We should always use "bounce buffer" here and only use aligned memory. Of course the disk write is also broken here (unless I'm mistaken)...

Sep 14 2019, 9:00 AM

Sep 12 2019

tsoome committed rS352241: MFC r351865, r351837:.
MFC r351865, r351837:
Sep 12 2019, 6:26 AM
tsoome committed rS352240: MFC r351865, r351837:.
MFC r351865, r351837:
Sep 12 2019, 6:20 AM

Sep 10 2019

tsoome committed rS352195: loader: vidconsole should set LINES and COLUMNS.
loader: vidconsole should set LINES and COLUMNS
Sep 10 2019, 9:54 PM

Sep 8 2019

tsoome committed rS352037: remove leftover zfsloader directory.
remove leftover zfsloader directory
Sep 8 2019, 7:54 PM
tsoome committed rS352032: loader: --gc-sections needs sections to work with.
loader: --gc-sections needs sections to work with
Sep 8 2019, 7:39 PM

Sep 6 2019

tsoome committed rS351959: loader.efi: UEFI text mode background colors are only using 3 bits.
loader.efi: UEFI text mode background colors are only using 3 bits
Sep 6 2019, 7:30 PM

Sep 5 2019

tsoome committed rS351900: loader: use teken teminal emulator for x86 and uefi.
loader: use teken teminal emulator for x86 and uefi
Sep 5 2019, 10:16 PM
tsoome committed rS351881: Adjust teken to allow build as part of loader.
Adjust teken to allow build as part of loader
Sep 5 2019, 6:07 PM
tsoome committed rS351865: ficl: add xemit word.
ficl: add xemit word
Sep 5 2019, 3:06 PM
tsoome committed rS351837: ficl: add uIsGreater word.
ficl: add uIsGreater word
Sep 5 2019, 9:05 AM

Sep 2 2019

tsoome committed rS351696: loader.efi: use and prefer coninex interface.
loader.efi: use and prefer coninex interface
Sep 2 2019, 11:04 AM
tsoome committed rS351695: loader.efi: some systems do not translate scan code 0x8 to backspace.
loader.efi: some systems do not translate scan code 0x8 to backspace
Sep 2 2019, 10:45 AM

Aug 31 2019

tsoome committed rS351637: loader.efi: use shift 16 in efipart as it is max ashift supported by zfs.
loader.efi: use shift 16 in efipart as it is max ashift supported by zfs
Aug 31 2019, 6:24 AM

Aug 30 2019

tsoome committed rS351630: qemu-system-aarch64 does list block device with very large block size.
qemu-system-aarch64 does list block device with very large block size
Aug 30 2019, 8:54 PM
tsoome accepted D20562: The efifat files are no longer used: remove the code to build them..
Aug 30 2019, 5:20 AM

Aug 22 2019

tsoome committed rS351384: loader: support com.delphix:removing.
loader: support com.delphix:removing
Aug 22 2019, 7:38 AM

Aug 20 2019

tsoome committed rS351274: loader.efi: efipart should be more careful about constructing block device lists.
loader.efi: efipart should be more careful about constructing block device lists
Aug 20 2019, 7:31 PM
tsoome closed D21187: loader.efi: efipart should be more careful about constructing block device lists.
Aug 20 2019, 7:31 PM
tsoome added a comment to D21187: loader.efi: efipart should be more careful about constructing block device lists.

review suggestions from illumos.

Aug 20 2019, 11:34 AM

Aug 19 2019

tsoome added a comment to D21281: Work around a bug in the EFI HTTP driver.

About the EFI_HTTP_Config_Data:

Aug 19 2019, 10:07 AM

Aug 9 2019

tsoome committed rS350825: loader: add error check for vdev_indirect calls.
loader: add error check for vdev_indirect calls
Aug 9 2019, 7:09 PM

Aug 8 2019

tsoome committed rS350772: loader: support com.delphix:removing.
loader: support com.delphix:removing
Aug 8 2019, 6:08 PM
tsoome closed D18901: loader: support com.delphix:removing.
Aug 8 2019, 6:08 PM
tsoome created D21187: loader.efi: efipart should be more careful about constructing block device lists.
Aug 8 2019, 3:55 PM

Aug 6 2019

tsoome updated the summary of D18901: loader: support com.delphix:removing.
Aug 6 2019, 8:20 PM
tsoome updated the summary of D18901: loader: support com.delphix:removing.

read vim_entries by chunks.

Aug 6 2019, 8:18 PM
tsoome committed rS350656: loader.efi: efilib.h and libefi.c were left out of 350654.
loader.efi: efilib.h and libefi.c were left out of 350654
Aug 6 2019, 8:13 PM
tsoome committed rS350655: loader.efi: boot1.c was left out of 350654.
loader.efi: boot1.c was left out of 350654
Aug 6 2019, 8:08 PM
tsoome committed rS350654: loader.efi: replace HandleProtocol() with OpenProtocol().
loader.efi: replace HandleProtocol() with OpenProtocol()
Aug 6 2019, 7:27 PM
tsoome closed D21162: loader.efi: replace HandleProtocol() with OpenProtocol().
Aug 6 2019, 7:27 PM

Aug 5 2019

D21162: loader.efi: replace HandleProtocol() with OpenProtocol() now requires review to proceed.

Implement OpenProtocolByHandle()

Aug 5 2019, 10:11 AM
tsoome added a comment to D21162: loader.efi: replace HandleProtocol() with OpenProtocol().
In D21162#459738, @imp wrote:

love the idea, but think it would be better to create a centralized location where we wrap this.
Call me paranoid, but I fear there may be a EFI bios we need to do this for :(
But also, it will make the code easier to read, so win/win.

Aug 5 2019, 6:07 AM

Aug 4 2019

tsoome created D21162: loader.efi: replace HandleProtocol() with OpenProtocol().
Aug 4 2019, 9:12 PM

Jul 2 2019

tsoome committed rS349613: efihttp: mac and err can be used uninitialized.
efihttp: mac and err can be used uninitialized
Jul 2 2019, 8:32 PM

Jun 30 2019

tsoome committed rS349566: efihttp: mark unused arguments with __unused.
efihttp: mark unused arguments with __unused
Jun 30 2019, 8:21 PM
tsoome committed rS349565: efihttp: comparison of integers of different signs.
efihttp: comparison of integers of different signs
Jun 30 2019, 8:18 PM
tsoome committed rS349564: Clean efihttp pointer-sign warnings.
Clean efihttp pointer-sign warnings
Jun 30 2019, 8:15 PM

Jun 26 2019

tsoome added inline comments to D20773: stand: shuffle dv_open/dv_init bits around.
Jun 26 2019, 8:28 PM
tsoome added inline comments to D20773: stand: shuffle dv_open/dv_init bits around.
Jun 26 2019, 8:24 PM
tsoome added inline comments to D20773: stand: shuffle dv_open/dv_init bits around.
Jun 26 2019, 7:35 PM

Jun 19 2019

D20642: efinet: Defer exclusively opening the network handles is now accepted and ready to land.

also chain /boot/loader.efi does not complain about network any more. network boot seems to be all ok too.

Jun 19 2019, 8:07 AM

Jun 9 2019

tsoome accepted D20562: The efifat files are no longer used: remove the code to build them..
Jun 9 2019, 3:34 AM

Jun 8 2019

tsoome accepted D20547: Split boot1 in half and use the useful half for gptboot.efi.
Jun 8 2019, 5:34 AM

Jun 6 2019

tsoome accepted D20540: Use simple malloc/free instead of dropping down to the UEFI BootServices AllocatePool/FreePool calls. They are simpler to use and result in the same thing happening..
Jun 6 2019, 7:04 PM
tsoome accepted D20537: Rework the reporting of the priority..
Jun 6 2019, 5:12 PM
tsoome committed rS348748: loader: disk_open() should honor D_PARTNONE.
loader: disk_open() should honor D_PARTNONE
Jun 6 2019, 4:27 PM
tsoome closed D20501: loader: disk_open() should honor D_PARTNONE.
Jun 6 2019, 4:27 PM

Jun 5 2019

tsoome added a comment to D20319: stand/zfs: don't fail boot if the first label is broken.

Agreed, a sane vdev_probe() would be nice. But I have totally no idea how you want to omit cleaning up partially initialized spa/vdev objects without rewriting the whole file. Either some of the current error paths are dead code or things like vdev_init_from_nvlist() have to be replaced.

Jun 5 2019, 7:15 PM

Jun 4 2019

tsoome accepted D20513: Fix regression in r347193 in selecting which drive to boot..
Jun 4 2019, 3:53 PM

Jun 3 2019

tsoome created D20501: loader: disk_open() should honor D_PARTNONE.
Jun 3 2019, 11:16 AM
tsoome added a comment to D20319: stand/zfs: don't fail boot if the first label is broken.

Yes, but not for all failures. If a label is found in the loop but later the associated data found invalid the vdev_probe() will fail even if there would be another label with better data.

Jun 3 2019, 8:36 AM

Jun 2 2019

tsoome added a comment to D20319: stand/zfs: don't fail boot if the first label is broken.

Something is off there. The for loop in vdev_probe() does continue in case of failures, but is intended to walk through all 4 labels, so why do we fail?

Jun 2 2019, 7:28 PM

Jun 1 2019

tsoome accepted D20491: Fix comment parsing in interp_simple.c.
Jun 1 2019, 4:36 AM

May 31 2019

tsoome added a comment to D20483: stand: evict zfs_alloc/zfs_free.

There is problem now. The zfs_alloc was "always" succeeding but malloc can fail, therefore we can not just replace here, but we also need to add checks.

May 31 2019, 7:30 PM

May 29 2019

tsoome committed rS348354: loader: malloc+memset is calloc in spa_create.
loader: malloc+memset is calloc in spa_create
May 29 2019, 7:34 AM
tsoome committed rS348353: boot1.efi should also provide Calloc.
boot1.efi should also provide Calloc
May 29 2019, 7:32 AM
tsoome committed rS348352: loader: zfs_alloc and zfs_free should use panic.
loader: zfs_alloc and zfs_free should use panic
May 29 2019, 7:24 AM

May 13 2019

tsoome committed rS347553: loader: fix memory handling errors in module.c.
loader: fix memory handling errors in module.c
May 13 2019, 10:17 PM

May 9 2019

tsoome committed rS347393: loader: use DPRINTF in biosdisk.c and define safe DPRINTF.
loader: use DPRINTF in biosdisk.c and define safe DPRINTF
May 9 2019, 1:13 PM
tsoome committed rS347391: loader: no-TERM_EMU is broken now.
loader: no-TERM_EMU is broken now
May 9 2019, 12:15 PM
tsoome committed rS347389: loader: ptable_print() needs two tabs sometimes.
loader: ptable_print() needs two tabs sometimes
May 9 2019, 11:04 AM
tsoome committed rS347388: loader: implement proper 8 char tab stops.
loader: implement proper 8 char tab stops
May 9 2019, 10:38 AM

May 7 2019

tsoome committed rS347223: command_bcache() does not use argv.
command_bcache() does not use argv
May 7 2019, 10:02 AM
tsoome committed rS347220: loader: bcache code does not need to check argument for free().
loader: bcache code does not need to check argument for free()
May 7 2019, 8:14 AM
tsoome committed rS347219: loader: use safer DPRINTF body for non-debug case.
loader: use safer DPRINTF body for non-debug case
May 7 2019, 7:46 AM

May 6 2019

tsoome committed rS347182: MFC r347142:.
MFC r347142:
May 6 2019, 8:55 AM
tsoome committed rS347179: MFC r347142:.
MFC r347142:
May 6 2019, 8:33 AM

May 5 2019

tsoome committed rS347142: loader: validate sectorsize argument in disk_open().
loader: validate sectorsize argument in disk_open()
May 5 2019, 6:38 AM

May 1 2019

tsoome accepted D20122: Use D_PARTISGPT rather than bare 255.

LGTM

May 1 2019, 5:35 AM

Apr 30 2019

tsoome committed rS346969: zfsboot: to detect disk size, use GPT information first.
zfsboot: to detect disk size, use GPT information first
Apr 30 2019, 5:45 PM

Apr 26 2019

tsoome committed rS346759: loader: implement map-vdisk and unmap-vdisk commands.
loader: implement map-vdisk and unmap-vdisk commands
Apr 26 2019, 5:58 PM
tsoome closed D19733: loader: implement map-vdisk and unmap-vdisk commands.
Apr 26 2019, 5:58 PM