User Details
- User Since
- Nov 2 2023, 1:14 PM (66 w, 1 d)
Dec 23 2024
- Refactor aplic code into common init and aplic/imsic specific code.
- Add support for IMSIC.
Aug 14 2024
Mar 4 2024
Feb 12 2024
Reworked APLIC_IDC_REG as asked
Feb 3 2024
Feb 1 2024
Sorry for the mess up in versions in comments. Last patch was v9, as per my local branches. This one is v10.
Changes in v10:
- Save hart indices from FDT and use them to create target value
Jan 28 2024
ping.
Jan 25 2024
After Convert local interrupt controller to a newbus PIC, commit rebase is required.
Jan 23 2024
Changes in v7:
- Keep per-cpu IDC offsets after reading interrupts-extended property
- Accessing IDC is via the stored per-CPU IDC offsets
- Remove cleanup after failure in *_attach function (like other drivers)
- Added aplic.c in files.riscv alphabetically
Jan 20 2024
Jan 19 2024
Changes in v6:
- Added verification of harts that can take interrupt using "interrupts-extended" property of FDT.
- Added target_cpu cpuset which contains the bit map of logical cpus that can take interrupts.
- During binding of the irqs, the cpus from target_cpu cpuset is used.
- Handled failure case and deregister ircs.
- Took care of comments regarding the brackets.
- Added a macro APLIC_IDC to give offset of a given hart.
- Removed return of FILTER_STRAY when IRQ is 0, added a KASSERT instead.
- Use of DEFINE_CLASS_0
@jrtc27 Thanks for your review! I have taken care of your comments. Patch will follow shortly.
Jan 17 2024
I was trying to rebase and adapt my IMSIC patch to this one.
But the patch doesn't apply cleanly. I am using main branch of FreeBSD 15.0-CURRENT (at commit id 6caa19a08b8).
@mhorne That's great! Thanks for all your time and guidance! I really appreciate it!
Jan 16 2024
changes in v6:
- Fixed wrong sizing of isrcs
- Fixed indentation of goto label
Jan 14 2024
Jan 10 2024
Changes in v5:
- Use hartid instead of logical cpu when programming APLIC registers
- Add defines for some hard coded numbers
- Check for "msi-parent" property during attach and fail if found
- Removed the IDC structure and added defines for the IDC register offsets and calculations
- Removed reuse of local variables
- Removed unused function and structures
- Removed "all rights reserved" from copyright comment
- Removed ambiguity of cpu vs hartid
@mhorne Thanks for the review! I have taken care of your comments. Will be posting new patch shortly.
Jan 6 2024
v4
- Fixed bug
- Uniprocessor boot used to hang.
- Now it is tested from 1 CPU to 16 CPUs
- virtio block dev is tested
- virtionet is tested
Jan 4 2024
v3 changes:
- Removed duplicated defines
- Added comments to some of the structures and defines
- Cosmetic changes.
Took care of formatting and other comments.
Jan 3 2024
Time to teach my emacs the style(9) KNF. I will take care of these suggestions. Thanks!