Page MenuHomeFreeBSD

mst_semihalf.com (Michal Stanek)
User

Projects

User does not belong to any projects.

User Details

User Since
Dec 11 2015, 1:15 PM (175 w, 1 d)

Recent Activity

Dec 3 2018

mst_semihalf.com added a reviewer for D18048: Introduce driver for TPM 2.0 in CRB and FIFO (TIS) modes.: secteam.
Dec 3 2018, 11:18 AM
mst_semihalf.com added a reviewer for D18048: Introduce driver for TPM 2.0 in CRB and FIFO (TIS) modes.: cem.
Dec 3 2018, 11:18 AM

Nov 28 2018

mst_semihalf.com added a reviewer for D18048: Introduce driver for TPM 2.0 in CRB and FIFO (TIS) modes.: fabient.
Nov 28 2018, 12:09 PM

May 18 2018

mst_semihalf.com updated the diff for D15059: Map ACPI memory in ARM64 pmap.

Clear the mapping in pmap_unmapbios as suggested.

May 18 2018, 7:59 PM

Apr 27 2018

mst_semihalf.com updated the diff for D15059: Map ACPI memory in ARM64 pmap.

Add fix for race condition in pmap_unmapbios() which I forgot to add earlier.

Apr 27 2018, 9:15 PM
mst_semihalf.com updated the diff for D15059: Map ACPI memory in ARM64 pmap.

I wrote an alternative, more complete implementation of mapbios/unmapbios functions without any of the previous caveats.
Of course the code got a little more complicated but I think it's still comprehensible.
@andrew let me know what you think.

Apr 27 2018, 9:09 PM

Apr 14 2018

mst_semihalf.com updated the diff for D15059: Map ACPI memory in ARM64 pmap.

More context.

Apr 14 2018, 12:47 PM
mst_semihalf.com added inline comments to D15059: Map ACPI memory in ARM64 pmap.
Apr 14 2018, 11:36 AM
mst_semihalf.com added inline comments to D15059: Map ACPI memory in ARM64 pmap.
Apr 14 2018, 9:15 AM
mst_semihalf.com added inline comments to D15059: Map ACPI memory in ARM64 pmap.
Apr 14 2018, 9:04 AM
mst_semihalf.com added a comment to D15059: Map ACPI memory in ARM64 pmap.

Can you provide more context. If you are uploading a patch via the web interface there are instructions on the wiki to ensure this is the case at https://wiki.freebsd.org/Phabricator#Create_a_Revision_via_Web_Interface

Apr 14 2018, 8:49 AM

Apr 13 2018

mst_semihalf.com created D15059: Map ACPI memory in ARM64 pmap.
Apr 13 2018, 5:54 PM

Mar 20 2018

mst_semihalf.com added a comment to D14437: Send SIGILL on HEA illegal instruction exception.

I think there is also a subtlety for uncaught signals if the previous trap was a kernel fault, since you then end up in the wrong branch of the kernel/user if in trap() and probably crash.
In any case, I think the simplest solution is to have a replacement for trapcode that does the same things as trapcode, but additionally moves hsrr0/hsrr1 into srr0/srr1. Until we try to support bhyve, which is a larger project, they are safe to clobber in this context. trapcode is currently using 7 of a possible 32 instructions, so adding a variant with four more (mfhsrr0 %r1; mtsrr0 %r1; mfhsrr1 %r1; mtsrr1 %r1) in the middle should be fine. That also avoids the need for hrfid and related things when returning. We would then just install the variant for traps like HEA that are known to set HSRR* instead of SRR* and keep the rest of the trap-handling code as-is.

Mar 20 2018, 4:19 PM

Mar 16 2018

mst_semihalf.com added a comment to D14437: Send SIGILL on HEA illegal instruction exception.

I have no access to HW currently so cannot check this, but it seems you're right. I did not think of the case where userspace catches the signal.

Mar 16 2018, 7:24 PM
mst_semihalf.com added a comment to D14703: nvme: Revert to using the old API..
In D14703#309190, @imp wrote:

Having looked closely, though, it appears that it relies on it only for single byte quantities

Mar 16 2018, 7:19 PM
mst_semihalf.com added inline comments to D14703: nvme: Revert to using the old API..
Mar 16 2018, 6:40 PM
mst_semihalf.com added a comment to D14437: Send SIGILL on HEA illegal instruction exception.

I'm looking at this again. Does this actually work? HEA interrupts set HSRR0/HSSR1, which we don't save, so I think this will jump back to some random other memory location (whatever happened to be in SRR0).

Mar 16 2018, 5:51 PM

Feb 28 2018

mst_semihalf.com created D14543: Display NVMe data properly on Big Endian hosts with sysutils/smartmontools.
Feb 28 2018, 5:42 PM

Feb 26 2018

mst_semihalf.com accepted D14483: Fix sysutils/smartmontools following Sr329824.

As wma said, we'll make a follow-up commit fixing BE.

Feb 26 2018, 5:25 PM

Feb 23 2018

mst_semihalf.com added a comment to D14483: Fix sysutils/smartmontools following Sr329824.

Unfortunately I'm not able to test this today and provide a patch but I think what needs to be done is:

  • include <sys/endian.h>
  • add htole32() for in.nsid and also for every cdwXX field
  • call nvme_completion_swapbytes() before reading cdw0
Feb 23 2018, 4:38 PM
mst_semihalf.com requested changes to D14483: Fix sysutils/smartmontools following Sr329824.

Doesn't work on big-endian, I'll work on a fix.

Feb 23 2018, 3:23 PM

Feb 20 2018

mst_semihalf.com created D14452: CXGBE: implement prefetch on non-Intel architectures.
Feb 20 2018, 5:56 PM
mst_semihalf.com accepted D14330: PowerNV: Put processor to power-save state in idle thread.
Feb 20 2018, 5:55 PM · PowerPC

Feb 19 2018

mst_semihalf.com created D14437: Send SIGILL on HEA illegal instruction exception.
Feb 19 2018, 4:11 PM
mst_semihalf.com added inline comments to D13916: Add big-endian support to NVMe.
Feb 19 2018, 4:02 PM

Feb 16 2018

mst_semihalf.com updated the diff for D13916: Add big-endian support to NVMe.

As suggested, I have reworked the patch to perform endianess conversions all at once and as early as possible. The changes concern data which is read from device. I've also implemented other suggestions from the review.

Feb 16 2018, 5:17 PM

Jan 16 2018

mst_semihalf.com added inline comments to D13916: Add big-endian support to NVMe.
Jan 16 2018, 7:00 PM
mst_semihalf.com added a comment to D13916: Add big-endian support to NVMe.

It's done that way because I needed to maintain a strict convention of where byte-swapping was performed to minimize the chance of mistakes (such as forgetting to swap or double-swapping a field by mistake as it's passed through various callbacks). Otherwise it was hard to make sense of the code, as there are a lot of fields which need swapping and they are often transferred throughout components.

Jan 16 2018, 6:37 PM

Jan 15 2018

mst_semihalf.com created D13916: Add big-endian support to NVMe.
Jan 15 2018, 4:05 PM

Oct 20 2016

mst_semihalf.com updated the diff for D7814: Introduce Ethernet driver for Annapurna Alpine.

Rebase to latest HEAD

Oct 20 2016, 11:06 AM
mst_semihalf.com updated the diff for D7763: Introduce support for Annapurna Alpine SerDes.

Rebase to latest HEAD

Oct 20 2016, 11:04 AM

Oct 19 2016

mst_semihalf.com added inline comments to D7579: Support for MSI-X on Annapurna Alpine.
Oct 19 2016, 7:40 PM
mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Change MSI-X number allocation scheme to make use of vmem_alloc() instead of local bitmap.

Oct 19 2016, 7:26 PM

Sep 8 2016

mst_semihalf.com updated the diff for D7662: Add support for SPI-mapped MSI interrupts in GICv3.

Move the code to a separate function gic_map_msi() similarly to D7698.

Sep 8 2016, 7:21 PM
mst_semihalf.com added a comment to D7568: Register GICv3 xref.
In D7568#162015, @wma wrote:

My only concern is if we can move this part of code to another file, like gicv3_fdt, where we have xref stuff already. In the present shape it fails to compile when FDT support is disabled.

Sep 8 2016, 3:38 PM
mst_semihalf.com updated the diff for D7568: Register GICv3 xref.

Move xref registration to gic_v3_fdt.c

Sep 8 2016, 3:38 PM

Sep 7 2016

mst_semihalf.com added inline comments to D7579: Support for MSI-X on Annapurna Alpine.
Sep 7 2016, 9:16 PM
mst_semihalf.com updated the diff for D7763: Introduce support for Annapurna Alpine SerDes.

Add missing Serdes DTS node and include the driver in files.arm and files.arm64.

Sep 7 2016, 3:47 PM
mst_semihalf.com updated D7814: Introduce Ethernet driver for Annapurna Alpine.
Sep 7 2016, 3:43 PM
mst_semihalf.com retitled D7814: Introduce Ethernet driver for Annapurna Alpine from to Introduce Ethernet driver for Annapurna Alpine.
Sep 7 2016, 3:23 PM

Sep 5 2016

mst_semihalf.com added inline comments to D7579: Support for MSI-X on Annapurna Alpine.
Sep 5 2016, 7:24 PM
mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Return error when MSI could not be registered.

Sep 5 2016, 7:23 PM
mst_semihalf.com added inline comments to D7571: Support for PCIe on Annapurna Alpine.
Sep 5 2016, 6:22 PM
mst_semihalf.com added inline comments to D7763: Introduce support for Annapurna Alpine SerDes.
Sep 5 2016, 5:32 PM
mst_semihalf.com updated the diff for D7763: Introduce support for Annapurna Alpine SerDes.

Add $FreeBSD$, cleanup mutex locks in detach(), check if mtx is initialized before calling lock/unlock.

Sep 5 2016, 5:25 PM

Sep 2 2016

mst_semihalf.com retitled D7763: Introduce support for Annapurna Alpine SerDes from to Introduce support for Annapurna Alpine SerDes.
Sep 2 2016, 5:27 PM

Sep 1 2016

mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Move MSIX file entry from sys/conf/files to files.arm and files.arm64. Add fdt dependency.

Sep 1 2016, 5:20 PM
mst_semihalf.com updated the diff for D7571: Support for PCIe on Annapurna Alpine.

Move al_pci device entry from sys/conf/files to files.arm and files.arm64. Add fdt dependency.

Sep 1 2016, 5:04 PM

Aug 31 2016

mst_semihalf.com added inline comments to D7698: Add support for SPI-mapped MSI interrupts outside of GICv2m.
Aug 31 2016, 6:02 PM
mst_semihalf.com updated the diff for D7698: Add support for SPI-mapped MSI interrupts outside of GICv2m.

Move the code to a new function gic_map_msi() and call it in gic_map_intr() switch case for MSI. No functional changes.

Aug 31 2016, 5:58 PM
mst_semihalf.com abandoned D6132: Initialize name of the interrupt when it is allocated on ARM64.

obsolete.

Aug 31 2016, 1:35 PM
mst_semihalf.com abandoned D6131: Configure interrupt based on FDT type code on ARM64.

obsolete.

Aug 31 2016, 1:35 PM
mst_semihalf.com abandoned D6130: Implement PIC_TRANSLATE_CODE interface in GICv3 FDT driver.

obsolete.

Aug 31 2016, 1:35 PM
mst_semihalf.com abandoned D6129: Implement PIC_CONFIG interface in GICv3 driver.

obsolete.

Aug 31 2016, 1:35 PM
mst_semihalf.com abandoned D6128: Allocate interrupt before configuring trigger and polarity on ARM64.

obsolete.

Aug 31 2016, 1:34 PM
mst_semihalf.com abandoned D6127: Ensure root_pic is initialized before calling PIC methods.

obsolete.

Aug 31 2016, 1:34 PM
mst_semihalf.com abandoned D6126: Add error return value to PIC_CONFIG interface on ARM64.

obsolete.

Aug 31 2016, 1:33 PM
mst_semihalf.com updated the diff for D7566: Remove messy machdep code for Alpine V1 and use proper drivers instead.

Add comments describing added devices in kernel conf.

Aug 31 2016, 1:33 PM
mst_semihalf.com updated the diff for D7565: Introduce support for Annapurna Alpine CCU and NB devices.

Fix style issues raised in review.

Aug 31 2016, 1:08 PM
mst_semihalf.com added inline comments to D7565: Introduce support for Annapurna Alpine CCU and NB devices.
Aug 31 2016, 12:30 PM

Aug 29 2016

mst_semihalf.com retitled D7698: Add support for SPI-mapped MSI interrupts outside of GICv2m from to Add support for SPI-mapped MSI interrupts outside of GICv2m.
Aug 29 2016, 7:39 PM
mst_semihalf.com retitled D7662: Add support for SPI-mapped MSI interrupts in GICv3 from Add support for SPI-mapped MSI-X interrupts in GICv3 to Add support for SPI-mapped MSI interrupts in GICv3.
Aug 29 2016, 7:21 PM
mst_semihalf.com added a reviewer for D7560: Remove check for 64-bit FDT ranges in pci-host-generic: zbb.
Aug 29 2016, 12:41 PM
mst_semihalf.com added a reviewer for D7559: Implement bus_space_barrier() for ARM64: zbb.
Aug 29 2016, 12:39 PM

Aug 26 2016

mst_semihalf.com removed a child revision for D7562: Add SOC_ANPA_ALPINEV2 option: D7579: Support for MSI-X on Annapurna Alpine.
Aug 26 2016, 4:28 PM
mst_semihalf.com added a child revision for D7662: Add support for SPI-mapped MSI interrupts in GICv3: D7579: Support for MSI-X on Annapurna Alpine.
Aug 26 2016, 4:28 PM
mst_semihalf.com edited parent revisions for D7579: Support for MSI-X on Annapurna Alpine, added: 1; removed: 1.
Aug 26 2016, 4:28 PM
mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Rework MSI-X allocation to suit post-D7493 INTRNG.
I also removed some oddities leftover from old versions of the driver and simplified the code.

Aug 26 2016, 4:28 PM
mst_semihalf.com retitled D7662: Add support for SPI-mapped MSI interrupts in GICv3 from to Add support for SPI-mapped MSI-X interrupts in GICv3.
Aug 26 2016, 4:21 PM
mst_semihalf.com added inline comments to D7571: Support for PCIe on Annapurna Alpine.
Aug 26 2016, 4:16 PM
mst_semihalf.com updated the diff for D7571: Support for PCIe on Annapurna Alpine.

Remove implementation of bus_extend_resource() which is no longer in tree. Alpine MSI-X interrupts work fine without it after D7493 and a small change in GICv3.

Aug 26 2016, 4:11 PM
mst_semihalf.com added a comment to D7568: Register GICv3 xref.

Why do you need to retrieve this? It's normally done through INTRNG.

Aug 26 2016, 3:58 PM
mst_semihalf.com added inline comments to D7568: Register GICv3 xref.
Aug 26 2016, 3:57 PM
mst_semihalf.com updated the diff for D7568: Register GICv3 xref.

Updated base file version - no change in added code.

Aug 26 2016, 3:55 PM

Aug 22 2016

mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Use device entry instead of SOC option.

Aug 22 2016, 4:53 PM
mst_semihalf.com updated the diff for D7571: Support for PCIe on Annapurna Alpine.

Use device entries instead of SOC option.

Aug 22 2016, 4:51 PM
mst_semihalf.com updated the diff for D7566: Remove messy machdep code for Alpine V1 and use proper drivers instead.

Use device entries instead of SOC option.

Aug 22 2016, 4:48 PM
mst_semihalf.com updated the diff for D7565: Introduce support for Annapurna Alpine CCU and NB devices.

Use device entries al_ccu and al_nb_service instead of SOC option.

Aug 22 2016, 4:43 PM
mst_semihalf.com abandoned D7562: Add SOC_ANPA_ALPINEV2 option.

I'm curious why these are options, and not just device entries?

Aug 22 2016, 4:41 PM

Aug 19 2016

mst_semihalf.com abandoned D7567: Convert bus_extend_resource to a bus method.

I'm abandoning this revision as bus_extend_resource has been removed in rS304459 (D7493).

Aug 19 2016, 4:33 PM
mst_semihalf.com added a comment to D7567: Convert bus_extend_resource to a bus method.

How does this interact with D7493? That change removes this method entirely.
I'm also dubious about using this kind of method with MSI for the reasons mentioned earlier: the bus API deal with IRQ numbers, rather than struct resource *, and so bus_extend_resource() has some nasty corner cases. I have some comments on this in the driver revision (D7571).

Aug 19 2016, 4:32 PM
mst_semihalf.com added inline comments to D7565: Introduce support for Annapurna Alpine CCU and NB devices.
Aug 19 2016, 4:27 PM
mst_semihalf.com added inline comments to D7571: Support for PCIe on Annapurna Alpine.
Aug 19 2016, 4:07 PM
mst_semihalf.com updated the diff for D7571: Support for PCIe on Annapurna Alpine.

Remove all no-INTRNG parts of PCI driver.

Aug 19 2016, 4:05 PM
mst_semihalf.com added inline comments to D7571: Support for PCIe on Annapurna Alpine.
Aug 19 2016, 1:20 PM
mst_semihalf.com updated the diff for D7579: Support for MSI-X on Annapurna Alpine.

Remove non-INTRNG parts of the driver as they are no longer necessary.

Aug 19 2016, 1:12 PM
mst_semihalf.com added a comment to D7579: Support for MSI-X on Annapurna Alpine.

However, I can remove it if INTRNG is to stay.

There is no way to disable INTRNG and get a working arm64 kernel.

Aug 19 2016, 12:33 PM
mst_semihalf.com added a child revision for D7562: Add SOC_ANPA_ALPINEV2 option: D7579: Support for MSI-X on Annapurna Alpine.
Aug 19 2016, 11:38 AM
mst_semihalf.com added parent revisions for D7579: Support for MSI-X on Annapurna Alpine: D7568: Register GICv3 xref, D7562: Add SOC_ANPA_ALPINEV2 option.
Aug 19 2016, 11:38 AM
mst_semihalf.com added a child revision for D7568: Register GICv3 xref: D7579: Support for MSI-X on Annapurna Alpine.
Aug 19 2016, 11:38 AM
mst_semihalf.com updated D7571: Support for PCIe on Annapurna Alpine.
Aug 19 2016, 11:36 AM
mst_semihalf.com retitled D7579: Support for MSI-X on Annapurna Alpine from to Support for MSI-X on Annapurna Alpine.
Aug 19 2016, 11:36 AM

Aug 18 2016

mst_semihalf.com updated D7567: Convert bus_extend_resource to a bus method.
Aug 18 2016, 7:40 PM
mst_semihalf.com added parent revisions for D7571: Support for PCIe on Annapurna Alpine: D7567: Convert bus_extend_resource to a bus method, D7562: Add SOC_ANPA_ALPINEV2 option, D7561: Import missing enum declaration in pci_host_generic header file.
Aug 18 2016, 7:38 PM
mst_semihalf.com added a child revision for D7561: Import missing enum declaration in pci_host_generic header file: D7571: Support for PCIe on Annapurna Alpine.
Aug 18 2016, 7:38 PM
mst_semihalf.com added a child revision for D7562: Add SOC_ANPA_ALPINEV2 option: D7571: Support for PCIe on Annapurna Alpine.
Aug 18 2016, 7:38 PM
mst_semihalf.com added a child revision for D7567: Convert bus_extend_resource to a bus method: D7571: Support for PCIe on Annapurna Alpine.
Aug 18 2016, 7:38 PM
mst_semihalf.com retitled D7571: Support for PCIe on Annapurna Alpine from to Support for PCIe on Annapurna Alpine.
Aug 18 2016, 7:37 PM
mst_semihalf.com retitled D7568: Register GICv3 xref from to Register GICv3 xref.
Aug 18 2016, 6:42 PM
mst_semihalf.com retitled D7567: Convert bus_extend_resource to a bus method from to Convert bus_extend_resource to a bus method.
Aug 18 2016, 6:31 PM