Page MenuHomeFreeBSD

mmel (Michal Meloun)
User

Projects

User Details

User Since
Feb 3 2015, 4:54 AM (303 w, 6 d)

Recent Activity

Yesterday

mmel committed rS368161: Store MPIDR register in pcpu..
Store MPIDR register in pcpu.
Sun, Nov 29, 6:59 PM
mmel committed rS368159: Remove unused options..
Remove unused options.
Sun, Nov 29, 5:42 PM
mmel committed rS368158: _ARM_ARCH_5E is always defined, we not support older CPUs..
_ARM_ARCH_5E is always defined, we not support older CPUs.
Sun, Nov 29, 4:44 PM
mmel committed rS368155: Remove orphaned configs..
Remove orphaned configs.
Sun, Nov 29, 3:40 PM
mmel committed rS368154: Remove remaining fragments of code for older already ceased ARM versions..
Remove remaining fragments of code for older already ceased ARM versions.
Sun, Nov 29, 3:24 PM
mmel committed rS368153: Remove remaining support of big endian byte order..
Remove remaining support of big endian byte order.
Sun, Nov 29, 3:04 PM
mmel committed rS368141: Remove the pre-ARMv6 and pre-INTRNG code..
Remove the pre-ARMv6 and pre-INTRNG code.
Sun, Nov 29, 8:40 AM

Sat, Nov 28

mmel committed rS368126: Remove now unused armv4 and not-INTRNG files..
Remove now unused armv4 and not-INTRNG files.
Sat, Nov 28, 3:00 PM
mmel committed rS368121: MFC r366700:.
MFC r366700:
Sat, Nov 28, 9:07 AM

Mon, Nov 23

mmel committed rS367955: Ensure that the buffer is in nvme_single_map() mapped to single segment..
Ensure that the buffer is in nvme_single_map() mapped to single segment.
Mon, Nov 23, 2:30 PM

Fri, Nov 20

mmel committed rS367865: Also pass interrupt binding request to non-root interrupt controllers..
Also pass interrupt binding request to non-root interrupt controllers.
Fri, Nov 20, 9:06 AM

Wed, Nov 18

mmel requested review of D27265: Use the standard method for localizing of MSI-X table bar..
Wed, Nov 18, 12:57 PM

Mon, Nov 16

mmel added a comment to D24618: ARM SMMU v3.2 support.

Perfect. Many thanks for cooperation.

Mon, Nov 16, 1:47 PM

Sun, Nov 15

mmel accepted D24618: ARM SMMU v3.2 support.

In any case, with these minor issues fixed, LGTM

Sun, Nov 15, 10:22 AM

Sat, Nov 7

mmel committed rS367447: Add a method to determine whether given interrupt is per CPU or not..
Add a method to determine whether given interrupt is per CPU or not.
Sat, Nov 7, 2:58 PM

Thu, Nov 5

mmel accepted D26604: Remove td_sa.nap in sys/arm/.

Tested on real HW without issues.

Thu, Nov 5, 11:50 AM

Wed, Nov 4

mmel accepted D27057: vmspace: Convert to refcount(9).

Tested on ARM and ARM64

Wed, Nov 4, 10:57 AM
mmel accepted D27056: refcount(9): Add refcount_release_if_last() and refcount_load().

Tested on ARM and ARM64

Wed, Nov 4, 10:57 AM
mmel added a comment to D23085: DRM: Add DRM core files and DRMKPI.

I think that having one single codebase, fully based on GPL code for fast porting, is a MUCH more important goal than having display output without GPL (/in base).

Why you think that “single codebase, fully based on GPL” has any relation to fast porting in this context?
My understanding is that because the graphics on the SBC SoCs are related to virtually every subsystem, porting (and maintenance) cost increase exponentially.

Wed, Nov 4, 9:55 AM

Tue, Nov 3

mmel added a comment to D23085: DRM: Add DRM core files and DRMKPI.

The main issue in SBC DRM implementation is that graphic driver doesn’t handle separate self-contained device but it handle device tightly integrated in system, where many part of SoC are shared between GPU and rest of system. Also, graphic subsystem is not monolithic, it consist from multiple subdevices spreaded over whole SoC. some of these subdevices must be implemented by native drivers (rasterizer, HDMI formatter) we cannot condition presence of (unaccelerated) graphic console by GPL code.
Because of this we cannot use linux_device approach (we must be able to pass same struct device (or device_t) between native and ‘emulated’ code in all possible ways, same is true also for files and threads.
Number 1 for SBC is to have a working (with hotplug monitor) graphic output with a BSD license that can be used for X11 (Wayland). Acceleration 2D / 3D acceleration is optional and, in the worst case, can be performed by a GPL-licensed module.
And about DRMKPI - many goals are very different from LINUXKPI. DRMKPI is an attempt to implement some of the mostly used Linux functions or primitives used in DRM in a direct native way.
Another problem with LINUXKPI is significant namespace pollution caused by #define in the headers. I plan to make significant changes in this area. Each individual function should have the prefix linux_ <foo> defined to its original name only if the header is included in the Linux code.
For these reasons, I prefer to have separate implementations for now. Once the situation stabilizes, we can reconsider.
The problem has many threads that I am not able to express in a clear form, the problem is simply too complex. We have (unlike others) a functional (and I think usable) prototype, it needs some work before it can be committed (first it is necessary to resolve the real conflict LINUXKPI). But first we need a certain level of conclusion - no one is motivated to spread unacceptable code.
Plus, as you can see, I'm not a technical writer, so please excuse my chaotic words and sentences.
And let me not forget, this is by no means an attempt to slander LINUXKPI. But we are, although it does not seem so, in a very different situation.

Tue, Nov 3, 3:16 PM
mmel added a comment to D24618: ARM SMMU v3.2 support.

I’m looking at this from perspective of presence of multiple different implementations of IOMMUs in ARM(64) world. From this point of view, I still have some problems with code partitioning, mainly in meaning of smmu_if.m.
I think that smmu_if.m should be taken as interface between system and individual IOMMU implementation. That’s mean that it should be decontaminated from using smmu (in names and/or as argument) and renamed to iommu_if.m.
The system wide function in smmu_iommu.c (like iommu_get_ctx(), iommu_find(),iommu_registe() or so) should be moved to own independent file (say iommu.c) and all HW dependent functionality should be passed by using iommu_if.m to given implementation.

Tue, Nov 3, 1:21 PM

Mon, Nov 2

mmel accepted D26869: arm64: QorIQ: gpio: return BUS_PROBE_DEFAULT.
Mon, Nov 2, 9:39 AM
mmel accepted D26868: arm64: QorIQ: gpio: Cleanup qoriq_gpio_* helpers.
Mon, Nov 2, 9:38 AM
mmel accepted D26867: arm64: QorIQ: gpio: Style cleanups..
Mon, Nov 2, 9:30 AM
mmel closed D26735: Improve loading of multipage aligned buffers..
Mon, Nov 2, 8:26 AM
mmel committed rS367268: Improve loading of multipage aligned buffers..
Improve loading of multipage aligned buffers.
Mon, Nov 2, 8:26 AM

Sun, Nov 1

mmel added a comment to D27041: Align SDHCI DMA bounce buffer to PAGE_SIZE.

I think it's wrong. In this case, multi-page alignment is required, the old comment is correct. Please see https://reviews.freebsd.org/D26735. I plan to commit this in the next day or two.

Sun, Nov 1, 5:54 PM · arm64

Sat, Oct 31

mmel committed rS367227: MFC r366197:.
MFC r366197:
Sat, Oct 31, 5:27 PM
mmel committed rS367226: MFC r366312:.
MFC r366312:
Sat, Oct 31, 5:18 PM
mmel committed rS367225: MFC r366161:.
MFC r366161:
Sat, Oct 31, 5:11 PM
mmel committed rS367224: MFC r366156:.
MFC r366156:
Sat, Oct 31, 5:09 PM
mmel committed rS367223: MFC r342008,r363799,r366146:.
MFC r342008,r363799,r366146:
Sat, Oct 31, 5:07 PM
mmel committed rS367222: MFC r365929:.
MFC r365929:
Sat, Oct 31, 4:51 PM
mmel committed rS367220: MFC r363123,r363510:.
MFC r363123,r363510:
Sat, Oct 31, 4:24 PM
mmel committed rS367219: MFC r362387:.
MFC r362387:
Sat, Oct 31, 4:19 PM
mmel committed rS367218: MFC r363121:.
MFC r363121:
Sat, Oct 31, 4:15 PM
mmel committed rS367217: MFC r362388:.
MFC r362388:
Sat, Oct 31, 4:05 PM
mmel committed rS367216: MFC r362384,r362385,r362386,r362392:.
MFC r362384,r362385,r362386,r362392:
Sat, Oct 31, 4:03 PM
mmel committed rS367215: MFC r362053:.
MFC r362053:
Sat, Oct 31, 3:58 PM
mmel committed rS367214: MFC r360466:.
MFC r360466:
Sat, Oct 31, 3:41 PM
mmel committed rS367213: MFC r360464:.
MFC r360464:
Sat, Oct 31, 3:38 PM
mmel committed rS367212: MFC r360463,r360469:.
MFC r360463,r360469:
Sat, Oct 31, 3:36 PM
mmel committed rS367211: MFC r360462:.
MFC r360462:
Sat, Oct 31, 3:30 PM
mmel committed rS367210: MFC r360293,r360461:.
MFC r360293,r360461:
Sat, Oct 31, 3:28 PM
mmel committed rS367208: MFC r355755,r358807:.
MFC r355755,r358807:
Sat, Oct 31, 3:26 PM
mmel committed rS367206: MFC r353774:.
MFC r353774:
Sat, Oct 31, 2:59 PM
mmel committed rS367205: MFC r353773:.
MFC r353773:
Sat, Oct 31, 2:56 PM

Oct 30 2020

mmel added a comment to D26975: Enable IPIs on CPU 0 on arm and arm64.
Oct 30 2020, 11:14 AM

Oct 29 2020

mmel added a comment to D26975: Enable IPIs on CPU 0 on arm and arm64.

I think from GICv2 it would be assumed that the OS could write to the SGI bits. Software cannot know all existing implementations.

Oct 29 2020, 4:46 PM
mmel added a comment to D26975: Enable IPIs on CPU 0 on arm and arm64.

Andrew, I'm sorry but I don't quite understand why we crossing.
I will try to repeat my objections in a more compact/consistent form.
I have 3 objections:

Oct 29 2020, 4:35 PM

Oct 28 2020

mmel added a comment to D26975: Enable IPIs on CPU 0 on arm and arm64.

We already enable the SGIs on the non-boot CPUs in arm_gic_init_secondary and PIC_ENABLE_INTR will only be called when mp_ncpus != 1 so will be in a multicore system.

I think that calling gic_irq_mask() for SGIs is redundant and potentially dangerous, we should remove it (or eventually, make it specific only for exact GIC implementation .
The right place for doing same on boot CPU is arm_gic_attach() again only conditionally for specific version.

Oct 28 2020, 3:46 PM
mmel added a comment to D26975: Enable IPIs on CPU 0 on arm and arm64.

I'm afraid it's not that simple.

  • the GICv2 architecture manual states for GICD_ISENABLE[0] this: "for SGIs the behavior of the bit on reads and writes is IMPLEMENTATION DEFINED".
  • for all ARM GICs up to GIC-500 all SGIs are always enabled.
  • GICD_ISENABLE[0] is declared as RO for older versions of GICs (i.e. PL390) and attempt to write to it may cause abort.
  • GIC-600 have this slightly cryptic note for GICD_ISENABLE register block: "The first one of these registers does not exist when affinity routing is enabled."
Oct 28 2020, 7:47 AM

Oct 24 2020

mmel accepted D26923: vm_map: Add fences around pmap rundown.
Oct 24 2020, 3:16 PM

Oct 14 2020

mmel closed D26736: Add 'netserver' command to EFI loader..
Oct 14 2020, 1:14 PM
mmel committed rS366700: Add 'netserver' command to EFI loader..
Add 'netserver' command to EFI loader.
Oct 14 2020, 1:14 PM

Oct 11 2020

mmel requested review of D26736: Add 'netserver' command to EFI loader..
Oct 11 2020, 10:29 AM
mmel requested review of D26735: Improve loading of multipage aligned buffers..
Oct 11 2020, 9:00 AM

Oct 10 2020

mmel accepted D26724: Brand our DTS with the Linux version it was imported from.
Oct 10 2020, 6:22 AM
mmel accepted D26725: arm: Check dtb version against the one we're expecting to find..
Oct 10 2020, 6:21 AM

Oct 1 2020

mmel committed rS366312: Fix the inverted condition in mtx_asserts..
Fix the inverted condition in mtx_asserts.
Oct 1 2020, 9:50 AM

Sep 28 2020

mmel committed rS366219: Fix booting arm64 EFI with LINUX_BOOT_ABI enabled..
Fix booting arm64 EFI with LINUX_BOOT_ABI enabled.
Sep 28 2020, 9:16 AM

Sep 27 2020

mmel committed rS366200: Check the result of the function, not the pointer to it..
Check the result of the function, not the pointer to it.
Sep 27 2020, 4:15 PM
mmel committed rS366197: Don't send a signal with uninitialized 'sig' and 'code' fields..
Don't send a signal with uninitialized 'sig' and 'code' fields.
Sep 27 2020, 11:37 AM
mmel committed rS366196: Add LINUX_BOOT_ABI back to arm64 GENERIC kernel..
Add LINUX_BOOT_ABI back to arm64 GENERIC kernel.
Sep 27 2020, 10:15 AM
mmel committed rS366195: Reapply r366193 with proper commit log..
Reapply r366193 with proper commit log.
Sep 27 2020, 9:27 AM
mmel committed rS366194: Revert r366193, it was committed with unsaved commit log..
Revert r366193, it was committed with unsaved commit log.
Sep 27 2020, 9:24 AM
mmel committed rS366193: Don't map same physical memory multiple times with different cache attributes..
Don't map same physical memory multiple times with different cache attributes.
Sep 27 2020, 9:14 AM
mmel committed rS366192: Don't try to print EFI memeory map if it doesn't exist..
Don't try to print EFI memeory map if it doesn't exist.
Sep 27 2020, 9:13 AM

Sep 26 2020

mmel added a comment to D26402: Update syscon_generic.c to support simplebus and clkdev interface.

Already committed as part of other change.

Sep 26 2020, 9:50 AM · ARM
mmel added a comment to D26468: Add simplebus_detach() .

Already committed as part of other change.

Sep 26 2020, 9:49 AM · ARM

Sep 25 2020

mmel committed rS366161: Refine locking inside of syscon driver..
Refine locking inside of syscon driver.
Sep 25 2020, 4:44 PM
mmel committed rS366156: Correctly handle nodes compatible with "syscon", "simple-bus"..
Correctly handle nodes compatible with "syscon", "simple-bus".
Sep 25 2020, 1:52 PM
mmel committed rS366146: Make simplebus friendlier for subclassing..
Make simplebus friendlier for subclassing.
Sep 25 2020, 9:57 AM

Sep 24 2020

mmel committed rS366107: Add missing declarations of 64-bit variants of bus_peek/bus_poke on amd64..
Add missing declarations of 64-bit variants of bus_peek/bus_poke on amd64.
Sep 24 2020, 8:40 AM

Sep 23 2020

mmel added inline comments to D26496: Bounce in more cases in the arm64 busdma.
Sep 23 2020, 5:17 PM
mmel accepted D26496: Bounce in more cases in the arm64 busdma.
Sep 23 2020, 5:08 PM
mmel accepted D26495: Ensure we always align and size arm64 busdma allocations to a cacheline.
Sep 23 2020, 5:07 PM
mmel accepted D26494: Add a coherent flag on the arm64 dma map struct.
Sep 23 2020, 5:07 PM
mmel accepted D26493: Add bounce helpers to the arm64 busdma.
Sep 23 2020, 5:06 PM

Sep 21 2020

mmel accepted D26510: Weaken assertions in pmap_l1_to_l2() and pmap_l2_to_l3()..

tested on a problematic boards - everything works

Sep 21 2020, 3:25 PM
mmel added inline comments to D26496: Bounce in more cases in the arm64 busdma.
Sep 21 2020, 8:10 AM

Sep 20 2020

mmel committed rS365929: Adjust DMA alignment for USB stack..
Adjust DMA alignment for USB stack.
Sep 20 2020, 5:28 PM
mmel accepted D26493: Add bounce helpers to the arm64 busdma.
Sep 20 2020, 4:59 PM
mmel committed rS365926: Add missing assignment forgotten in r365899.
Add missing assignment forgotten in r365899
Sep 20 2020, 3:12 PM

Sep 19 2020

mmel committed rS365900: Implement workaround for broken access to configuration space..
Implement workaround for broken access to configuration space.
Sep 19 2020, 11:27 AM
mmel closed D25371: Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions and implement it on arm64..
Sep 19 2020, 11:07 AM
mmel committed rS365899: Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions..
Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions.
Sep 19 2020, 11:07 AM

Sep 18 2020

mmel added inline comments to D25371: Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions and implement it on arm64..
Sep 18 2020, 9:25 AM
mmel updated the diff for D25371: Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions and implement it on arm64..

Address objections

Sep 18 2020, 9:04 AM

Sep 14 2020

mmel added inline comments to D26402: Update syscon_generic.c to support simplebus and clkdev interface.
Sep 14 2020, 3:45 PM · ARM
mmel requested changes to D26405: Take 2: Update syscon_generic.c to support simplebus.
Sep 14 2020, 3:37 PM · ARM

Sep 1 2020

mmel accepted D26274: drm2: Move files to files.arm and remove the obsolete message.
Sep 1 2020, 5:46 PM
mmel accepted D22606: Switch to an empty ttbr0 pagetable when the MMU is enabled.
Sep 1 2020, 3:50 PM
mmel accepted D26275: Improve drm deprecation message.
Sep 1 2020, 3:49 PM
mmel added a comment to D26274: drm2: Move files to files.arm and remove the obsolete message.

imho, also drm2 option should be moved to options.arm. otherwise, NOTES kernels may fail. I'm OK with rest

Sep 1 2020, 3:47 PM
mmel accepted D26153: SDHCI: Introduce a driver for NXP QorIQ LS10xx SoCs..
Sep 1 2020, 12:32 PM
mmel added a comment to D24618: ARM SMMU v3.2 support.

I’m slightly confused by code partitioning.
With that in mind that we have multiple types of IOMMUs (rockchip, tegra, smmu v2, allwinner …, and one SoC can have multiple different IOMMUs, I’m not sure how this patch fit in this situation.
Is iommu.c intended as base for future IOMMU independent part of framework? If yes, why it contain functions prefixed by smmu_? If not, why it’s named by generic name?
Do you have any roadmap, ideas how final (supporting multiple kinds of IOMMUs in one generic kernel) should be structured?

Sep 1 2020, 12:20 PM
mmel added a comment to D26072: Add support for PMU on SMP systems for ARM64.

I think that we should fix this also for arm. Or at least we should use ‘compatible’ (with arm) way.
So if I can summarize actual status:

  • PMU can have single PPI interrupt or multiple SPI interrupts (one for each core in given cluster).
  • The driver must not expect that all cores are started (PSCI is free to not start a core)
  • The system may have multiple PMUs (each cluster may have own - moreover with different type for big-little SoC).
  • cpuid has no relation to the order of any property in DT. The only robust way how to identify right physical core is comparing its MPIDR register to expected value
Sep 1 2020, 9:53 AM
mmel accepted D26153: SDHCI: Introduce a driver for NXP QorIQ LS10xx SoCs..

Can you please add following compatibility string before commit?
https://github.com/strejda/freebsd/commit/3f9ef1815b12048dba47504ff1ce9f48cce0fac1
(tested on honeycomb board with LX2160A SOC)
In any case its OK for me, all potential MMCCAM related problems should be fixed in own commit.
Thanks for your effort.

Sep 1 2020, 6:53 AM

Aug 1 2020

mmel committed rS363758: Add missing dependency for cpsw module..
Add missing dependency for cpsw module.
Aug 1 2020, 9:06 AM