Mon, Dec 23
- Refactor aplic code into common init and aplic/imsic specific code.
- Add support for IMSIC.
Sep 23 2024
Sep 4 2024
Aug 14 2024
Aug 13 2024
Hi Himanshu what is status of this? could you regenerate for the latest HEAD ?
Jun 17 2024
Feb 14 2024
Feb 12 2024
Reworked APLIC_IDC_REG as asked
Feb 3 2024
Feb 2 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 31 2024
LGTM!
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 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 18 2024
With apologies for the delay:
Jan 17 2024
@mhorne That's great! Thanks for all your time and guidance! I really appreciate it!
Jan 16 2024
I am happy with it, and did some testing locally. Rebinding interrupts seems to work as expected.
changes in v6:
- Fixed wrong sizing of isrcs
- Fixed indentation of goto label
Jan 15 2024
This looks pretty good, with one remaining issue that I see.
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 9 2024
Thanks a lot for submitting this!
Jan 7 2024
FYI I intend to give this a more proper review this week, now that I've returned from my travels over the holidays
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.
tools/build/checkstyle9.pl will check most common style issues
Took care of formatting and other comments.