#
ee91dae4 |
|
14-Feb-2024 |
Himanshu Chauhan <himanshu@thchauhan.dev> |
riscv: Introduce support for APLIC interrupt controller This patch introduces support for the RISC-V APLIC interrupt controller [1]. Currently, it is only supports direct mode, i.e. without an IMSIC and functionally replacing the legacy RISC-V PLIC. Work on IMSIC support is in progress. [1] https://github.com/riscv/riscv-aia/releases/tag/1.0 Reviewed by: mhorne Discussed with: jrtc27 MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D43293
|
#
6ec8bf9f |
|
24-Jan-2024 |
Jessica Clarke <jrtc27@FreeBSD.org> |
riscv: Convert local interrupt controller to a newbus PIC Currently the local interrupt controller implementation is based on pre-INTRNG arm/arm64 code, using hand-rolled event code rather than INTRNG. This then interacts weirdly with the PLIC, and other future interrupt controllers like the APLIC and IMSICs in the upcoming AIA specification, since they become the root PIC despite not being the logical root. Instead, use a real newbus device for it and register it as the root PIC. This also adapts the IPI code to make use of the newly-added INTRNG generic IPI handling framework, adding a new sbi_ipi as the PIC. In future there will be alternative devices for sending IPIs that will register with higher priorities, such as the proposed AIA IMSIC and ACLINT SSWI. Reviewed by: mhorne MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D35901
|
#
031beb4e |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line sh pattern Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
a8926207 |
|
06-Jul-2023 |
Mitchell Horne <mhorne@FreeBSD.org> |
Consistently provide ffs/fls using builtins Use of compiler builtin ffs/ctz functions will result in optimized instruction sequences when possible, and fall back to calling a function provided by the compiler run-time library. We have slowly shifted our platforms to take advantage of these builtins in 60645781d613 (arm64), 1c76d3a9fbef (arm), 9e319462a03a (powerpc, partial). Some platforms still rely on the libkern implementations of these functions provided by libkern, namely riscv, powerpc (ffs*, flsll), and i386 (ffsll and flsll). These routines are slow, as they perform a linear search for the bit in question. Even on platforms lacking dedicated bit-search instructions, such as riscv, the compiler library will provide better-optimized routines, e.g. by using binary search. Consolidate all definitions of these functions (whether currently using builtins or not) to libkern.h. This should result in equivalent or better performing routines in all cases. One wart in all of this is the existing HAVE_INLINE_F*** macros, which we use in a few places to conditionally avoid the slow libkern routines. These aren't easily removed in one commit. For now, provide these defines unconditionally, but marked for removal after subsequent cleanup. Removal of the now unused libkern routines will follow in the next commit. Reviewed by: dougm, imp (previous version) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D40698
|
#
92fa22c6 |
|
21-Apr-2023 |
Mark Johnston <markj@FreeBSD.org> |
riscv: Compile instr_size.c into the kernel when DTrace is configured Reported by: Jenkins Fixes: 080e56a6c98c ("dtrace: expose dtrace_instr_size() to userland and implement it for riscv")
|
#
8c6e5d8c |
|
07-Sep-2022 |
Andrew Turner <andrew@FreeBSD.org> |
Import an optimized str{n}cmp on arm64 These are from the Arm Optimized Routines and don't use the VFP so are safe to use in the kernel. Sponsored by: The FreeBSD Foundation
|
#
85b3794c |
|
11-Jan-2022 |
Emmanuel Vadot <manu@FreeBSD.org> |
files: Make ext_resources non-optional EXT_RESOURCES have been introduced in 12-CURRENT and all supported releases have it enabled in their kernel config. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D33834
|
#
d72e9448 |
|
11-Sep-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
riscv: gdb(4) support Add the MD portion required for the gdb stub. Reviewed by: jhb (earlier version) Discussed with: jrtc27 MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D33734
|
#
ecbbe831 |
|
24-Nov-2021 |
Mark Johnston <markj@FreeBSD.org> |
netinet: Deduplicate most in_cksum() implementations in_cksum() and related routines are implemented separately for each platform, but only i386 and arm have optimized versions. Other platforms' copies of in_cksum.c are identical except for style differences and support for big-endian CPUs. Deduplicate the implementations for the rest of the platforms. This will make it easier to implement in_cksum() for unmapped mbufs. On arm and i386, define HAVE_MD_IN_CKSUM to mean that the MI implementation is not to be compiled. No functional change intended. Reviewed by: kp, glebius MFC after: 1 week Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33095
|
#
aba66031 |
|
04-Oct-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
riscv: move signal delivery code to exec_machdep.c Reviewed by: emaste, imp Discussed with: jrtc27 Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D32310
|
#
44056f9a |
|
23-Aug-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
riscv: retire bcmp Unused since ba96f37758412151 ("Use __builtin for various mem* and b* (e.g. bzero) routines.") Reviewed by: mhorne Sponsored by: Rubicon Communications, LLC ("Netgate")
|
#
896e217a |
|
07-Aug-2021 |
Jessica Clarke <jrtc27@FreeBSD.org> |
fu740_pci_dw: Add SiFive FU740 PCIe controller driver Reviewed by: mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31033
|
#
24042910 |
|
19-May-2021 |
Marcin Wojtas <mw@FreeBSD.org> |
Rename ofwpci.c to ofw_pcib.c It's a class0 driver that implements some pcib methods and creates a pci bus as its children. The "ofw_pci" name will be used by a new driver that will be a subclass of the pci bus. No functional changes intended. Submitted by: Kornel Duleba <mindal@semihalf.com> Reviewed by: andrew Obtained from: Semihalf Sponsored by: Alstom Group Differential Revision: https://reviews.freebsd.org/D30226
|
#
6e1abda2 |
|
27-Apr-2021 |
Brandon Bergren <bdragon@FreeBSD.org> |
riscv: Remove old qemu compatibility code During early qemu development, the /soc node was marked as compatible with "riscv-virtio-soc" instead of "simple-bus". This was changed in qemu 53f54508dae6 in Sep 2018, and predates the baseline required qemu version (5.0) for riscv by a wide margin. The generic simplebus code handles attachment in all cases nowadays. Sponsored by: Tag1 Consulting, Inc. Reviewed by: jrtc27, mhorne Differential Revision: https://reviews.freebsd.org/D30011
|
#
af366d35 |
|
08-Feb-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement strlen in assembly The C variant in libkern performs excessive branching to find the non-zero byte instead of using the bsfq instruction. The same code patched to use it is still slower than the routine implemented here as the compiler keeps neglecting to perform certain optimizations (like using leaq). On top of that the routine can is a starting point for copyinstr which operates on words instead of bytes. Tested with glibc test suite. Sample results (calls/s): Haswell: $(perl -e "print 'A' x 3"): stock: 211198039 patched:338626619 asm: 465609618 $(perl -e "print 'A' x 100"): stock: 83151997 patched: 98285919 asm: 120719888 AMD EPYC 7R32: $(perl -e "print 'A' x 3"): stock: 282523617 asm: 491498172 $(perl -e "print 'A' x 100"): stock: 114857172 asm: 112082057
|
#
2e58ec01 |
|
18-Nov-2020 |
Mark Johnston <markj@FreeBSD.org> |
Move kern_clocksource.c to sys/conf/files Sponsored by: The FreeBSD Foundation
|
#
82524003 |
|
26-Jul-2020 |
Jessica Clarke <jrtc27@FreeBSD.org> |
riscv: Include syscon_power device driver in GENERIC kernel config QEMU's RISC-V virt machine provides syscon-power and syscon-reset devices as the means by which to shutdown and reboot. We also need to ensure that we have attached the syscon_generic device before attaching any syscon_power devices, and so we introduce a new riscv_syscon device akin to aw_syscon added in r327936. Currently the SiFive test finisher is used as the specific implementation of such a syscon device. Reviewed by: br, brooks (mentor), jhb (mentor) Approved by: br, brooks (mentor), jhb (mentor) Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D25725
|
#
852c303b |
|
25-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
copystr(9): Move to deprecate (attempt #2) This reapplies logical r360944 and r360946 (reverting r360955), with fixed copystr() stand-in replacement macro. Eventually the goal is to convert consumers and kill the macro, but for a first step it helps if the macro is correct. Prior commit message: Unlike the other copy*() functions, it does not serve to copy from one address space to another or protect against potential faults. It's just an older incarnation of the now-more-common strlcpy(). Add a coccinelle script to tools/ which can be used to mechanically convert existing instances where replacement with strlcpy is trivial. In the two cases which matched, fuse_vfsops.c and union_vfsops.c, the code was further refactored manually to simplify. Replace the declaration of copystr() in systm.h with a small macro wrapper around strlcpy (with correction from brooks@ -- thanks). Remove N redundant MI implementations of copystr. For MIPS, this entailed inlining the assembler copystr into the only consumer, copyinstr, and making the latter a leaf function. Reviewed by: jhb (earlier version) Discussed with: brooks (thanks!) Differential Revision: https://reviews.freebsd.org/D24672
|
#
051fc58c |
|
11-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Revert r360944 and r360946 until reported issues can be resolved Reported by: cy
|
#
9cfae28e |
|
11-May-2020 |
Conrad Meyer <cem@FreeBSD.org> |
Remove deleted files from the build Fix build break introduced in r360944. Reported by: kevans
|
#
0e00c709 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for DES and Triple DES from OCF. It no longer has any in-kernel consumers via OCF. smbfs still uses single DES directly, so sys/crypto/des remains for that use case. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24773
|
#
32075647 |
|
11-May-2020 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the Blowfish algorithm from OCF. It no longer has any in-kernel consumers. Reviewed by: cem Relnotes: yes Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24772
|
#
820a3f43 |
|
18-Apr-2020 |
Mitchell Horne <mhorne@FreeBSD.org> |
RISC-V: use physmem to manage physical memory Replace our hand-rolled functions with the generic ones provided by kern/subr_physmem.c. This greatly simplifies the initialization of physical memory regions and kernel globals. Tested by: nick Differential Revision: https://reviews.freebsd.org/D24154
|
#
78c1387f |
|
02-Apr-2020 |
Ian Lepore <ian@FreeBSD.org> |
Add the Cadence GEM ethernet driver to NOTES so that it gets built with LINT kernels. Move the config for it from files.<arch> files into the main config (conf/files), because it works on multiple platforms now.
|
#
dee4c1d2 |
|
29-Jan-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Add driver for Xilinx XDMA PCIe Bridge found in the U.S. Government Furnished Equipment (GFE) riscv cores. GFE cores are synthesized on the Xilinx Virtex UltraScale+ FPGA VCU118 Evaluation Kit. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D23337
|
#
7106b618 |
|
24-Jan-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Include the PCI stack to the riscv GENERIC kernel. It will be used by an upcoming PCI root complex driver. Sponsored by: DARPA, AFRL
|
#
ff33210c |
|
14-Nov-2019 |
Mitchell Horne <mhorne@FreeBSD.org> |
RISC-V: add support for SBI spec v0.2 The Supervisor Binary Interface (SBI) specification v0.2 is a backwards incompatible update to the SBI call interface for kernels running in supervisor mode. The goal of this update was to make it easier for new and optional functionality to be added to the SBI. SBI functions are now called by passing an "extension ID" and a "function ID" which are passed in a7 and a6 respectively. SBI calls will also return an error and value in the following struct: struct sbi_ret { long error; long value; } This version introduces several new functions under the "base" extension. It is expected that all SBI implementations >= 0.2 will support this base set of functions, as they implement some essential services such as obtaining the SBI version, CPU implementation info, and extension probing. Existing SBI functions have been designated as "legacy". For the time being they will remain implemented, but it is expected that in the future their functionality will be duplicated or replaced by new SBI extensions. Each legacy function has been assigned its own extension ID, and for now we simply probe and assert for their existence. Compatibility with legacy SBI implementations (such as BBL) is maintained by checking the output of sbi_get_spec_version(). This function is guaranteed to succeed by the new spec, but will return an error in legacy implementations. We use this as an indicator of whether or not we can rely on the new SBI base extensions. For further info on the Supervisor Binary Interface, see: https://github.com/riscv/riscv-sbi-doc/blob/master/riscv-sbi.adoc Reviewed by: kp, jhb MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D22326
|
#
d0c0856f |
|
10-Oct-2019 |
Andriy Gapon <avg@FreeBSD.org> |
emulate illumos membar_producer with atomic_thread_fence_rel membar_producer is supposed to be a store-store barrier. Also, in the code that FreeBSD has ported from illumos membar_producer is used only with regular stores to regular memory (with respect to caching). We do not have an MI primitive for the store-store barrier, so atomic_thread_fence_rel is the closest we have as it provides (load | store) -> store barrier. Previously, membar_producer was an empty function call on all 32-bit arm-s, 32-bit powerpc, riscv and all mips variants. I think that it was inadequate. On other platforms, such as amd64, arm64, i386, powerpc64, sparc64, membar_producer was implemented using stronger primitives than required for a store-store barrier with respect to regular memory access. For example, it used sfence on amd64 and lock-ed nop in i386 (despite TSO). On powerpc64 we now use recommended lwsync instead of eieio. On sparc64 FreeBSD uses TSO mode. On arm64/aarch64 we now use dmb sy instead of dmb ish. Not sure if this is an improvement, actually. After this change we can drop opensolaris_atomic.S for aarch64, amd64, powerpc64 and sparc64 as all required atomic operations have either direct or light-weight mapping to FreeBSD native atomic operations. Discussed with: kib MFC after: 4 weeks
|
#
fcc3a0f6 |
|
08-May-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Connect Xilinx AXI drivers and Cadence Ethernet MAC to the RISC-V build. Sponsored by: DARPA, AFRL
|
#
75cf8837 |
|
07-May-2019 |
Ruslan Bukin <br@FreeBSD.org> |
Provide a template for busdma code for RISC-V. RISC-V ISA specifies no cache management instructions so leave cache operations in cpufunc.h as no-op for now. Note some new hardware comes with their own memory-mapped cache management controller. Tested on HiFive Unleashed board with cgem(4). Reviewed by: markj Obtained from: arm64 Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D20126
|
#
053ec050 |
|
12-Oct-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add support for the UART device found in lowRISC system-on-a-chip. The only source of documentation for this device is verilog, so driver is minimalistic. Reviewed by: Dr Jonathan Kimmitt <jrrk2@cam.ac.uk> Approved by: re (kib) Sponsored by: DARPA, AFRL
|
#
a8e3f99e |
|
27-Sep-2018 |
Mateusz Guzik <mjg@FreeBSD.org> |
amd64: implement memcmp in assembly Both the in-kernel C variant and libc asm variant have very poor performance. The former compiles to a single byte comparison loop, which breaks down even for small sizes. The latter uses rep cmpsq/b which turn out to have very poor throughput and are slower than a hand-coded 32-byte comparison loop. Depending on size this is about 3-4 times faster than the current routines. Reviewed by: kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D17328
|
#
96744f02 |
|
05-Jul-2018 |
Sean Bruno <sbruno@FreeBSD.org> |
Make ZSTD a real option via ZSTDIO. It looks like the intent was to allow ZSTD support to be compiled into the kernel with options ZSTDIO. But it doesn't look like that was ever implemented or I'm missing how to do it. I did a cursory audit of kernel config files and made a decision to enable ZSTDIO in riscv GENERIC and mips MALTA configurations. All other kernel configurations already had this option in their kernel configs but they didn't do anything useful as the feature was declared as "standard" prior to this. Reviewed by: cem allanjude Differential Revision: https://reviews.freebsd.org/D16007
|
#
2d53a67c |
|
12-Jun-2018 |
Ruslan Bukin <br@FreeBSD.org> |
o Add driver for PLIC (Platform-Level Interrupt Controller) device. o Convert interrupt machdep support to use INTRNG code. Sponsored by: DARPA, AFRL
|
#
ebdf0baf |
|
12-Jun-2018 |
Ruslan Bukin <br@FreeBSD.org> |
Add simplebus-like RISC-V SoC bus. This is required in order to probe and attach devices described under "riscv-virtio-soc" node of DTS. Sponsored by: DARPA, AFRL
|
#
baaa3c4d |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Simplify things a little Rather than include a copy for memmove to call bcopy to call memcpy (which handles overlapping copies), make memmove a strong reference to memcpy to save the two calls. Differential Revision: https://reviews.freebsd.org/D15374
|
#
5aa07b05 |
|
09-May-2018 |
Warner Losh <imp@FreeBSD.org> |
Move MI-ish bcopy routine to libkern riscv and powerpc have nearly identical bcopy.c that's supposed to be mostly MI. Move it to the MI libkern. Differential Revision: https://reviews.freebsd.org/D15374
|
#
806695ff |
|
10-Jan-2018 |
John Baldwin <jhb@FreeBSD.org> |
Include ffsll() on riscv kernels.
|
#
8038068a |
|
09-Jan-2018 |
Conrad Meyer <cem@FreeBSD.org> |
Finally, fix Zstd kernel build on MIPS and RISC-V Add an implementation of the intrinsics invoked by __builtin_ctz{,ll} and __builtin_clz{,ll}, and include this compilation unit on platforms that lack assembly intrinsics for those builtins (MIPS and RISC-V). Future cleanup work might involve bringing these into a mini libcompiler-rt for the standalone kernel environment. Or cleaning up the approach upstream takes for builtins in standalone environments (or just FreeBSD). For now, at least this builds, and doesn't require modifying the vendor code. Reported by: jeff, markj, mizhka Reviewed by: jhb (earlier version), rpokala (comment text earlier version) Sponsored by: Dell EMC Isilon
|
#
af19cc59 |
|
10-Aug-2017 |
Ruslan Bukin <br@FreeBSD.org> |
Support for v1.10 (latest) of RISC-V privilege specification. New version is not compatible on supervisor mode with v1.9.1 (previous version). Highlights: o BBL (Berkeley Boot Loader) provides no initial page tables anymore allowing us to choose VM, to build page tables manually and enable MMU in S-mode. o SBI interface changed. o GENERIC kernel. FDT is now chosen standard for RISC-V hardware description. DTB is now provided by Spike (golden model simulator). This allows us to introduce GENERIC kernel. However, description for console and timer devices is not provided in DTB, so move these devices temporary to nexus bus. o Supervisor can't access userspace by default. Solution is to set SUM (permit Supervisor User Memory access) bit in sstatus register. o Compressed extension is now turned on by default. o External GCC 7.1 compiler used. o _gp renamed to __global_pointer$ o Compiler -march= string is now in use allowing us to choose required extensions (compressed, FPU, atomic, etc). Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11800
|
#
fcf59617 |
|
06-Feb-2017 |
Andrey V. Elsukov <ae@FreeBSD.org> |
Merge projects/ipsec into head/. Small summary ------------- o Almost all IPsec releated code was moved into sys/netipsec. o New kernel modules added: ipsec.ko and tcpmd5.ko. New kernel option IPSEC_SUPPORT added. It enables support for loading and unloading of ipsec.ko and tcpmd5.ko kernel modules. o IPSEC_NAT_T option was removed. Now NAT-T support is enabled by default. The UDP_ENCAP_ESPINUDP_NON_IKE encapsulation type support was removed. Added TCP/UDP checksum handling for inbound packets that were decapsulated by transport mode SAs. setkey(8) modified to show run-time NAT-T configuration of SA. o New network pseudo interface if_ipsec(4) added. For now it is build as part of ipsec.ko module (or with IPSEC kernel). It implements IPsec virtual tunnels to create route-based VPNs. o The network stack now invokes IPsec functions using special methods. The only one header file <netipsec/ipsec_support.h> should be included to declare all the needed things to work with IPsec. o All IPsec protocols handlers (ESP/AH/IPCOMP protosw) were removed. Now these protocols are handled directly via IPsec methods. o TCP_SIGNATURE support was reworked to be more close to RFC. o PF_KEY SADB was reworked: - now all security associations stored in the single SPI namespace, and all SAs MUST have unique SPI. - several hash tables added to speed up lookups in SADB. - SADB now uses rmlock to protect access, and concurrent threads can do SA lookups in the same time. - many PF_KEY message handlers were reworked to reflect changes in SADB. - SADB_UPDATE message was extended to support new PF_KEY headers: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. They can be used by IKE daemon to change SA addresses. o ipsecrequest and secpolicy structures were cardinally changed to avoid locking protection for ipsecrequest. Now we support only limited number (4) of bundled SAs, but they are supported for both INET and INET6. o INPCB security policy cache was introduced. Each PCB now caches used security policies to avoid SP lookup for each packet. o For inbound security policies added the mode, when the kernel does check for full history of applied IPsec transforms. o References counting rules for security policies and security associations were changed. The proper SA locking added into xform code. o xform code was also changed. Now it is possible to unregister xforms. tdb_xxx structures were changed and renamed to reflect changes in SADB/SPDB, and changed rules for locking and refcounting. Reviewed by: gnn, wblock Obtained from: Yandex LLC Relnotes: yes Sponsored by: Yandex LLC Differential Revision: https://reviews.freebsd.org/D9352
|
#
5f8228b2 |
|
09-Aug-2016 |
Ruslan Bukin <br@FreeBSD.org> |
o Remove operation in machine mode. Machine privilege level was specially designed to use in vendor's firmware or bootloader. We have implemented operation in machine mode in FreeBSD as part of understanding RISC-V ISA, but it is time to remove it. We now use BBL (Berkeley Boot Loader) -- standard RISC-V firmware, which provides operation in machine mode for us. We now use standard SBI calls to machine mode, instead of handmade 'syscalls'. o Remove HTIF bus. HTIF bus is now legacy and no longer exists in RISC-V specification. HTIF code still exists in Spike simulator, but BBL do not provide raw interface to it. Memory disk is only choice for now to have multiuser booted in Spike, until Spike has implemented more devices (e.g. Virtio, etc). Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
fed1ca4b |
|
24-May-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add initial DTrace support for RISC-V. Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
3f8f5599 |
|
26-Apr-2016 |
Ruslan Bukin <br@FreeBSD.org> |
o Add device tree files and kernel configuration files for RISC-V cpus synthesized on FPGA hardware. o Include new files to the build.
|
#
30b72b68 |
|
26-Apr-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Move arm's devmap to some generic place, so it can be used by other architectures. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D6091 Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
d52d6d7c |
|
10-Mar-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add support for ddb(4). Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
17696c12 |
|
24-Feb-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Add support for symmetric multiprocessing (SMP). Tested on Spike simulator with 2 and 16 cores (tlb enabled), so set MAXCPU to 16 at this time. This uses FDT data to get information about CPUs (code based on arm64 mp_machdep). Invalidate entire TLB cache as it is the only way yet. Sponsored by: DARPA, AFRL Sponsored by: HEIF5
|
#
48eeabc1 |
|
23-Feb-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Set a dependencies for stack(9) RISC-V MD part. Pointed out by: andrew
|
#
0b7bfc0b |
|
22-Feb-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Provide stack(9) MD stubs for RISC-V so ktr(9) can be compiled in.
|
#
28029b68 |
|
29-Jan-2016 |
Ruslan Bukin <br@FreeBSD.org> |
Welcome the RISC-V 64-bit kernel. This is the final step required allowing to compile and to run RISC-V kernel and userland from HEAD. RISC-V is a completely open ISA that is freely available to academia and industry. Thanks to all the people involved! Special thanks to Andrew Turner, David Chisnall, Ed Maste, Konstantin Belousov, John Baldwin and Arun Thomas for their help. Thanks to Robert Watson for organizing this project. This project sponsored by UK Higher Education Innovation Fund (HEIF5) and DARPA CTSRD project at the University of Cambridge Computer Laboratory. FreeBSD/RISC-V project home: https://wiki.freebsd.org/riscv Reviewed by: andrew, emaste, kib Relnotes: Yes Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D4982
|