Page MenuHomeFreeBSD

br (Ruslan Bukin)
User

Projects

User Details

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

Recent Activity

Yesterday

br added a comment to D47831: sifive ccache driver.
In D47831#1091595, @br wrote:

I strongly think this should be a newbus device driver. Unless there is some urgent need that it should be set up at SI_SUB_CPU?

This driver needed before threadinit() otherwise tid_alloc() won't work. It is needed even all cache ways in ccache driver are disabled (however the way 0 is always enabled). May be it flushes other L1/L2/L3 caches I am not sure, but from I saw the freebsd could not use memory that was just allocated in tid_alloc() without a flush. So this should go anywhere before SI_SUB_INTRINSIC.

Mon, Dec 2, 10:19 PM
br added a comment to D47831: sifive ccache driver.

I strongly think this should be a newbus device driver. Unless there is some urgent need that it should be set up at SI_SUB_CPU?

This driver needed before threadinit() otherwise tid_alloc() won't work. It is needed even all cache ways in ccache driver are disabled (however the way 0 is always enabled). May be it flushes other L1/L2/L3 caches I am not sure, but from I saw the freebsd could not use memory that was just allocated in tid_alloc() without a flush. So this should go anywhere but before SI_SUB_INTRINSIC.

Mon, Dec 2, 10:06 PM
br requested review of D47871: eswin ahci attachment driver.
Mon, Dec 2, 8:21 PM
br added reviewers for D47867: eswin pcie attachment driver: mhorne, jrtc27.
Mon, Dec 2, 5:08 PM
br requested review of D47867: eswin pcie attachment driver.
Mon, Dec 2, 5:08 PM

Sat, Nov 30

br updated the diff for D47853: eswin reset driver.

Right, sorry:)

Sat, Nov 30, 10:22 PM
br updated the diff for D47853: eswin reset driver.

store both reg and bit in the hwreset *id

Sat, Nov 30, 9:55 PM
br requested review of D47854: hwreset: fix clk_id type.
Sat, Nov 30, 8:49 PM
br requested review of D47853: eswin reset driver.
Sat, Nov 30, 8:46 PM

Fri, Nov 29

br updated the diff for D47831: sifive ccache driver.

copyright and style(9)

Fri, Nov 29, 1:02 PM
br updated the summary of D47831: sifive ccache driver.
Fri, Nov 29, 12:58 PM
br added inline comments to D47831: sifive ccache driver.
Fri, Nov 29, 12:18 PM
br updated the diff for D47831: sifive ccache driver.

extract paddr on each page assuming the range is not contiguous

Fri, Nov 29, 12:18 PM

Thu, Nov 28

br updated the test plan for D47831: sifive ccache driver.
Thu, Nov 28, 7:42 PM
br requested review of D47831: sifive ccache driver.
Thu, Nov 28, 7:41 PM
br added inline comments to rG4ab2a84e0924: riscv: dcache flush hooks.
Thu, Nov 28, 2:00 PM
br added inline comments to D47455: riscv: add custom T-HEAD dcache ops.
Thu, Nov 28, 1:56 PM
br added inline comments to D47455: riscv: add custom T-HEAD dcache ops.
Thu, Nov 28, 1:54 PM

Mon, Nov 25

br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

Also I suspect the input signal levels to be backwards now, please report your findings. The recorded signal should be loudest for "-10dBV" and quietest with "LowGain".

Mon, Nov 25, 9:04 PM

Sun, Nov 24

br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

On the Input front, I have inserted Shure SM7B into External card Input 1, and I barely hear myself in Audacity. Slighly more loud on LowGain compare to +4dBu, but still very low on both. I could not set -10dBV because of off-by-one error somewhere (I guess).

Sun, Nov 24, 9:36 PM
br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..
In D47412#1086254, @br wrote:

On the "-10dbV" problem I could suggest to rename this to "minus10dbv" (and "plus4dbu as well).

Now that I think of it, we also have negative integer values in sysctl. Given that, it should be acceptable to use "-10dBV". It is quite a bit more readable and closer to RME / standard signal level terminology.

Could you please try to set "-10dBV" in a su -l session, to check whether this is a sudo problem? I read through the code again and didn't find any possible cause.

Sun, Nov 24, 9:14 PM

Thu, Nov 21

br added a comment to D47688: riscv: Permit spurious faults in kernel mode.

Perhaps worth mentioning in the commit message that RISC-V is unusual in allowing the TLB to cache invalid PTEs

I'm not sure that that's exactly what's happening - it might be that the core is caching translation structures (and this is certainly not specific to riscv) and requires a sfence.vma for PTE updates to be visible.

In fact, we might still want to issue a local sfence.vma when overwriting an invalid PTE in pmap_enter(), to avoid the overhead of spurious faults on first access. It's hard to say without some data on how common such faults are.

Thu, Nov 21, 7:28 PM
br accepted D47688: riscv: Permit spurious faults in kernel mode.

Works to me on SiFive Premier P550 (no hacky TLB flush needed anymore). Thanks!

Thu, Nov 21, 10:08 AM

Sat, Nov 16

br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

On the "-10dbV" problem I could suggest to rename this to "minus10dbv" (and "plus4dbu as well).

Sat, Nov 16, 10:16 PM
br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

(Note that default setting (-10dBV) is loudest, then +4dbU is lower, and HighGain is lowest volume)

Interesting, should be the other way round. The linux code doesn't seem to label these explicitly, which is why I expected the 0 value to be safe (quiet) similar to HDSP 9632. Chances are the input and output levels work the same and are in wrong order too, could you check them?

Sat, Nov 16, 10:13 PM

Wed, Nov 13

br accepted D47477: riscv: Add support for building vmm as a kernel module.
Wed, Nov 13, 10:52 AM

Thu, Nov 7

br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

On travel currently -- will look next week.

Thu, Nov 7, 6:51 PM

Nov 3 2024

br added a comment to D47412: snd_hdspe(4): Add sysctls to select analog signal levels..

Great work, thanks!

Nov 3 2024, 2:47 PM

Oct 31 2024

br committed rGd3916eace506: riscv/vmm: Initial import. (authored by br).
riscv/vmm: Initial import.
Oct 31 2024, 8:26 PM
br committed rG7ab1a32cd43c: bhyve/riscv: Initial import. (authored by br).
bhyve/riscv: Initial import.
Oct 31 2024, 8:26 PM
br closed D45512: bhyve/riscv userspace part.
Oct 31 2024, 8:26 PM
br closed D45553: bhyve/riscv kernel part.
Oct 31 2024, 8:26 PM
br updated the diff for D45512: bhyve/riscv userspace part.

Regenerate

Oct 31 2024, 3:30 PM
br updated the diff for D45553: bhyve/riscv kernel part.

fix shift value of a register and remove bogus ones

Oct 31 2024, 2:34 PM

Oct 30 2024

br updated the diff for D45553: bhyve/riscv kernel part.

unlock spin mutex when no interrupts found during APLIC CLAIM request

Oct 30 2024, 3:47 PM

Oct 29 2024

br closed D47306: vmm: fix vcpu atomic load.
Oct 29 2024, 4:24 PM
br committed rG72ae04c73347: vmm: fix vcpu atomic load (authored by br).
vmm: fix vcpu atomic load
Oct 29 2024, 4:23 PM
br committed rG14457cf7d6fe: snd_hdsp(4): Add sysctls to select analog signal levels. (authored by dev_submerge.ch).
snd_hdsp(4): Add sysctls to select analog signal levels.
Oct 29 2024, 4:18 PM
br closed D47330: snd_hdsp(4): Add sysctls to select analog signal levels..
Oct 29 2024, 4:18 PM
br added a comment to D47330: snd_hdsp(4): Add sysctls to select analog signal levels..

great idea, and happy to test (and actually use) if you can adopt to hdspe!

Oct 29 2024, 4:05 PM
br accepted D47330: snd_hdsp(4): Add sysctls to select analog signal levels..
Oct 29 2024, 3:54 PM

Oct 28 2024

br updated the diff for D40477: HWT: ARM CoreSight support.

Regenerate

Oct 28 2024, 7:17 PM
br updated the diff for D45512: bhyve/riscv userspace part.

Instead of using static address for device tree blob, locate it just after bootrom image dynamically.

Oct 28 2024, 5:29 PM
br added inline comments to D45512: bhyve/riscv userspace part.
Oct 28 2024, 4:00 PM
br updated the diff for D45512: bhyve/riscv userspace part.

Address comments

Oct 28 2024, 4:00 PM
br removed reviewers for D45553: bhyve/riscv kernel part: andrew, manu.
Oct 28 2024, 2:38 PM
br updated the diff for D45553: bhyve/riscv kernel part.

Remove unrelated arm64/amd64 changes

Oct 28 2024, 2:37 PM
br added inline comments to D45553: bhyve/riscv kernel part.
Oct 28 2024, 2:32 PM
br updated the diff for D45553: bhyve/riscv kernel part.

Address markj@ comments, Thanks Mark

Oct 28 2024, 2:32 PM
br requested review of D47306: vmm: fix vcpu atomic load.
Oct 28 2024, 1:16 PM

Oct 24 2024

br accepted D47134: plic, aplic: handle all pending interrupts for hart.
Oct 24 2024, 6:13 PM
br added inline comments to D47135: plic: handling for interrupt-cells == 2.
Oct 24 2024, 6:10 PM
br accepted D47135: plic: handling for interrupt-cells == 2.
Oct 24 2024, 6:09 PM
br accepted D47133: plic: tweak macro argument names.
Oct 24 2024, 6:08 PM

Oct 7 2024

br updated the diff for D45553: bhyve/riscv kernel part.

Regenerate

Oct 7 2024, 3:26 PM
br updated the diff for D45512: bhyve/riscv userspace part.

Regenerate

Oct 7 2024, 3:25 PM

Oct 4 2024

br committed rGe0c37c160b11: snd_hdsp(4): Support AO4S-192 and AI4S-192 extension boards. (authored by dev_submerge.ch).
snd_hdsp(4): Support AO4S-192 and AI4S-192 extension boards.
Oct 4 2024, 6:54 PM
br closed D46837: snd_hdsp(4): Support AO4S-192 and AI4S-192 extension boards..
Oct 4 2024, 6:54 PM
br closed D46946: snd_hdspe(4): Addendum to AO4S-192 and AI4S-192 support..
Oct 4 2024, 6:50 PM
br committed rG8fb467568877: snd_hdspe(4): Addendum to AO4S-192 and AI4S-192 support. (authored by dev_submerge.ch).
snd_hdspe(4): Addendum to AO4S-192 and AI4S-192 support.
Oct 4 2024, 6:50 PM
br committed rG9e7e15b539a6: snd_hdspe(4): AO4S/AI4S support. (authored by br).
snd_hdspe(4): AO4S/AI4S support.
Oct 4 2024, 6:41 PM
br closed D46409: hdspe: AO4S/AI4S support.
Oct 4 2024, 6:41 PM

Oct 2 2024

br added a comment to D46409: hdspe: AO4S/AI4S support.

{F97460426}

This would be my proposed fix for the unified pcm device mode, plus some man page amendments.

@br, could you have a look and integrate this patch with yours if you agree with it? It's a git patch, apply with git am and then squash. Since I cannot test it without the hardware, could you please also try to enable the unified pcm mode?

Oct 2 2024, 9:38 PM

Sep 13 2024

br added a comment to D46409: hdspe: AO4S/AI4S support.
In D46409#1062688, @br wrote:

I was just able to disconnect both extension cards on the fly when music was playing (without shutting down the PC), and then connected them back -- music still playing.
so hot swap may actually work

This means we can start a channel, set the start flag in the register, and the driver runs without the extension boards connected? Recording silence?
If that's the case we can keep the pcm device always present, no harm done.

I will write the HDSP equivalent and add the missing unified pcm device part there, for comparison. Hopefully this weekend.

Sep 13 2024, 4:47 PM

Sep 12 2024

br updated the diff for D45553: bhyve/riscv kernel part.

handle VM_EXITCODE_SUSPENDED.
this fixes re-creation of a VM with the same name after graceful shutdown

Sep 12 2024, 2:23 PM

Sep 10 2024

br added a comment to D46409: hdspe: AO4S/AI4S support.
In D46409#1062688, @br wrote:
In D46409#1062686, @br wrote:
In D46409#1060137, @br wrote:

But according to the manuals, the expansion board channels are always shown in the windows driver, so I think we can also keep "ext" pcm device always present. Could you please test that there's no harm in using the "ext" pcm device without any expansion boards? Is there an error or does it just run silently?

Let me check

I will check this on the first opportunity, I just don't want to loose work environment when rebooting as lots of windows are opened:)

I was just able to disconnect both extension cards on the fly when music was playing (without shutting down the PC), and then connected them back -- music still playing.
so hot swap may actually work

Sep 10 2024, 3:52 PM
br added a comment to D46409: hdspe: AO4S/AI4S support.
In D46409#1062686, @br wrote:
In D46409#1060137, @br wrote:

But according to the manuals, the expansion board channels are always shown in the windows driver, so I think we can also keep "ext" pcm device always present. Could you please test that there's no harm in using the "ext" pcm device without any expansion boards? Is there an error or does it just run silently?

Let me check

I will check this on the first opportunity, I just don't want to loose work environment when rebooting as lots of windows are opened:)

Sep 10 2024, 3:45 PM
br added a comment to D46409: hdspe: AO4S/AI4S support.
In D46409#1060137, @br wrote:

But according to the manuals, the expansion board channels are always shown in the windows driver, so I think we can also keep "ext" pcm device always present. Could you please test that there's no harm in using the "ext" pcm device without any expansion boards? Is there an error or does it just run silently?

Let me check

Sep 10 2024, 3:43 PM

Sep 4 2024

br updated the diff for D45553: bhyve/riscv kernel part.

Regenerate

Sep 4 2024, 9:17 AM
br updated the diff for D45553: bhyve/riscv kernel part.

Move guest's hstatus bits initialization from vmmops_run() to vmmops_vcpu_init()

Sep 4 2024, 9:15 AM
br committed rGe29afe64efd2: riscv: fix csr_swap() (authored by br).
riscv: fix csr_swap()
Sep 4 2024, 9:12 AM
br closed D46526: riscv: fix csr_swap().
Sep 4 2024, 9:12 AM

Sep 3 2024

br requested review of D46526: riscv: fix csr_swap().
Sep 3 2024, 6:27 PM

Sep 2 2024

br added a comment to D46409: hdspe: AO4S/AI4S support.

But according to the manuals, the expansion board channels are always shown in the windows driver, so I think we can also keep "ext" pcm device always present. Could you please test that there's no harm in using the "ext" pcm device without any expansion boards? Is there an error or does it just run silently?

Sep 2 2024, 3:30 PM
br updated the diff for D46409: hdspe: AO4S/AI4S support.

reorder EXT channel between LINE and PHONE

Sep 2 2024, 3:30 PM
br closed D46257: sysutils/u-boot-bhyve-riscv: New port.
Sep 2 2024, 3:02 PM
br committed R11:5838f13ec07f: sysutils/u-boot-bhyve-riscv: New port (authored by br).
sysutils/u-boot-bhyve-riscv: New port
Sep 2 2024, 3:02 PM

Aug 30 2024

br updated the diff for D45553: bhyve/riscv kernel part.

Add a1 to the list of clobbers

Aug 30 2024, 8:43 PM
br updated the diff for D45553: bhyve/riscv kernel part.

remove htmp variable

Aug 30 2024, 8:39 PM
br updated the diff for D45553: bhyve/riscv kernel part.

Try to address issues discovered by jrtc27:

Aug 30 2024, 7:47 PM
br added inline comments to D45553: bhyve/riscv kernel part.
Aug 30 2024, 10:27 AM

Aug 29 2024

br updated the diff for D45512: bhyve/riscv userspace part.

add vmexit_hyp for exceptions that could not be handled

Aug 29 2024, 2:42 PM
br updated the diff for D45553: bhyve/riscv kernel part.

Handle exceptions during unprivileged read using hlvx.hu

Aug 29 2024, 2:40 PM

Aug 27 2024

br added a comment to D46409: hdspe: AO4S/AI4S support.
In D46409#1057745, @br wrote:

we actually need to change this patch to support stereo (I currently own just one studio monitor).
Should we do HDSPE_CHAN_AIO_EXT1 for two channels, and HDSPE_CHAN_AIO_EXT2 for another two channels? to support stereo.

The current state of the FreeBSD audio stack is that it's easy to split the channels of one pcm device into multiple pcm devices, using virtual_oss for example. In contrast there's almost no support for opening multiple pcm devices to combine them and use their channels in parallel.

Therefore, while two stereo pcm devices would be better than mono, I'd even prefer to combine all four channels into one pcm device for the extension boards. We can make it play / record mono on the first channel, or stereo on the first two channels, when the device is opened that way. The buffer_copy() implementation already handles such cases (for ADAT), I think we'd just have to include mono and stereo in the supported sound format capability list. Would that cover your use cases?

Another question, I didn't have time yet to study the linux code, are there flags in the registers to indicate the presence of the extension boards? They are not hot-swappable I suppose, so I think we shouldn't create those extra pcm devices when the extension boards are not present. I would probably also make a distinction between the AO4S and AI4S, and create separate pcm devices for them. As an option, we could do that as an improvement in a second step, and get it working for you in a "always present" mode first.

Aug 27 2024, 3:53 PM
br updated the diff for D46409: hdspe: AO4S/AI4S support.

combine all external channels to a single channel

Aug 27 2024, 3:48 PM
br updated the diff for D46257: sysutils/u-boot-bhyve-riscv: New port.

remove U_BOOT_SLAVE_PORTREVISION_2024.01= 1

Aug 27 2024, 12:59 PM
br updated the diff for D45512: bhyve/riscv userspace part.

Regenerate

Aug 27 2024, 9:26 AM

Aug 26 2024

br updated the diff for D45553: bhyve/riscv kernel part.

sync with CURRENT: vmm_dev and vmm_stat moved to dev/vmm/

Aug 26 2024, 8:40 PM

Aug 22 2024

br added a reviewer for D46397: amd64: Intel Processor Trace support: br.
Aug 22 2024, 9:02 PM
br added a comment to D46409: hdspe: AO4S/AI4S support.

we actually need to change this patch to support stereo (I currently own just one studio monitor).
Should we do HDSPE_CHAN_AIO_EXT1 for two channels, and HDSPE_CHAN_AIO_EXT2 for another two channels? to support stereo.

Aug 22 2024, 10:02 AM
br requested review of D46409: hdspe: AO4S/AI4S support.
Aug 22 2024, 9:50 AM

Aug 21 2024

br added reviewers for D46397: amd64: Intel Processor Trace support: markj, kib.
Aug 21 2024, 2:59 PM
br updated the summary of D46397: amd64: Intel Processor Trace support.
Aug 21 2024, 2:58 PM
br updated the diff for D40728: hwt(8) utility added.

Regenerate for Intel PT

Aug 21 2024, 2:55 PM
br updated the diff for D40466: Hardware Trace (HWT) framework.

Regenerate

Aug 21 2024, 2:52 PM
br updated the summary of D40466: Hardware Trace (HWT) framework.
Aug 21 2024, 2:49 PM
br foisted D46397: amd64: Intel Processor Trace support upon bnovkov.
Aug 21 2024, 2:48 PM
br requested review of D46397: amd64: Intel Processor Trace support.
Aug 21 2024, 2:48 PM

Aug 13 2024

br added a comment to D43452: [RFC] riscv: Introduce support for Incoming MSI Controller (IMSIC).

Hi Himanshu what is status of this? could you regenerate for the latest HEAD ?

Aug 13 2024, 1:29 PM · riscv

Aug 9 2024

br retitled D46257: sysutils/u-boot-bhyve-riscv: New port from new port: sysutils/u-boot-bhyve-riscv to sysutils/u-boot-bhyve-riscv: New port.
Aug 9 2024, 7:48 PM