Page MenuHomeFreeBSD

br (Ruslan Bukin)
User

Projects

User Details

User Since
Nov 27 2014, 10:57 AM (287 w, 5 d)

Recent Activity

Yesterday

br requested review of D25094: Split-out DMAR busdma backend.
Mon, Jun 1, 1:44 PM

Tue, May 26

br updated the diff for D24618: ARM SMMU v3.2 support.

Regenerate patch

Tue, May 26, 7:27 PM
br closed D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.
Tue, May 26, 4:44 PM
br committed rS361533: Fix entering KDB with dtrace-enabled kernel..
Fix entering KDB with dtrace-enabled kernel.
Tue, May 26, 4:44 PM
br committed rS361532: Rename dmar_get_dma_tag() to acpi_iommu_get_dma_tag()..
Rename dmar_get_dma_tag() to acpi_iommu_get_dma_tag().
Tue, May 26, 4:41 PM
br closed D24943: Rename dmar to iommu.
Tue, May 26, 4:41 PM

Thu, May 21

br accepted D24909: Simplify the RISC-V kernel linker invocation.

Looks good

Thu, May 21, 3:03 PM
br requested review of D24943: Rename dmar to iommu.
Thu, May 21, 2:57 PM

Wed, May 20

br updated the diff for D24618: ARM SMMU v3.2 support.

Reuse DMAR busdma backend for SMMU with minimal changes. This backend completely eliminates bouncing. Changes to DMAR are:
o Rename dmar to iommu
o Rename ctx to iommu_device
o Some dmar-specific functions removed

Wed, May 20, 1:37 PM

Wed, May 6

br accepted D24730: virtio: Support MMIO bus for all devices.

we should also need to add these devices to riscv kernel config (at least random and console)

Wed, May 6, 10:49 AM
br accepted D24681: virtio_mmio: Support non-transitional version 2 devices.

I tested in tinyemu. It works.
(tinyemu supports version 2 only)

Wed, May 6, 10:48 AM

May 1 2020

br updated the diff for D24618: ARM SMMU v3.2 support.

Correct the size of asid bit set.

May 1 2020, 12:00 PM
br updated the diff for D24618: ARM SMMU v3.2 support.

o Since we don't share TLB with the main CPU, implement our own ASID allocator.
o Add smmu_tlbi_asid() function that allows to invalidate entire SMMU TLB for a specific ASID.

May 1 2020, 11:56 AM

Apr 30 2020

br added a comment to D24618: ARM SMMU v3.2 support.
In D24618#542293, @kib wrote:

I have very generic questions before I ever start reading that.

  1. Why did you put the stuff into sys/dev/iommu while it is arch-specific ? I decided to go with sys/x86/iommu.

I think keeping all IOMMU engines and the framework in a single place is a good idea. It is easy to find all the implementations. Similar to dev/mmc/host, dev/usb/controller etc. But I'm happy with arm64/iommu too.

Apr 30 2020, 6:52 PM
br updated the diff for D24618: ARM SMMU v3.2 support.

Add context.

Apr 30 2020, 5:29 PM
br updated the diff for D24618: ARM SMMU v3.2 support.

Add a hardware overview to the header of smmu.c

Apr 30 2020, 4:07 PM

Apr 29 2020

br updated the diff for D24618: ARM SMMU v3.2 support.

Set ASID to a Context Descriptor. The ASID is generated by pmap.c and stored to pmap->pm_cookie.
This is a quick fix for the issue I had with TLB.
We need to check if SMMU asid space is equal to pmap asid space (they both either 8 or 16 bits wide).

Apr 29 2020, 9:07 PM
br requested review of D24618: ARM SMMU v3.2 support.
Apr 29 2020, 4:05 PM

Apr 19 2020

br added a comment to D24499: Panic if any APs fail to be released.
In D24499#538813, @br wrote:

What is the reason for a fatal page fault when some CPUs are not fired?
Normally it should start with a single CPU in that case.359280

I observed the page fault when the scheduler tried to run a thread on an absent CPU. I wrote this patch a couple weeks ago, and @markj changed the behaviour since then in rS359280. Now, if we time-out the system will hang in smp_after_idle_runnable.

Apr 19 2020, 10:32 PM
br accepted D24496: Add support for HSM SBI extension.
Apr 19 2020, 10:06 AM
br added a comment to D24499: Panic if any APs fail to be released.

What is the reason for a fatal page fault when some CPUs are not fired?
Normally it should start with a single CPU in that case.

Apr 19 2020, 10:00 AM

Mar 30 2020

br added inline comments to D24154: RISC-V: use physmem to manage physical memory.
Mar 30 2020, 4:50 PM

Mar 13 2020

br updated the diff for D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.

Fix spelling

Mar 13 2020, 12:51 PM
br updated the diff for D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.

Compare to NULL

Mar 13 2020, 12:50 PM

Mar 12 2020

br updated the diff for D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.

Add a call to panic()

Mar 12 2020, 1:58 PM

Mar 10 2020

br added a comment to D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.
In D24018#528102, @jhb wrote:

Hmm, I'm curious if this breaks on other platforms then.

Mar 10 2020, 5:49 PM
br updated the diff for D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.

Add context

Mar 10 2020, 3:48 PM
br created D24018: fix debug.kdb.enter=1 with dtrace-enabled kernel.
Mar 10 2020, 3:42 PM

Mar 7 2020

br added a comment to D23877: RISCV Platform Specific Code.

It sounds like we're reaching consensus that we should move forward with this.

I'll do another build test before committing this patch-set later today. Unless someone screams. :)

Mar 7 2020, 1:43 PM · riscv
br added a comment to D23877: RISCV Platform Specific Code.

Hi Nicholas. I'm doing efforts to figure out why this is needed.
Why cpu_check_mmu() does not work for you and what are specific devmap use cases you have at Axiado?

Mar 7 2020, 1:16 PM · riscv

Feb 11 2020

br committed rS357762: Add PCI Express driver for the ARM Neoverse N1 System Development.
Add PCI Express driver for the ARM Neoverse N1 System Development
Feb 11 2020, 3:12 PM
br closed D23349: arm64 N1SDP PCI root complex driver.
Feb 11 2020, 3:12 PM

Feb 10 2020

br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

The pcie_discovery_data is device specific, move it to the softc.
Move the root memory to the softc and switch it to use bus_space.
While here create a common function to get the correct bus_space
details for a given bus/slot/func/reg combination.

Feb 10 2020, 5:56 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

Move the driver to dev/pci/controller/

Feb 10 2020, 1:51 PM
br added a comment to D23349: arm64 N1SDP PCI root complex driver.

what about dev/pci/controller/? linux does that.
We have a similar subdirectory for MMC drivers: dev/mmc/host/ that works well and keeps dev/mmc/ clean

Feb 10 2020, 1:21 PM

Feb 8 2020

br committed rS357686: Enter the network epoch in the xdma interrupt handler if required.
Enter the network epoch in the xdma interrupt handler if required
Feb 8 2020, 11:07 PM
br committed rS357682: Fix a KASSERT since chained mbufs are accepted by the xdma bounce.
Fix a KASSERT since chained mbufs are accepted by the xdma bounce
Feb 8 2020, 9:02 PM

Feb 7 2020

br committed rS357653: Fix xae(4) driver attachement on the Government Furnished Equipment (GFE).
Fix xae(4) driver attachement on the Government Furnished Equipment (GFE)
Feb 7 2020, 2:36 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

move the driver by request from jhb@

Feb 7 2020, 12:50 PM

Feb 6 2020

br added a comment to D23349: arm64 N1SDP PCI root complex driver.
In D23349#516026, @jhb wrote:

As with the xilinx driver, can we please not put MD and chipset-specific code in sys/dev/pci?

Feb 6 2020, 12:56 PM

Feb 5 2020

br accepted D23513: Use the context created in makectx() for stack traces..
Feb 5 2020, 11:55 PM
br accepted D23508: Fix DDB to unwind across exception frames..
Feb 5 2020, 11:53 PM
br accepted D23509: Remove stale workaround for the htif console..
Feb 5 2020, 5:52 PM
br accepted D23507: Read the breakpoint instruction to determine its length in BKPT_SKIP..
Feb 5 2020, 5:50 PM

Feb 3 2020

br accepted D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default.
Feb 3 2020, 1:55 PM
br awarded D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default a Like token.
Feb 3 2020, 1:49 PM

Feb 1 2020

br updated the test plan for D23349: arm64 N1SDP PCI root complex driver.
Feb 1 2020, 9:25 PM
br added a reviewer for D23349: arm64 N1SDP PCI root complex driver: mmel.
Feb 1 2020, 9:24 PM

Jan 30 2020

br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

o Address mmel's comment.
o Don't override MSI methods since Andrew has fixed a bug in the ITS driver

Jan 30 2020, 6:19 PM
br added inline comments to D23349: arm64 N1SDP PCI root complex driver.
Jan 30 2020, 6:10 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

Include pcI_n1sdp to the build

Jan 30 2020, 1:13 PM

Jan 29 2020

br committed rS357258: Add driver for Xilinx XDMA PCIe Bridge found in the U.S. Government.
Add driver for Xilinx XDMA PCIe Bridge found in the U.S. Government
Jan 29 2020, 4:52 PM
br closed D23337: Xilinx XDMA PCIe Controller driver.
Jan 29 2020, 4:52 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

Add comment for MSI/MSIx

Jan 29 2020, 3:03 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

Override MSI/MSIx pcib methods so MSI allocation fail and INTx are used.
MSI/MSIx don't work for now

Jan 29 2020, 2:54 PM

Jan 28 2020

br accepted D23402: Fix definition of SSTATUS_SD.
Jan 28 2020, 8:52 PM
br accepted D23407: cgem: Add another compat string for the SiFive fu540.
Jan 28 2020, 8:51 PM
br updated the diff for D23349: arm64 N1SDP PCI root complex driver.

Address Andrew's comments: use kva_alloc/pmap_enter for non-device memory

Jan 28 2020, 1:26 PM
br accepted D23395: Remove unused fields from struct pcb..

Looks good

Jan 28 2020, 11:53 AM
br accepted D23394: Trim duplicate CSR swaps from user exceptions..

nice catch!

Jan 28 2020, 11:39 AM

Jan 27 2020

br added inline comments to D23349: arm64 N1SDP PCI root complex driver.
Jan 27 2020, 2:38 PM

Jan 24 2020

br created D23349: arm64 N1SDP PCI root complex driver.
Jan 24 2020, 5:24 PM
br committed rS357087: Include the PCI stack to the riscv GENERIC kernel..
Include the PCI stack to the riscv GENERIC kernel.
Jan 24 2020, 5:10 PM
br committed rS357086: Enable NEW_PCIB on riscv..
Enable NEW_PCIB on riscv.
Jan 24 2020, 4:50 PM
br committed rS357085: o Move the software context struct to a header file..
o Move the software context struct to a header file.
Jan 24 2020, 4:44 PM
br committed rS357083: Move the ECAM macroses to the header file..
Move the ECAM macroses to the header file.
Jan 24 2020, 4:08 PM

Jan 23 2020

br updated the diff for D23337: Xilinx XDMA PCIe Controller driver.

Rename the driver to dev/xilinx/xlnx_pcib.[ch] per request from jhb@

Jan 23 2020, 5:38 PM
br added a member for PCI: br.
Jan 23 2020, 5:36 PM
br created D23337: Xilinx XDMA PCIe Controller driver.
Jan 23 2020, 5:03 PM

Jan 17 2020

br accepted D23218: Save and restore floating point registers in get/set_mcontext()..
Jan 17 2020, 4:57 PM
br committed rS356834: Use unsigned loads in fubyte, fuword16, generic_bs_r_1, generic_bs_r_2.
Use unsigned loads in fubyte, fuword16, generic_bs_r_1, generic_bs_r_2
Jan 17 2020, 4:48 PM
br closed D23236: fix riscv load/stores.
Jan 17 2020, 4:48 PM
br created D23236: fix riscv load/stores.
Jan 17 2020, 4:12 PM

Dec 30 2019

br committed rS356205: Don't hard-code field offsets of struct riscv_bootparams..
Don't hard-code field offsets of struct riscv_bootparams.
Dec 30 2019, 5:19 PM
br closed D22970: RISC-V: Don't hard-code field offsets of struct riscv_bootparams.
Dec 30 2019, 5:19 PM
br added inline comments to D22970: RISC-V: Don't hard-code field offsets of struct riscv_bootparams.
Dec 30 2019, 4:35 PM
br committed rS356203: Don't hard-code size of struct riscv_bootparams..
Don't hard-code size of struct riscv_bootparams.
Dec 30 2019, 2:38 PM
br closed D22968: RISC-V: Don't hard-code size of struct riscv_bootparams.
Dec 30 2019, 2:38 PM
br accepted D22968: RISC-V: Don't hard-code size of struct riscv_bootparams.
Dec 30 2019, 2:36 PM
br committed rS356202: Round the kernel stack allocation up as required..
Round the kernel stack allocation up as required.
Dec 30 2019, 1:29 PM
br closed D22961: RISC-V: Ensure kernel stack is aligned.
Dec 30 2019, 1:29 PM

Dec 29 2019

br accepted D22961: RISC-V: Ensure kernel stack is aligned.

Looks good. Thank you!

Dec 29 2019, 11:48 PM

Dec 4 2019

br accepted D22658: Use "far" calls and branches so that lld uses valid relocations..
Dec 4 2019, 2:42 PM
br accepted D22656: Use a single 'ld' to read the jmpbuf magic values instead of 'la; ld'..
Dec 4 2019, 2:40 PM

Nov 14 2019

br accepted D21928: plic: support irq distribution.
Nov 14 2019, 3:22 PM

Nov 11 2019

br accepted D21927: plic: fix context calculation.

Looks good.

Nov 11 2019, 2:22 PM
br added inline comments to D21928: plic: support irq distribution.
Nov 11 2019, 2:19 PM

Nov 4 2019

br accepted D21927: plic: fix context calculation.

Looks good

Nov 4 2019, 1:30 PM

Oct 28 2019

br added a comment to D21928: plic: support irq distribution.

I also have a comment from jhb@:
@br typically we only route device interrupts to a single core since interrupt handlers generally assume they are not run concurrently (interrupt filters, ithreads will be single-threaded even if the interrupt is broadcast)
as Andy noted, you want to handle interrupt binding requests, but you also need to do something for the “default” case.
Not sure what INTRNG does, but on x86 we round-robin interrupts among CPUs when they are first setup.

Oct 28 2019, 7:00 PM
br added a comment to D21928: plic: support irq distribution.
In D21928#484089, @br wrote:

Why do we need to enable interrupts for all CPUs and not only current cpu?
where an interrupt will be signaled in that case?

PIC_ENABLE_INTR is called very seldomly, often only once while setting up the PIC during intr_setup_irq by the BSP. Since it is not called per-cpu, this function should handle enabling the interrupt for all active CPUs.

BBL sets all PLIC enable bits to 1 by default, whereas OpenSBI sets them to 0, which is how I noticed that APs weren't having their interrupts enabled.

Oct 28 2019, 6:33 PM

Oct 25 2019

br added a comment to D21927: plic: fix context calculation.

looks good!

Oct 25 2019, 8:27 AM
br added a comment to D21928: plic: support irq distribution.

Why do we need to enable interrupts for all CPUs and not only current cpu?
where an interrupt will be signaled in that case?

Oct 25 2019, 8:18 AM

Oct 15 2019

br committed rS353575: Fix dwmmc(4) driver attachment when ext_resources are not present..
Fix dwmmc(4) driver attachment when ext_resources are not present.
Oct 15 2019, 5:24 PM
br closed D22043: Fix dwmmc(4) attachment.
Oct 15 2019, 5:24 PM
br created D22043: Fix dwmmc(4) attachment.
Oct 15 2019, 5:09 PM

Oct 14 2019

br committed rS353493: Fix the driver attachment in cases when the external resource devices.
Fix the driver attachment in cases when the external resource devices
Oct 14 2019, 3:53 PM

Oct 11 2019

br accepted D21975: RISC-V: Call devmap_bootstrap().
Oct 11 2019, 3:15 PM
br committed rS353431: Install the libopencsd version header (other headers now depend on it)..
Install the libopencsd version header (other headers now depend on it).
Oct 11 2019, 9:19 AM

Oct 10 2019

br committed rS353394: Remove a stale file left after merging..
Remove a stale file left after merging.
Oct 10 2019, 1:44 PM
br committed rS353393: Update ARM CoreSight trace decoder library..
Update ARM CoreSight trace decoder library.
Oct 10 2019, 1:30 PM