Page MenuHomeFreeBSD

markmi_dsl-only.net (Mark Millard)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2016, 6:23 AM (341 w, 1 d)

Recent Activity

Wed, May 31

markmi_dsl-only.net added a comment to D39228: Add a PCI driver that follows the Arm DEN0115 spec.

As a matter of curiosity, did something specific prompt having this from of PCI Configuration Space Access added? FreeBSD has been able to boot the RPi4B's for a long time, even via EDK2. So the test case does not seem to be a driving use case. Are there other known examples of this form of PCI Configuration Space Access needing-to-be/being-able-to-be used?

Wed, May 31, 2:10 AM
markmi_dsl-only.net added inline comments to D39228: Add a PCI driver that follows the Arm DEN0115 spec.
Wed, May 31, 1:59 AM

Mon, May 29

markmi_dsl-only.net added inline comments to D40320: siftr: fix a build error for powerpc and arm platforms.
Mon, May 29, 9:45 PM
markmi_dsl-only.net added inline comments to D40320: siftr: fix a build error for powerpc and arm platforms.
Mon, May 29, 9:36 PM

Sat, May 27

markmi_dsl-only.net added a comment to D34697: libcompat: Use WORLDTMP sysroot.
In D34697#808973, @imp wrote:

. . .
arm would have trouble here, but we no longer make compat libs for arm.
. . .

Sat, May 27, 4:37 PM
markmi_dsl-only.net added a comment to D34697: libcompat: Use WORLDTMP sysroot.
In D34697#808973, @imp wrote:

. . .
Also arm64 doesn't support -m32, . . .

Sat, May 27, 4:02 PM

Apr 30 2023

markmi_dsl-only.net added a comment to D39364: arm: Restore the names of fields in fpreg structure.
Port is still mismatched for armv7 as of:
Apr 30 2023, 9:20 AM

Mar 30 2023

markmi_dsl-only.net added a comment to D37419: arm: Add support for using VFP in kernel.

A list of the FreeBSD servers is maintained at: https://github.com/bdrewery/pkg-status.freebsd.org/blob/master/servers.txt

Mar 30 2023, 3:22 PM
markmi_dsl-only.net added a comment to D37419: arm: Add support for using VFP in kernel.

Going to https://reviews.freebsd.org/D37419 and clicking on the link shows the log just fine for me. (I just tried it again.) ampere2.nyi.freebsd.org is a well known FreeBSD builder machine.

Mar 30 2023, 2:27 PM
markmi_dsl-only.net added inline comments to D37419: arm: Add support for using VFP in kernel.
Mar 30 2023, 2:06 AM

Mar 28 2023

markmi_dsl-only.net added inline comments to D38143: Handbook WG - X11.
Mar 28 2023, 10:36 PM

Mar 24 2023

markmi_dsl-only.net added a comment to D39260: arm64/gicv3: correct the size of the distributor mapping.

Looks to me like https://developer.arm.com/documentation/100336/0002/aba1429015078674 has the description of the GICD Distributor registers by offset from the Physical Base Address:

Mar 24 2023, 10:30 PM

Mar 3 2023

markmi_dsl-only.net added a comment to D38698: arm: Fix initialization of VFP context.

I did the 3 tests via booting an installed FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20230302-005cca8361a4-261233.img.xz (from today) and they all worked fine.

Mar 3 2023, 6:25 AM
markmi_dsl-only.net added a comment to D38696: arm: Unbreak debugging programs that use FP instructions.

I did the 3 tests via booting an installed FreeBSD-14.0-CURRENT-arm-armv7-GENERICSD-20230302-005cca8361a4-261233.img.xz (from today) and they all worked fine.

Mar 3 2023, 6:25 AM
markmi_dsl-only.net added a comment to D38751: growfs_fstab startup script: set dumpdev to AUTO.

Note: The following was done with a 4 GiByte RPI4B in order to avoid having a 8 GiByte RPi4B used with the U-Boot 2023.01 that FreeBSD is using: 2023.01 fails to load FreeBSD's EFI loader for a 8 GiByte RPi4B, reporting a message that is a misnomer for the actual internal problem.

Mar 3 2023, 3:47 AM

Feb 22 2023

markmi_dsl-only.net added a comment to D38698: arm: Fix initialization of VFP context.

Retesting my 3 armv7 tests based on use of the updates https://reviews.freebsd.org/D38696?id=117780 and https://reviews.freebsd.org/D38698?id=117779 worked fine.

Feb 22 2023, 8:18 PM
markmi_dsl-only.net added a comment to D38696: arm: Unbreak debugging programs that use FP instructions.

Retesting my 3 armv7 tests based on use of the updates https://reviews.freebsd.org/D38696?id=117780 and https://reviews.freebsd.org/D38698?id=117779 worked fine.

Feb 22 2023, 8:18 PM

Feb 20 2023

markmi_dsl-only.net added a comment to D38698: arm: Fix initialization of VFP context.

With the savectx blne -> bl change, D38696.diff, and D38698.diff all applied, all
the activities with all 3 of my small example programs for the armv7 floating
point related problems look to be working just fine: no KASSERT's ( simple_dbl.c
and dbl_and_ull_via_async.cpp activities) and no odd values showing up in a
thread ( dbl_and_ull_multithread.cpp runs for minutes at a time).

Feb 20 2023, 11:15 PM
markmi_dsl-only.net added a comment to D38696: arm: Unbreak debugging programs that use FP instructions.

With the savectx blne -> bl change, D38696.diff, and D38698.diff all applied, all
the activities with all 3 of my small example programs for the armv7 floating
point related problems look to be working just fine: no KASSERT's ( simple_dbl.c
and dbl_and_ull_via_async.cpp activities) and no odd values showing up in a
thread ( dbl_and_ull_multithread.cpp runs for minutes at a time).

Feb 20 2023, 11:14 PM
markmi_dsl-only.net added a comment to D38696: arm: Unbreak debugging programs that use FP instructions.

Do not take the following as indicating anything is necessarily wrong. It is more about my ignorance in the subjects involved.

Feb 20 2023, 5:49 PM

Feb 17 2023

markmi_dsl-only.net added a comment to D37419: arm: Add support for using VFP in kernel.

On the lists, I've provided 3 small C/C++ programs that when used,
sometimes mixed with some use of gdb or lldb, get assert panics
from a debug kernel or corrupted floating point datanow. Look at the
new text in the messages indicated below to see the programs with
instructions in the comments for how to build and test:

Feb 17 2023, 5:03 PM

Jan 17 2023

markmi_dsl-only.net added a comment to D36618: pci_host_generic: stop address translation in bus_alloc_resource.

For a failure bisected (or analogous) to have started with this change, see: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=268995

Jan 17 2023, 3:20 AM

Jan 5 2023

markmi_dsl-only.net added a comment to D37959: growfs(7): clarify assumptions and limitations.

Looks good to me.

Jan 5 2023, 8:22 PM

Jan 2 2023

markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

I found these over the weekend too, testing the snapshot images. Fixed by 4c8a257810a6.

Jan 2 2023, 8:39 PM

Dec 25 2022

markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

Given a "Don't" -> "Do not" workaround after dd but before booting in order to try to see if the rest worked . . .

Dec 25 2022, 11:50 PM
markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

I tried the new main [so: 14] snapshot, dd'd to a USB3 SSD and booted:
snaphot: FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20221224-c89209c674f2-259842.img
so: FreeBSD 14.0-CURRENT #0 main-n259842-c89209c674f2: Sat Dec 24 05:52:28 UTC 2022
Result (from the serial console capture):

Starting file system checks:
/dev/ufs/rootfs: FILE SYSTEM CLEAN; SKIPPING CHECKS
/dev/ufs/rootfs: clean, 599506 free (242 frags, 74908 blocks, 0.0% fragmentation)
/etc/rc.d/growfs: 203: Syntax error: "(" unexpected (expecting "}")
Dec 25 2022, 10:25 PM

Dec 24 2022

markmi_dsl-only.net added a comment to D37866: tmpfs: update changed/modified timestamps for truncates that do not change size.

FYI: After updating the kernel, my test of building the problematical devel/nasm commit via USE_TMPFS=all in poudriere-devel on/for amd64 main worked just fine. (No runaway process creation, unlike before.)

Dec 24 2022, 5:15 AM

Dec 13 2022

markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.
In D35962#856931, @imp wrote:

. . .

This divergence is quite old. We've been forever fixing problems with amd64 vs x86_64 in builds as well, and that dates back 15 years...

Dec 13 2022, 5:50 PM
markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.

FYI:

# sysctl hw.machine
hw.machine: arm64
Dec 13 2022, 7:07 AM

Dec 12 2022

markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.

Well, Poudriere should use uname -p. Using -p doesn't make sense. On powerpc*, it prints just powerpc on all 4 platforms and is totally misleading on 3 of them. On armv{6,7}, it's imprecise (do we deal with arm as in the removed ARMv5, armeb, armv6 or maybe armv7?), although not as incorrect as on powerpc*. On riscv64, it makes other software think it's actually riscv32, which FreeBSD doesn't even support. I have posted previously links here to software and ugly workarounds that I needed to use.

Dec 12 2022, 12:14 AM

Dec 11 2022

markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.
In D35962#856540, @imp wrote:
Dec 11 2022, 3:20 PM
markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.

[Editied to correct inaccurate recall of old details.]

Dec 11 2022, 3:09 PM
markmi_dsl-only.net added a comment to D35962: uname: switch machine to HW_MACHINE_ARCH.

Does this change the status of the man page content for uname? :

The options are as follows:
Dec 11 2022, 2:53 PM

Dec 1 2022

markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

Another question: Do you want to respect vm.swap_maxpages? Or just allocate the swap space and let the kernel potentially issue a warning about the device being too large and not being fully utilized?

Dec 1 2022, 3:37 AM
markmi_dsl-only.net updated the summary of D34791: Alternative to D25219: ACPI: add support for (inherited) _DMA limits.
Dec 1 2022, 1:07 AM
markmi_dsl-only.net updated the diff for D34791: Alternative to D25219: ACPI: add support for (inherited) _DMA limits.

In exploring testing a "C0T" RPi4B 8 GiByte (no odd DMA address limits) and retesting the old "B0T" one (has odd DMA address limits), I've learned that the maximum-address view is directly available via what ACPI's _DMA provides. I've updated the code and the comments for such. This is a recent change, not one that I've used for long at this point. (The prior coding has been in sustained use for a ZFS bectl context but was poorer based on what I now understand.)

Dec 1 2022, 1:05 AM

Nov 22 2022

markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

". . . and the existing root is less than 40% of the disk" What if other partitions/slices than root's are taking up space as well? Do you need to use an available free space's size that is sufficiently large instead?

Nov 22 2022, 8:32 PM
markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

Is the script used with the likes of:

Nov 22 2022, 8:18 PM
markmi_dsl-only.net added a comment to D37462: growfs script: add swap partition as well as growing root.

"other values indicate a swap size in sectors": so from media to media, with different sector sizes, the same figure means differing sizes?

Nov 22 2022, 8:05 PM

Oct 22 2022

markmi_dsl-only.net added a comment to D37085: arm, arm64, i386: tweak hard-coded load addresses for PIE binaries.

What of the i386 failure example that https://lists.freebsd.org/archives/dev-commits-src-main/2022-October/010362.html reports:

Oct 22 2022, 12:46 PM

Oct 11 2022

markmi_dsl-only.net added a comment to D36941: release: link from /boot/msdos to efi.

ln -s efi ${DESTDIR}/boot/msdos

Oct 11 2022, 7:29 PM
markmi_dsl-only.net added a comment to D36941: release: link from /boot/msdos to efi.

The update looks right to me.

Oct 11 2022, 7:15 PM

Oct 3 2022

markmi_dsl-only.net added a comment to D36858: time(3): Align fast clock times to avoid firing multiple timers..

When you divide and multiply by constants, the compiler will optimize this. Have you looked at the resulting assembly code using -O2 ?

Oct 3 2022, 11:36 PM
markmi_dsl-only.net added a comment to D36857: time(3): Increase precision of sbt and bintime conversion functions by using gcd..

Try to compile the new code and look at the assembly.

Oct 3 2022, 10:08 PM
markmi_dsl-only.net added a comment to D36858: time(3): Align fast clock times to avoid firing multiple timers..

I made the same comments in D36857 . . .

Oct 3 2022, 8:06 PM
markmi_dsl-only.net added a comment to D36857: time(3): Increase precision of sbt and bintime conversion functions by using gcd..

Something to consider? :

Oct 3 2022, 7:20 PM

Sep 22 2022

markmi_dsl-only.net added inline comments to D36629: UPDATING: update notes on EFI booting.
Sep 22 2022, 12:18 AM

Sep 21 2022

markmi_dsl-only.net added inline comments to D36629: UPDATING: update notes on EFI booting.
Sep 21 2022, 11:21 PM
markmi_dsl-only.net added inline comments to D36629: UPDATING: update notes on EFI booting.
Sep 21 2022, 11:10 PM

Sep 20 2022

markmi_dsl-only.net added inline comments to D36629: UPDATING: update notes on EFI booting.
Sep 20 2022, 6:56 AM

Aug 24 2022

markmi_dsl-only.net added inline comments to D32155: lang/ghc: Update bootstrap on arm to 8.10.7.
Aug 24 2022, 5:04 AM

Apr 6 2022

markmi_dsl-only.net requested review of D34791: Alternative to D25219: ACPI: add support for (inherited) _DMA limits.
Apr 6 2022, 3:30 AM

Mar 15 2022

markmi_dsl-only.net added a comment to D25739: Consistently use gctl_get_provider instead of home-grown variants..

FYI: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=262554#c9 indicates that a home-grown variant is still in use in sys/geom/part/g_part.c . It disallowed /dev/ prefix usage in a gpart add for what that submittal was reporting.

Mar 15 2022, 10:38 PM

Jan 16 2022

markmi_dsl-only.net added a comment to D33903: Fix undefined behavior in fread().

I have updated to the system being based on (line split for readability):

# uname -apKU
FreeBSD amd64_ZFS 14.0-CURRENT FreeBSD 14.0-CURRENT #30
main-n252475-e76c0108990b-dirty: Sat Jan 15 21:18:14 PST 2022
root@amd64_ZFS:/usr/obj/BUILDs/main-amd64-nodbg-clang/usr/main-src/amd64.amd64/sys/GENERIC-NODBG 
amd64 amd64 1400047 1400047

so it has the committed material (and does not have my prior personal workaround). Based on also using:

env SH_DISABLE_VFORK= ASAN_OPTIONS=detect_container_overflow=0 chroot /usr/obj/DESTDIRs/main-amd64-xSAN-chroot/

for the (also updated) chroot area, I'm now getting:

===> Summary
Results read from /usr/home/root/.kyua/store/results.usr_tests.20220116-063311-263708.db
Test cases: 6840 total, 894 skipped, 29 expected failures, 142 broken, 303 failed
Total time: 3132.706s

with no fread.c reports. In my first runs, before I'd learned some about what to control,
there were over 1200 failures reported (not limited to fread.c ones).

Jan 16 2022, 7:53 AM

Jan 15 2022

markmi_dsl-only.net accepted D33903: Fix undefined behavior in fread().

The code looks good to me and is strongly related to what I've been recently using personally for chrooting
into a WITH_UBSAN= WITH_ASAN= world and running the kyua tests, avoiding the particular UBSAN stderr
outputs from the NULL+0 messing up 600+ test results.

Jan 15 2022, 9:09 PM

Sep 28 2021

markmi_dsl-only.net added a comment to D25219: ACPI: add support for (inherited) _DMA limits.

Looks to me like limits.lowaddr is still one too large, and so identifying the start of the wrong page instead of the end of the correct page by the code's overall criteria. As I remember, I still use limits.lowaddr-1 where I originally indicated in order to have the RPi4B have huge copy-then-diff operations work. (Though I've not been directly testing that for some time. It has been almost a year since I added the "-1" notes.)

Sep 28 2021, 12:51 AM · arm64

Jul 29 2021

markmi_dsl-only.net abandoned D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

I no longer have access to any operational old-PowerMacs. (And never had access to any other example types of PowerPC/Power hardware.) As such, I'll no longer be involved in powerpc64 or 32-bit powerpc activities.

Jul 29 2021, 7:13 AM · PowerPC

Apr 11 2021

markmi_dsl-only.net added a comment to D18658: top: fix PID sorting after r340742; add process birth time sorting.

Thanks for the patch, even if FreeBSD did not adopt it.

Apr 11 2021, 9:58 PM

Mar 13 2021

markmi_dsl-only.net added inline comments to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.
Mar 13 2021, 6:57 AM · PowerPC

Mar 12 2021

markmi_dsl-only.net added inline comments to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.
Mar 12 2021, 12:19 AM · PowerPC

Mar 11 2021

markmi_dsl-only.net added inline comments to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.
Mar 11 2021, 9:00 PM · PowerPC

Mar 9 2021

markmi_dsl-only.net added a comment to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.

FYI: G5 2-sockets/2-cores-each basic info follows.

Mar 9 2021, 4:57 AM · PowerPC
markmi_dsl-only.net added a comment to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.

I'll remind of the old issue that the pre-exisiting code's use of platform_smp_timebase_sync does
not follow a synchronize everything at once protocol everywhere, sometimes using the ap
argument being 1 without any matching ap being 0. This invalidated one of jhibbits patches in
the past. (I'm writing from vague memory here. So be careful from reading too much detail.)

Mar 9 2021, 2:45 AM · PowerPC
markmi_dsl-only.net added a comment to D29136: WIP: [PowerPC] PowerMac timebase sync for G4.

In case it helps for some G4 dual socket contexts (captured while the machine happens
to be up and accessible). Turns out each of the cpus has a timebase-enable listed, but
they are numerically equal on the machine in question.

Mar 9 2021, 1:58 AM · PowerPC

Feb 16 2021

markmi_dsl-only.net added a comment to D28696: linux: Unmap the VDSO page when unloading.

https://ci.freebsd.org/job/FreeBSD-main-i386-build/19172/console shows:

Feb 16 2021, 9:52 PM

Feb 14 2021

markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

FYI: Both of the "PowerMac11,2 with 2 sockets, 2 cores each" have died of cooling system failures. (I can sometimes boot one, but it is problematical to do much with without overheating.) So, now the only G5 I now have access to for general testing is a "2 socket/1-core-each PowerMac7,2" . I still have access to the two PowerMac3,6 with "2 sockets, 1 core each" G4 examples. (But there are other major FreeBSD kernel issues for 32-bit PowerMacs, even for single socket ones: it gradually clears some user-process pages to zero.)

Feb 14 2021, 7:29 PM · PowerPC

Feb 4 2021

markmi_dsl-only.net added inline comments to D28159: opencrypto: Fix assignment of crypto completions to worker threads.
Feb 4 2021, 10:03 AM

Jan 3 2021

markmi_dsl-only.net added a comment to D27420: loader: implement framebuffer console.

This made the only amd64 FreeBSD system that I have access to display a blank
screen in the loader. It is a ThreadRipper 1950X system.

Jan 3 2021, 5:13 AM

Oct 20 2020

markmi_dsl-only.net added a comment to D26853: RPI4: enable USB-boot for the 8GB-model etc.

For your side note: A comparison/contrast. Your linked material shows:

pcib0: <BCM2838-compatible PCI-express controller> mem 0x7d500000-0x7d50930f irq 70,71 on simplebus2
pcib0: hardware identifies as revision 0x304.
pci1: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> irq 81 at device 0.0 on pci1
pci2: <PCI bus> on pcib1
bcm_xhci0: <VL805 USB 3.0 controller (on the Raspberry Pi 4b)> irq 82 at device 0.0 on pci2
bcm_xhci0: 32 bytes context size, 64-bit DMA
usbus0 on bcm_xhci0
pci0: <PCI bus> on pcib0
pci0: failed to allocate bus number
device_attach: pci0 attach returned 6

But what I get from my boot (indirectly via a microsd card and use of modern released-firmware's .dtb) is:

pcib0: <BCM2838-compatible PCI-express controller> mem 0x7d500000-0x7d50930f irq 70,71 on simplebus2
pcib0: hardware identifies as revision 0x304.
pci0: <PCI bus> on pcib0
pcib1: <PCI-PCI bridge> irq 81 at device 0.0 on pci0
pci1: <PCI bus> on pcib1
bcm_xhci0: <VL805 USB 3.0 controller (on the Raspberry Pi 4b)> irq 82 at device 0.0 on pci1
bcm_xhci0: 32 bytes context size, 64-bit DMA
usbus0 on bcm_xhci0

So the first differences are:
Your context: "pci1: <PCI bus> on pcib0" (no pci0 shown at this stage)
My context has instead: "pci0: <PCI bus> on pcib0"

Oct 20 2020, 7:15 AM
markmi_dsl-only.net added a comment to D26853: RPI4: enable USB-boot for the 8GB-model etc.

Ahh, gradual understanding on my part. Thanks.

Oct 20 2020, 3:36 AM

Oct 19 2020

markmi_dsl-only.net added a comment to D26853: RPI4: enable USB-boot for the 8GB-model etc.

But the FreeBSD kernel does need to deal with the VL805-firmware issue in that context and does so without the .dtb file change.
So why would u-boot need the change when the kernel does not? (Again: out of my depth here.) Are you saying that the FreeBSD kernell is doing something wrong >currently and needs to be fixed once the .dtb adjustment is in place?

the DeviceTree is loaded before u-boot(and the kernel) , so in this case it can trigger the firmware-load.
It's an RPI4 hardware quirk on newer board-revisions.

Oct 19 2020, 9:16 PM
markmi_dsl-only.net added a comment to D26853: RPI4: enable USB-boot for the 8GB-model etc.
reset = "/soc/firmware/reset";

. . .

https://github.com/u-boot/u-boot/commit/f676eb217bdff3bd734a42c8f9bbc58c9100055c

on newer board revisions a dedicated chip which holded the VL805-firmware was removed,
so u-boot needs to be instructed to reset the controller to load the firmware from the VideoCore in a very early stage(before the OS itself
initializes the driver).that early stage is when bcm2711-rpi-4-b.dtb is loaded.

. . .

of course u-boot wouldn`t' need an early stage xhci-reset when it boots from an SD-card

Oct 19 2020, 7:01 PM
markmi_dsl-only.net added a comment to D26853: RPI4: enable USB-boot for the 8GB-model etc.

Ignoring what appears to be general, systematic phandle and phy-handle numbering differences, the following appears to be what this has changed vs. a fairly modern firmware's .dtb file. I'll start with the completely new additions it made:

Oct 19 2020, 11:16 AM

Oct 11 2020

markmi_dsl-only.net added inline comments to D26344: bcm2838_pci.c: Respect DMA limits of controller..
Oct 11 2020, 7:14 PM

Oct 7 2020

markmi_dsl-only.net added inline comments to D26344: bcm2838_pci.c: Respect DMA limits of controller..
Oct 7 2020, 5:59 PM
markmi_dsl-only.net added inline comments to D25219: ACPI: add support for (inherited) _DMA limits.
Oct 7 2020, 5:41 PM · arm64
markmi_dsl-only.net added inline comments to D25219: ACPI: add support for (inherited) _DMA limits.
Oct 7 2020, 7:09 AM · arm64

Sep 29 2020

markmi_dsl-only.net added a comment to D25219: ACPI: add support for (inherited) _DMA limits.

May be the following notes will be useful to someone with an appropriate background . . .

Sep 29 2020, 8:38 PM · arm64

Sep 28 2020

markmi_dsl-only.net added inline comments to D25219: ACPI: add support for (inherited) _DMA limits.
Sep 28 2020, 4:02 AM · arm64

Sep 26 2020

markmi_dsl-only.net added inline comments to D25219: ACPI: add support for (inherited) _DMA limits.
Sep 26 2020, 3:45 PM · arm64
markmi_dsl-only.net added inline comments to D25219: ACPI: add support for (inherited) _DMA limits.
Sep 26 2020, 3:55 AM · arm64

Sep 25 2020

markmi_dsl-only.net added a comment to D25219: ACPI: add support for (inherited) _DMA limits.

I've tested head -r363932 under uefi/ACPI v1.20 with the 3072 limit disabled and it failed the huge-file duplicate and diff/cmp test:

# cp -aRx /usr/obj/clang-armv7-on-aarch64.tar /usr/obj/clang-armv7-on-aarch64.alt_tar
# diff /usr/obj/clang-armv7-on-aarch64.tar /usr/obj/clang-armv7-on-aarch64.alt_tar
Binary files /usr/obj/clang-armv7-on-aarch64.tar and /usr/obj/clang-armv7-on-aarch64.alt_tar differ
# cmp -l /usr/obj/clang-armv7-on-aarch64.tar /usr/obj/clang-armv7-on-aarch64.alt_tar | head -30
2633269249   3   0
2633269251   3   0
2633269252  55   0
2633269253   6   0
2633269254  21   0
2633269255 227   0
2633269256   1   0
2633269257 135   0
2633269258 336   0
2633269259  22 140
2633269260   0 100
2633269261 346   0
2633269262 353   0
2633269265 227   0
2633269266   1 160
2633269267 170 140
2633269268 336 100
2633269269  22   0
2633269271 362   0
2633269272 353   0
2633269275 227   0
2633269276   1   0
2633269277 225   0
2633269278 336   0
2633269279  22   0
2633269281 376   0
2633269282 353   1
2633269285   0   1
2633269289   0 223
2633269290   0 321

For reference:

# ls -ldT /usr/obj/clang-armv7-on-aarch64*
-rw-r--r--  1 root  wheel  11570948096 Jul 18 18:32:37 2020 /usr/obj/clang-armv7-on-aarch64.alt_tar
-rw-r--r--  1 root  wheel  11570948096 Jul 18 18:32:37 2020 /usr/obj/clang-armv7-on-aarch64.tar

(So the over 10 GiByte original file is significantly larger than the 8 GiByte RAM, although I've had large but much smaller files fail as well.)

Sep 25 2020, 8:56 AM · arm64

Sep 24 2020

markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

As I have just reported on the arm list, the checked-in patch fails the huge file duplicate and diff/cmp test. xhci
DMA is still a problem.

Sep 24 2020, 7:07 PM

Sep 10 2020

markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

Given what I've seen about the 5.8 mainline Linux kernel status for the RPi4 and that Fedora just branched 33 from Rawhide (for a late Oct. release), I decided to try installing a Fedora 33 branch server and UEFI/ACPI v1.20 and doing a "yum update" on the booted result. (USB3 SSD based, no microsd card involved.) That ended up with a 5.8.7-300.fc33.aarch64 kernel and it sees all 8GiB of RAM. I've tried the huge file copy and diff type of test and it has not failed yet. (The files are each bigger than the RAM.) (I've not noticed other issues but that likely does not imply much.) For reference, the boot reported the following "Zone ranges":

[    0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x00000001ffffffff]
[    0.000000] NUMA: NODE_DATA [mem 0x1fefec8c0-0x1ff002fff]
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000]   Device   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x00000000001fffff]
[    0.000000]   node   0: [mem 0x0000000000200000-0x00000000337d7fff]
[    0.000000]   node   0: [mem 0x00000000337d8000-0x000000003387ffff]
[    0.000000]   node   0: [mem 0x0000000033880000-0x000000003390ffff]
[    0.000000]   node   0: [mem 0x0000000033910000-0x000000003398ffff]
[    0.000000]   node   0: [mem 0x0000000033990000-0x00000000339affff]
[    0.000000]   node   0: [mem 0x00000000339b0000-0x0000000033a2ffff]
[    0.000000]   node   0: [mem 0x0000000033a30000-0x0000000036efffff]
[    0.000000]   node   0: [mem 0x0000000036f00000-0x00000000372dffff]
[    0.000000]   node   0: [mem 0x00000000372e0000-0x000000003b2fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x00000001ffffffff]
[    0.000000] Zeroed struct page in unavailable ranges: 552 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]

What OpenBSD did for the size of the DMA area for XHCI looks to be unusual (relative to NetBSD and Linux). But the next-to-last "node 0:" line above does show not using the whole DMA32 range. (I do not now why they had it do that.)

Sep 10 2020, 7:08 AM

Sep 9 2020

markmi_dsl-only.net added inline comments to D26344: bcm2838_pci.c: Respect DMA limits of controller..
Sep 9 2020, 9:13 PM
markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

FYI: Something that I do not see represented in the NetBSD debug information is that DMA channel 11 (of DMA4 engine type) is the only one explicitly noted in rpi_DATA_2711_1p0.pdf as "additionally able to access the PCIe interface".

Sep 9 2020, 6:03 AM
markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

. . .

The 0x3c000000 limit is taken from OpenBSD.

Sep 9 2020, 3:21 AM

Sep 7 2020

markmi_dsl-only.net added a comment to D26344: bcm2838_pci.c: Respect DMA limits of controller..

My understanding is that different devices have different DMA limits. XHCI has 3 GiB but others have 1 GiB. There is not one DMA controller enforcing one limit common to all contexts but multiple separate limits. Using the smallest limit for all devices may well be an alternative but that is not what the ACPI tables describe (from what I read on the lists).

Sep 7 2020, 8:34 PM

Jul 11 2020

markmi_dsl-only.net added a comment to D25068: Add driver for bcm2838 PCI express controller.

This code leads to an OverDrive 1000 getting the following error.

Jul 11 2020, 8:13 PM

Jun 20 2020

markmi_dsl-only.net added inline comments to D23828: powerpc/powermac: Constrain 'cpu_sleep()' for AIM to mpc745x.
Jun 20 2020, 12:21 AM

Feb 28 2020

markmi_dsl-only.net added a comment to D15955: Discover cards on boot.

I have removed my prior comments: they traced to a different issue that, when worked around, got rid of the behavior that I had reported. Sorry for the noise.

Feb 28 2020, 7:21 PM

Feb 23 2020

markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

. . .
You can look in Linux's arch/powerpc/platform/powermac/smp.c, and arch/powerpc/kernel/smp-tbsync.c for how Linux does it. Their generic tbsync handshake is similar to yours.

Feb 23 2020, 9:25 PM · PowerPC
markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

. . .
I do intend to shortly (next few days) clean up the one additional platform_timebase_sync() user (cpu_sleep()) to not use it, and handle it directly, since the code in cpu_sleep() is actually mpc74xx-specific, it's not generic at all. So once that's made explicit, a proper rendezvous sync should be done in platform_powermac.c instead.
. . .

Feb 23 2020, 4:29 AM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 23 2020, 12:40 AM · PowerPC

Feb 22 2020

markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 10:56 PM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 10:20 PM · PowerPC
markmi_dsl-only.net added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

What we really want to achieve is a better timebase sync mechanism. This can only be achieved by disabling the timebase, rendezvousing, and re-enabling it. Adding a drift into the generic code for a specific platform is not the correct solution.

Feb 22 2020, 9:30 PM · PowerPC
markmi_dsl-only.net added inline comments to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..
Feb 22 2020, 6:35 PM · PowerPC

Feb 17 2020

markmi_dsl-only.net added a comment to D23729: powerpc: unconditionally mark SLB zones UMA_ZONE_CONTIG.

. . .> Ah, that clarifies things. I was looking for a problem in r357548.

Feb 17 2020, 9:30 PM
markmi_dsl-only.net added a comment to D23729: powerpc: unconditionally mark SLB zones UMA_ZONE_CONTIG.

Can you explain why this makes a difference, at least for slbt_zone? I think I am missing something.

Feb 17 2020, 7:10 PM