Commit Graph

57 Commits

Author SHA1 Message Date
c91c8cc6c3 use lower-case for asm 2023-11-20 12:13:49 +08:00
40b3d2e057 Add interrupt exit support to interrupt_handler
interrupt_handler: preserve registers and load them after $name2 fn
interrupt_handler: allow $name2 fn to return
2023-11-14 15:01:27 +08:00
605c8f73a6 mutex: add async version of lock 2022-05-25 10:22:16 +08:00
06c646e61f libcortex_a9: added interrupt_handler macro
closes #73
2021-01-28 11:41:34 +08:00
b50540915d libcortex_a9: memcpy throughput optimization 2021-01-26 11:16:37 +08:00
d62c77e6e0 libcortex_a9: fixed usage of deprecated APIs 2021-01-15 17:08:20 +08:00
02217f27d1 libcortex_a9: remove useless target_* features 2020-11-19 19:38:57 +01:00
0714162113 rename target_cora_z7_10 to target_coraz7 globally 2020-11-13 17:56:47 +01:00
a6955edf14 add Red Pitaya support (WIP) 2020-09-09 20:10:05 +08:00
c634313d5e update authors in cargo.toml 2020-09-09 19:36:25 +08:00
ae244082ed more cpu options 2020-09-07 16:13:51 +08:00
02c67051e8 CPU options for better performance
L2 cache options and prefetch options
2020-09-04 16:38:48 +08:00
08fd1391c5 libcortex_a9/mmu: enabled program flow prediction 2020-09-04 13:18:39 +08:00
157439bc88 libcortex_a9/semaphore: mark new as const fn 2020-09-02 09:51:52 +08:00
73e4e4fd03 libcortex_a9/sync_channel: fixed memory leak
ptr::drop_in_place would not drop the box content properly,
the best way is to convert it back to a box and implicitly drop it.
2020-08-27 17:03:26 +08:00
c13ca614ef libcortex_a9/mutex: use AcqRel for CAS operations 2020-08-24 15:24:20 +08:00
511c906d4d libcortex_a9/uncached: fixed mmu setting 2020-08-20 13:01:49 +08:00
283bc9b810 libcortex_a9: added L2 cache 2020-08-20 13:01:17 +08:00
fa07bdb681 libcortex_a9/mmu: share ocm3.
This fixes issue #54.
2020-08-07 15:10:38 +08:00
3958953ceb libcortex_a9/sync_channel: added drop_elements function. 2020-08-05 15:29:28 +08:00
25c6d5eeaa Changes usage of sev/wfe to spinlock functions. 2020-08-04 13:54:19 +08:00
9e97102e12 libcortex_a9: implemented semaphore. 2020-08-04 13:34:08 +08:00
b65606f2d0 libcortex_a9/sync_channel: added reset. 2020-08-03 15:50:31 +08:00
12669124a4 libcortex_a9/mutex: added interrupt critical section mask. 2020-08-03 12:35:17 +08:00
8f0a6bd5ea libsupport_zynq/abort: restart core1 main on core1 IRQ#0. 2020-08-03 12:35:17 +08:00
c1f61b5673 libcortex_a9/boot: enable IRQ on reset. 2020-08-03 12:35:17 +08:00
b099c56569 libcortex_a9/sync_channel: new version compiled. 2020-07-28 12:36:16 +08:00
074438c3c7 libcortex_a9: added try_lock for mutex. 2020-07-15 16:44:01 +08:00
191abf6b8f mpidr: wrap with proper bitfield getters
Prevents callers from dealing with CORE_MASK.
2020-07-08 00:04:54 +02:00
90e33f688a FPU: moved enable function to zc706 2020-07-03 16:02:34 +08:00
c6fa18344e uncached: disable cachable/bufferable 2020-06-26 22:32:49 +02:00
5c69bbdad6 mmu: fix L1Table.update() flush 2020-06-26 22:31:56 +02:00
d96343c249 uncached: refactor into UncachedSlice 2020-06-18 01:28:25 +02:00
ae739146c5 cache: add the required barriers 2020-06-18 01:27:34 +02:00
f50018092c mmu: add early memory barrier to L1Table.update() 2020-06-18 01:27:34 +02:00
7c4d390ce4 libcortex_a9: start Uncached 2020-06-18 01:27:34 +02:00
6761575b30 mmu: add L1Table.update() 2020-06-18 01:27:34 +02:00
aebce435e2 mmu: switch bufferable=1 (writeback) for DDR pages 2020-06-18 01:27:34 +02:00
5332587de6 Changed mutability 2020-06-10 12:54:50 +08:00
66cd0c7630 libcortex_a9: allow access for full 1GB of DDR 2020-05-09 02:35:39 +02:00
0d4d021b1b clean up 2020-05-01 01:17:53 +02:00
2c756ba32e libcortex_a9: migrate from asm! to llvm_asm! to avoid future breakage 2020-05-01 01:11:35 +02:00
008a995429 libcortex_a9: remove mmu::l1_table alignment through linker script
no longer needed, #[repr(16384)] works now
2020-04-30 03:38:27 +02:00
282b4dc69a link.x: reduce alignment, use all remaining OCM for .stack 2020-04-28 02:50:07 +02:00
614b1ef350 regs: add MVBAR and HVBAR 2020-04-27 12:49:18 +08:00
fefd2a4ceb regs: add VBAR 2020-04-27 12:34:15 +08:00
b26327e474 typo 2020-04-13 10:39:38 +08:00
0000575ce0 libasync: add async_send/async_recv methods 2020-04-13 01:24:37 +02:00
6fd6f429fe libcortex_a9: impl Iterator for sync_channel::Receiver 2020-04-09 02:56:54 +02:00
e54edbf32d libcortex_a9: add sync_channel 2020-04-09 02:49:24 +02:00