Page MenuHomeFreeBSD

wma_semihalf.com (Wojciech Macek)
User

Projects

User Details

User Since
Jul 1 2015, 1:47 PM (215 w, 4 d)

Recent Activity

Jan 18 2016

wma_semihalf.com retitled D4979: Provide AIO interface on ARM64 platforms from to Provide AIO interface on ARM64 platforms.
Jan 18 2016, 12:01 PM · arm64
wma_semihalf.com retitled D4976: Update ThunderX PCIe driver to new DTS from to Update ThunderX PCIe driver to new DTS.
Jan 18 2016, 7:43 AM · arm64

Dec 1 2015

wma_semihalf.com added a comment to D4234: Workaround the rare condition in VNIC when the empty fragment is received.

I suggest we add statistics/counters for that particular situation. It'd be good to track it down and check if all hw is prone to this issue or it's only one which Ed was using.

Dec 1 2015, 11:14 AM

Nov 30 2015

wma_semihalf.com commandeered D4142: Do not zero memory in umass_detach.
Nov 30 2015, 3:08 PM
wma_semihalf.com retitled D4314: Provide simple bus_dma stubs for USB/loader/kshim library from to Provide simple bus_dma stubs for USB/loader/kshim library.
Nov 30 2015, 8:42 AM

Nov 21 2015

wma_semihalf.com added a comment to D4143: Implement simple ops for umass_disk.

Any feedback?

Nov 21 2015, 11:52 AM
wma_semihalf.com added a comment to D4192: Add support for exynos5_ehci in loader.

Any other comments?

Nov 21 2015, 11:52 AM
wma_semihalf.com added a comment to D4009: ARMv7 support for minidumps with NEW_PMAP.

Thanks. In that case I'll wait for the generic minidump format to be integrated first.

Nov 21 2015, 11:51 AM

Nov 18 2015

wma_semihalf.com updated the diff for D4144: Run callouts during infinite waiting inside cv_wait.
Nov 18 2015, 8:53 AM
wma_semihalf.com updated the diff for D4192: Add support for exynos5_ehci in loader.

Removed the first check.

Nov 18 2015, 8:51 AM

Nov 17 2015

wma_semihalf.com added a comment to D4192: Add support for exynos5_ehci in loader.

The goal for this thing is to have the USB controller (sys/boot/usb & sys/boot/kshim library) independent of u-boot.

Nov 17 2015, 11:38 AM
wma_semihalf.com retitled D4192: Add support for exynos5_ehci in loader from to Add support for exynos5_ehci in loader.
Nov 17 2015, 11:17 AM
wma_semihalf.com updated the diff for D4145: Increase malloc area in loader/usb.
Nov 17 2015, 11:13 AM
wma_semihalf.com updated the diff for D4144: Run callouts during infinite waiting inside cv_wait.
Nov 17 2015, 11:03 AM
wma_semihalf.com updated the diff for D4141: Implement missing bus_space_subregion.
Nov 17 2015, 11:00 AM
wma_semihalf.com retitled D4189: Fix buffer overflow in exynos5_ehci from to Fix buffer overflow in exynos5_ehci.
Nov 17 2015, 7:46 AM

Nov 13 2015

wma_semihalf.com added inline comments to D4144: Run callouts during infinite waiting inside cv_wait.
Nov 13 2015, 12:42 PM
wma_semihalf.com retitled D4145: Increase malloc area in loader/usb from to Increase malloc area in loader/usb.
Nov 13 2015, 12:37 PM
wma_semihalf.com retitled D4144: Run callouts during infinite waiting inside cv_wait from to Run callouts during infinite waiting inside cv_wait.
Nov 13 2015, 12:36 PM
wma_semihalf.com retitled D4143: Implement simple ops for umass_disk from to Implement simple ops for umass_disk.
Nov 13 2015, 12:35 PM
wma_semihalf.com retitled D4142: Do not zero memory in umass_detach from to Do not zero memory in umass_detach.
Nov 13 2015, 12:33 PM
wma_semihalf.com retitled D4141: Implement missing bus_space_subregion from to Implement missing bus_space_subregion.
Nov 13 2015, 12:33 PM
wma_semihalf.com retitled D4140: Use properly aligned buffer in usb_alloc from to Use properly aligned buffer in usb_alloc.
Nov 13 2015, 12:32 PM

Nov 11 2015

wma_semihalf.com added a comment to D4009: ARMv7 support for minidumps with NEW_PMAP.

Ok, I see. I'll try to change the code and use pmap_kextract to check which pages are mapped to avoid parsing of pagetables directly. However I still will need to access some of PMAP structures to prepare fake-pagetables for libkvm... Please let me know if that approach would be acceptable. I don't want to spend much time doing that and then find that everything is wrong :)

Nov 11 2015, 3:58 PM
wma_semihalf.com added a comment to D4011: Make PCB structure binary compatible for old and new PMAP on ARM.

Thanks, eventually that'd be nice. However I'd like to submit this patch and then remove any old-pmap stuff in a separate commit. It's just that we have prepared new-pmap to be MFCed to 10-stable and I'd like to have every necessary change isolated to keep the track of all required commits.
If you have no objections I'd like to ask zbb to commit this change as is.

Nov 11 2015, 3:55 PM

Nov 2 2015

wma_semihalf.com added a comment to D4010: Create kernel.debug.noheader by default on ARM.

I don't understand how is your question related to this change. Especially that I do use loader...

Nov 2 2015, 12:33 PM
wma_semihalf.com added a comment to D4009: ARMv7 support for minidumps with NEW_PMAP.

Ok, thanks for all comments. So... what are we going to do with this patch in general?
I assume that it might be impossible to avoid libkvm+minidump from using PTE tables directly. Yes, we can use a pmap_kextract in minidumps to check if a given page is mapped to the kernel, but we'd still need to create a "fake" pagetables to be compatible with libkvm. What do you think?

Nov 2 2015, 9:03 AM
wma_semihalf.com updated the diff for D4011: Make PCB structure binary compatible for old and new PMAP on ARM.

I removed all ifdefs to avoid obfuscating the code with reserved fields etc.

Nov 2 2015, 8:36 AM
wma_semihalf.com added a reviewer for D4010: Create kernel.debug.noheader by default on ARM: andrew.
Nov 2 2015, 7:59 AM
wma_semihalf.com updated the diff for D4021: Support for branch instruction on armv7 with ptrace single step.
Nov 2 2015, 7:47 AM

Oct 29 2015

wma_semihalf.com updated the diff for D4021: Support for branch instruction on armv7 with ptrace single step.

Argh... I must have been drunk I didn;t notice the parsing function is already there :) With few tweaks it looks usable.

Oct 29 2015, 4:48 PM
wma_semihalf.com added a comment to D4021: Support for branch instruction on armv7 with ptrace single step.

Hm, are you sure about this ? Shared object's text is mapped private, same as the main binary text. The proc_rwmem() functionality, which backs ptrace_write_int(), correctly handles COW, or, at least it did when I last checked it.

Oct 29 2015, 8:29 AM
wma_semihalf.com updated the diff for D4021: Support for branch instruction on armv7 with ptrace single step.

Yep, you're right. Currently the ptrace stepping works only for very special case. The interface requires redesign, but I'd like to have this patch integrated first, just to let some of debugging be working.
There is also a problem, when you try to step over the code from a shared library. Modification of any instruction becomes global for all processes using the same lib.
However, I believe that someone trying to use this functionality now is aware of some of its limitations. Or at least should be...

Oct 29 2015, 8:02 AM

Oct 28 2015

wma_semihalf.com retitled D4021: Support for branch instruction on armv7 with ptrace single step from to Support for branch instruction on armv7 with ptrace single step.
Oct 28 2015, 6:29 AM
wma_semihalf.com updated the diff for D4011: Make PCB structure binary compatible for old and new PMAP on ARM.
Oct 28 2015, 6:16 AM

Oct 27 2015

wma_semihalf.com retitled D4013: Use PCB/LR from PCB rather from stack on armv7-gdb from to Use PCB/LR from PCB rather from stack on armv7-gdb.
Oct 27 2015, 10:51 AM
wma_semihalf.com retitled D4012: WORKAROUND: ignore ARM EABI version higher than 5 in GDB from to WORKAROUND: ignore ARM EABI version higher than 5 in GDB.
Oct 27 2015, 10:49 AM
wma_semihalf.com retitled D4011: Make PCB structure binary compatible for old and new PMAP on ARM from to Make PCB structure binary compatible for old and new PMAP on ARM.
Oct 27 2015, 10:47 AM
wma_semihalf.com retitled D4010: Create kernel.debug.noheader by default on ARM from to Create kernel.debug.noheader by default on ARM.
Oct 27 2015, 10:44 AM
wma_semihalf.com retitled D4009: ARMv7 support for minidumps with NEW_PMAP from to ARMv7 support for minidumps with NEW_PMAP.
Oct 27 2015, 10:40 AM

Oct 23 2015

wma_semihalf.com updated the diff for D3752: Add support for unspecified ranges on ARM64 ThunderX system.
Oct 23 2015, 10:54 AM
wma_semihalf.com added inline comments to D3752: Add support for unspecified ranges on ARM64 ThunderX system.
Oct 23 2015, 10:53 AM
wma_semihalf.com updated the diff for D3753: Fix bus numbering in ThunderX ITS quirk.
Oct 23 2015, 10:51 AM

Oct 1 2015

wma_semihalf.com retitled D3753: Fix bus numbering in ThunderX ITS quirk from to Fix bus numbering in ThunderX ITS quirk.
Oct 1 2015, 7:01 AM
wma_semihalf.com retitled D3752: Add support for unspecified ranges on ARM64 ThunderX system from to Add support for unspecified ranges on ARM64 ThunderX system.
Oct 1 2015, 6:09 AM

Sep 29 2015

wma_semihalf.com retitled D3744: Use 4-level pagetables early in ARM64 locore.S from to Use 4-level pagetables early in ARM64 locore.S.
Sep 29 2015, 5:04 AM

Sep 23 2015

wma_semihalf.com added a comment to D3706: ThunderX WORKAROUND: enumerate only one slot for now.

Good point, John. That would also explain why sriov-capable cards are working fine and do not require this hack. I'll look at ari configuration more closely.

Sep 23 2015, 4:43 AM

Sep 22 2015

wma_semihalf.com accepted D3706: ThunderX WORKAROUND: enumerate only one slot for now.

I'm fine with that workaround. Also, don't think the configuration variable is necessary. I've just tested few cards and the em is not the only one prone to multi-enumeration. Let's leave it as is, we'll only loose the ability of using pcie switches in thuderx external pci, which is in fact an extremely rare scenario.
This week I'll try to at least check the generic pci to ensure it properly configures thunderx internal bridge.

Sep 22 2015, 5:44 AM

Sep 16 2015

wma_semihalf.com retitled D3682: Limit attached ITSes to one on ARM64 from to Limit attached ITSes to one on ARM64.
Sep 16 2015, 10:26 AM

Sep 8 2015

wma_semihalf.com updated the diff for D3406: Add domain support to PCI bus allocation.

Fixed everything except sb_zbpci, as you suggested.

Sep 8 2015, 7:02 AM

Sep 2 2015

wma_semihalf.com added a comment to D3538: Create DMAP dynamically on ARM64 platforms.

Yep, that's also the way we can do this.

Sep 2 2015, 2:39 PM
wma_semihalf.com added a comment to D3538: Create DMAP dynamically on ARM64 platforms.

39 bits are the maximum address range the MMU can handle using 4KB pages and L1&L2&L3 pagetables. This corresponds to mapping of 512GB of VA.
Architecturally ARM64 can use up to VA 48-bits but that would require either using L0 pagetable as well (thus provide way more complex address translation and slow down the whole system, not only dmap pa/va resolving) or increase page size to 16KB or 64KB (that is also undesireable).

Sep 2 2015, 1:55 PM
wma_semihalf.com added a comment to D3538: Create DMAP dynamically on ARM64 platforms.

The problem is, that on ARM64 we do not have physically continuous memory. If we take ThunderX as an example, there is:
0#64GB @ 0x00000000_00000000 - 0x0000000F_FFFFFFFF
1#64GB @ 0x00000100_00000000 - 0x0000010F_FFFFFFFF
EFI runs us from region 1#, so we must have this mapped, because there is also where L1 pagetable is located.

Sep 2 2015, 1:11 PM
wma_semihalf.com updated the diff for D3538: Create DMAP dynamically on ARM64 platforms.
Sep 2 2015, 5:27 AM

Sep 1 2015

wma_semihalf.com updated the diff for D3538: Create DMAP dynamically on ARM64 platforms.

Fix:

  • PA chunks are 1GB-aligned
  • fix minidumps
Sep 1 2015, 1:58 PM

Aug 31 2015

wma_semihalf.com retitled D3538: Create DMAP dynamically on ARM64 platforms from to Create DMAP dynamically on ARM64 platforms.
Aug 31 2015, 10:13 AM

Aug 26 2015

wma_semihalf.com added a comment to D3406: Add domain support to PCI bus allocation.

Any comments?

Aug 26 2015, 11:53 AM

Aug 20 2015

wma_semihalf.com retitled D3436: its_cmd_send may return prior to command being completed from to its_cmd_send may return prior to command being completed.
Aug 20 2015, 7:04 AM

Aug 18 2015

wma_semihalf.com updated the diff for D3405: Increase MAXCPU in ARM64 .
Aug 18 2015, 7:12 AM
wma_semihalf.com retitled D3406: Add domain support to PCI bus allocation from to Add domain support to PCI bus allocation.
Aug 18 2015, 6:35 AM
wma_semihalf.com retitled D3405: Increase MAXCPU in ARM64 from to Increase MAXCPU in ARM64 GENERIC config .
Aug 18 2015, 5:44 AM

Aug 17 2015

wma_semihalf.com added a comment to D3296: The mp_naps have been removed as it does not seem to be needed.

Andrew, do you have any comments? If not, i'd like to submit this change and close the review.

Aug 17 2015, 11:46 AM
wma_semihalf.com added a comment to D3297: Release memory for CPUs that fail to init on ARM64.

We found some troubles with CPU starting on one of our non-cavm arm64 boards. If you have no objections I'd like to submit this patch tomorrow.

Aug 17 2015, 11:44 AM
wma_semihalf.com updated the diff for D3299: GICv3 + ITS support for SMP.
Aug 17 2015, 8:19 AM

Aug 4 2015

wma_semihalf.com abandoned D3132: Improve generic_timer startup on secondary cores.

As discussed with Ed, a simpler temporary workaround will be added to gicv3.

Aug 4 2015, 7:53 AM
wma_semihalf.com retitled D3299: GICv3 + ITS support for SMP from to GICv3 + ITS support for SMP.
Aug 4 2015, 7:51 AM
wma_semihalf.com retitled D3297: Release memory for CPUs that fail to init on ARM64 from Add memory for CPUs that fail to init on ARM64 to Release memory for CPUs that fail to init on ARM64.
Aug 4 2015, 7:31 AM
wma_semihalf.com retitled D3297: Release memory for CPUs that fail to init on ARM64 from to Add memory for CPUs that fail to init on ARM64.
Aug 4 2015, 7:31 AM
wma_semihalf.com retitled D3296: The mp_naps have been removed as it does not seem to be needed from to The mp_naps have been removed as it does not seem to be needed.
Aug 4 2015, 7:28 AM
wma_semihalf.com added a comment to D3257: ThunderX external PCIe driver.

Thanks, good point!
The next step for this driver is to enhance resource allocation in case the size is unknown (line #442) which is required for ThunderX ethernet NIC we're currently developing the driver for.
If you don't mind, I'd like to commit this file as-is and add support for NEW_PCIB later, along with previously mentioned VFs. I think I should make this in a week or two.

Aug 4 2015, 5:33 AM
wma_semihalf.com updated the diff for D3277: Treat internal bridge as subtractive on ThunderX ARM64.
Aug 4 2015, 5:25 AM

Aug 3 2015

wma_semihalf.com retitled D3277: Treat internal bridge as subtractive on ThunderX ARM64 from to Treat internal bridge as subtractive on ThunderX ARM64.
Aug 3 2015, 9:08 AM
wma_semihalf.com retitled D3276: Add missing exception number to el0 sync from to Add missing exception number to el0 sync.
Aug 3 2015, 7:04 AM
wma_semihalf.com updated the diff for D3257: ThunderX external PCIe driver.

Applying fixes from internal PCIe review here also.

Aug 3 2015, 5:42 AM
wma_semihalf.com added inline comments to D3031: PCIe support for ThunderX.
Aug 3 2015, 5:40 AM
wma_semihalf.com updated the diff for D3031: PCIe support for ThunderX.
Aug 3 2015, 5:39 AM

Jul 31 2015

wma_semihalf.com added inline comments to D3257: ThunderX external PCIe driver.
Jul 31 2015, 7:07 PM
wma_semihalf.com retitled D3257: ThunderX external PCIe driver from to ThunderX external PCIe driver.
Jul 31 2015, 5:55 AM
wma_semihalf.com added inline comments to D3031: PCIe support for ThunderX.
Jul 31 2015, 4:55 AM

Jul 30 2015

wma_semihalf.com updated the diff for D3246: Enable IRQ during syscalls on ARM64.
Jul 30 2015, 11:24 AM
wma_semihalf.com added inline comments to D3031: PCIe support for ThunderX.
Jul 30 2015, 10:52 AM
wma_semihalf.com retitled D3246: Enable IRQ during syscalls on ARM64 from to Enable IRQ during syscalls on ARM64.
Jul 30 2015, 7:08 AM
wma_semihalf.com added a comment to D3031: PCIe support for ThunderX.

Marking all issues as done.

Jul 30 2015, 5:33 AM
wma_semihalf.com updated the diff for D3031: PCIe support for ThunderX.

Cosmetic changes: aligned with the current driver version to ease any further merge of external pcie driver.

Jul 30 2015, 5:31 AM

Jul 29 2015

wma_semihalf.com added inline comments to D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 29 2015, 5:31 AM
wma_semihalf.com updated the diff for D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 29 2015, 5:28 AM
wma_semihalf.com added inline comments to D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 29 2015, 5:12 AM

Jul 28 2015

wma_semihalf.com added a comment to D3132: Improve generic_timer startup on secondary cores.

I like the idea of doing sth generic. What is your ETA on this?
If it takes more than 2-3 weeks maybe it'd be good to submit anything that gives us support for PPIs and revert it once an elegant solution is done? I mean this patch or even port an ugly hack from gic.c, whatever, since it'd be only temporary. Without this, the GICv3 combined with SMP is pretty useless.
Andrew, Ed, what do you think?

Jul 28 2015, 2:48 PM
wma_semihalf.com updated the diff for D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.

Added current info about Cavium revisions. Let me know if that's enough.

Jul 28 2015, 1:03 PM
wma_semihalf.com updated the diff for D3031: PCIe support for ThunderX.

Removed all fdt-related stuff and cleaned up a little.

Jul 28 2015, 12:43 PM
wma_semihalf.com accepted D3131: Add quirk for Thunder ITS GITS_BASER.
Jul 28 2015, 12:04 PM
wma_semihalf.com added a comment to D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.

Andrew, would you mind explaining what is the problem here?
At first you disliked an idea of having any vendor-specific defines in kernel config (option SOC_CAV_THUNDERX) so I developed a method for resolving it dynamically in runtime. That approach is really optimal and gives us only 5-cycle penalty when the cpu is not thunderx (reading data from pcpu takes 3-cycles if is in L1 cache, value comparison and near jump are another 2-cycles). That's way better than workarounds in Linux, and, what's more, marginal when you compare with cycles spent in the PIC interrupt handler routine.
Now we are adding magical errata option to kernconf and creating mess, which we'd like to avoid... But that's fine if that's what you want. My primary goal is to have thunderx support done.

Jul 28 2015, 11:40 AM
wma_semihalf.com updated the diff for D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.

I mostly dislike an idea of having errata-specific ifdefs inside the code. This one is the first, but there are still few more I'd like to submit and would like to avoid causing mess within generic drivers.

Jul 28 2015, 8:43 AM
wma_semihalf.com updated the diff for D3216: Limit ofw_cpu_early_foreach to CPUs only.
Jul 28 2015, 8:09 AM

Jul 27 2015

wma_semihalf.com updated D3216: Limit ofw_cpu_early_foreach to CPUs only.
Jul 27 2015, 8:04 AM
wma_semihalf.com retitled D3216: Limit ofw_cpu_early_foreach to CPUs only from to Limit ofw_cpu_early_foreach to CPUs only.
Jul 27 2015, 8:02 AM
wma_semihalf.com updated the diff for D3031: PCIe support for ThunderX.
Jul 27 2015, 5:25 AM
wma_semihalf.com updated the diff for D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 27 2015, 5:10 AM

Jul 24 2015

wma_semihalf.com added inline comments to D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 24 2015, 12:57 PM
wma_semihalf.com updated the diff for D3184: THUNDERX ERRATA: Apply erratum for mrs ICC_IAR1_EL1.
Jul 24 2015, 12:56 PM