User Details
- User Since
- Jul 4 2018, 7:23 PM (353 w, 1 d)
Mon, Mar 31
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=285821 now filed with the important details for reproducing
Only amd64 and arm64 implement and build efirt, are the arm and riscv changes truly needed?
Wed, Mar 26
Fri, Mar 21
Thanks
Mar 11 2025
Feb 26 2025
My recollection is that paths not being present shouldn’t matter, at least for link types that don’t have contents not reflected in the metalog already (e.g. directories or symlinks), yet this will spit out warnings.
Feb 18 2025
Feb 5 2025
This doesn't work for N >= 3. Even if you have indirect recursion, macro foo will not further expand a foo within it, so you will find that DEFINE_CLASS_3 leaves behind a ___DEFINE_CLASSN_BASE_EXPANDER for the final class (or more than one class for N > 3). As it happens DEFINE_CLASS_3 is unused in the tree which is why you didn't notice. But that's all the more reason not to generalise if we don't even need N > 2.
It's still not thread-safe if you pass the return value to another thread, but perhaps that's outside the scope
Feb 4 2025
Feb 3 2025
From my inexperienced eye, the problem looks like when we're transferring pages from another pool to the requested pool, each of the m_buddy in vm_phys_split_pages will have its pool updated, but nothing updates the pool of the page being allocated itself. vm_phys_set_pool previously did that, along with various other updates, but now that it's vm_phys_finish_init it does not.
Feb 2 2025
Ping
Feb 1 2025
TL;DR I am annoyed at your desire to insert hacks into a core driver for all modern arm64 platforms and do not want to see good engineering practice thrown out the window in the name of making a specific piece of hardware "work" in the quickest way possible
Your unwillingness to try and actually understand the problem is your own choice, not mine. Adding a platform-specific quirk to ignore the inability to set something that the specification does not give implementations license to restrict is one thing, but doing it unilaterally for every platform is quite another thing and I wholeheartedly object to just disabling checks that get in the way with our current implementation on your hardware. We could quite easily have a real bug in our driver here, and in doing so we're just ignoring that. I also have absolutely no desire to encounter cache coherency bugs in future because of a change like this which just decides that cache coherency is something that can be ignored and everything will be fine, don't worry about it. I do not know what the implications of picking up a different firmware-chosen value here is and whether FreeBSD can in fact cope with it. Do you?
I also wrote the following on IRC a couple of weeks back:
The first hunk should not be necessary according to the specification, but if it helps your platform, does not regress others and is believed to be better anyway according to Andy then that's fine. The second hunk I do not believe should be committed.
Jan 31 2025
Jan 30 2025
Probably best to land this, since it's actually important for reproducibility, then we can update both to something else later that gives extra visibility into the build less urgently
Jan 29 2025
Emit an error if MYMAKE is being messed with in any way
Jan 28 2025
Jan 27 2025
It doesn't need clocks, it needs one of clocks or clock-frequency. QEMU's virt board lists the latter, which is far simpler and preferable in a virtualisation setting. It also uses 3686400 as the frequency, which I believe lets the guest go up to 230400 baud. We should align with QEMU where possible in order to avoid surprises.
One could conceivably imagine the handles being small positive integers (nexus0 is 1, and so on) rather than using kernel addresses, so -1 seems more flexible IMO, and is generally a clear sentinel.
Jan 24 2025
Jan 23 2025
Jan 22 2025
This doesn't seem to conform to the spec.
Jan 21 2025
This always bugged me :)
Jan 20 2025
Since this seems to be a saga that keeps on giving, I'm going to ask the important question to which the answer must have been no for every other commit for this, despite my comments on IRC:
Jan 17 2025
Please put the rationale from your comment in the commit message, and mention that this may be improved in future to use the right DB (I intend to do that if nobody beats me to it).
Uh, why do we need that wrapper instead of just calling memchr itself?
Jan 15 2025
Hm, this used to be required by POSIX but newer versions allow the implementation not to treat that as an error
Jan 14 2025
Jan 11 2025
Jan 10 2025
I was going to suggest using the device_t-taking APIs instead, but then realised that doesn't work for the early case... bit sad but oh well.
(but please mention BSS in the commit message)
Jan 9 2025
Jan 6 2025
Jan 4 2025
Dec 21 2024
Dec 20 2024
Dec 19 2024
Dec 18 2024
Wait so you put up a patch to disable Sstc before an alternative was provided?
Dec 17 2024
From grepping the tree this doesn't actually have any consequences currently, right, other than possible prints? The only real use I see is cpufreq, which we don't currently have for RISC-V.
Dec 16 2024
Dec 14 2024
Dec 13 2024
Dec 12 2024
Alternative proposal: https://reviews.freebsd.org/D48064
Also, please upload with full context
Do we really want one vm_cap_type entry per extension?
Dec 11 2024
Is there a reason to not do the right thing automatically via ROOT=... freebsd-version?