#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
5c2967f6 |
|
29-Nov-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Remove the pre-ARMv6 and pre-INTRNG code. ARM has required ARMV6+ and INTRNg for some time now, so remove always false #ifdefs and unconditionally do always true #ifdefs.
|
#
31820621 |
|
20-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add missing assignment forgotten in r365899 Noticed by: mav MFC after: 1 month MFC with: r365899
|
#
95a85c12 |
|
19-Sep-2020 |
Michal Meloun <mmel@FreeBSD.org> |
Add NetBSD compatible bus_space_peek_N() and bus_space_poke_N() functions. One problem with the bus_space_read_N() and bus_space_write_N() family of functions is that they provide no protection against exceptions which can occur when no physical hardware or device responds to the read or write cycles. In such a situation, the system typically would panic due to a kernel-mode bus error. The bus_space_peek_N() and bus_space_poke_N() family of functions provide a mechanism to handle these exceptions gracefully without the risk of crashing the system. Typical example is access to PCI(e) configuration space in bus enumeration function on badly implemented PCI(e) root complexes (RK3399 or Neoverse N1 N1SDP and/or access to PCI(e) register when device is in deep sleep state. This commit adds a real implementation for arm64 only. The remaining architectures have bus_space_peek()/bus_space_poke() emulated by using bus_space_read()/bus_space_write() (without exception handling). MFC after: 1 month Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D25371
|
#
65454883 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
arm: clean up empty lines in .c and .h files
|
#
af3dc4a7 |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/arm: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
a66dc0c5 |
|
25-May-2016 |
Ian Lepore <ian@FreeBSD.org> |
Include machine/acle-compat.h in cdefs.h on arm if the compiler doesn't have ACLE support built in. The ACLE (ARM C Language Extensions) defines a set of standardized symbols which indicate the architecture version and features available. ACLE support is built in to modern compilers (both clang and gcc), but absent from gcc prior to 4.4. ARM (the company) provides the acle-compat.h header file to define the right symbols for older versions of gcc. Basically, acle-compat.h does for arm about the same thing cdefs.h does for freebsd: defines standardized macros that work no matter which compiler you use. If ARM hadn't provided this file we would have ended up with a big #ifdef __arm__ section in cdefs.h with our own compatibility shims. Remove #include <machine/acle-compat.h> from the zillion other places (an ever-growing list) that it appears. Since style(9) requires sys/types.h or sys/param.h early in the include list, and both of those lead to including cdefs.h, only a couple special cases still need to include acle-compat.h directly. Loves it: imp
|
#
19bec15c |
|
21-Nov-2015 |
Andrew Turner <andrew@FreeBSD.org> |
Limit arm_base_bs_tag to ARMv4 and ARMv5, we only used it in one place in armv6 and that can use fdtbus_bs_tag.
|
#
4dbc0083 |
|
09-Nov-2015 |
Michal Meloun <mmel@FreeBSD.org> |
ARM: Remove trailing whitespace from sys/arm/include No functional changes. Approved by: kib (mentor)
|
#
ede35fae |
|
21-Jan-2015 |
Ian Lepore <ian@FreeBSD.org> |
Micro-optimize the new arm inline bus_space implementation by grouping all the data the inline functions access together at the start of the bus_space struct. The start-of part isn't so important, it's the grouping-together that's the point: now all the most-accessed data should be in one cache line. Suggested by: cognet
|
#
afe43c7b |
|
20-Jan-2015 |
Ian Lepore <ian@FreeBSD.org> |
The versatile platform had two copies of a bus_space that are essentially duplicates of the standard arm base bus_space, so just use it.
|
#
2737497b |
|
20-Jan-2015 |
Ian Lepore <ian@FreeBSD.org> |
Move bs_unimplemented() to bus_space_generic.c so it can be shared.
|
#
4098ccaf |
|
20-Jan-2015 |
Ian Lepore <ian@FreeBSD.org> |
Revise the arm bus_space implementation to avoid dereferencing the tag on every operation to retrieve the bs_cookie value almost nothing actually uses. The bus_space struct contains a private data pointer (poorly named bs_cookie, now renamed to bs_privdata) which is used only by a few old armv4 xscale implementations. The bus_space functions were all defined to take this value as the first parameter instead of the bus_space_tag_t, requiring all the inline macro and function expansions to dereference the tag to pass it to another function, which never uses it. Now all the functions take the tag as the first parameter and retrieve the privdata if they need it. Also fix a couple bus_space_unmap() implementations that were calling kva_free() instead of pmap_unmapdev(). Discussed with: cognet
|
#
16e2dc66 |
|
20-Jan-2015 |
Ian Lepore <ian@FreeBSD.org> |
Add inline implementations of arm bus_space_read/write_N(). Reviewed by: cognet
|
#
4117c1db |
|
18-Mar-2013 |
Aleksandr Rybalko <ray@FreeBSD.org> |
o Switch to use physical addresses in rman for FDT. o Remove vtophys used to translate virtual address to physical in case rman carry virtual. Sponsored by: The FreeBSD Foundation
|
#
33ff10ea |
|
16-Mar-2013 |
Ian Lepore <ian@FreeBSD.org> |
Add a macro that gets the physical address of a memory mapped device register from a bus space resource. Note that this macro is just for ARM, and is intended to have a short lifespan. The DMA engines in some SoCs need the physical address of a memory-mapped device register as one of the arguments for the transfer. Several scattered ad-hoc solutions have been converted to use this macro, which now also serves to mark the places where a more complete fix needs to be applied (after that fix has been designed).
|
#
c90f7d9b |
|
03-Dec-2010 |
Rebecca Cran <brucec@FreeBSD.org> |
Revert r216134. This checkin broke platforms where bus_space are macros: they need to be a single statement, and do { } while (0) doesn't work in this situation so revert until a solution can be devised.
|
#
15b4888a |
|
02-Dec-2010 |
Rebecca Cran <brucec@FreeBSD.org> |
Disallow passing in a count of zero bytes to the bus_space(9) functions. Passing a count of zero on i386 and amd64 for [I386|AMD64]_BUS_SPACE_MEM causes a crash/hang since the 'loop' instruction decrements the counter before checking if it's zero. PR: kern/80980 Discussed with: jhb
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
b938b7a3 |
|
08-Apr-2010 |
Warner Losh <imp@FreeBSD.org> |
Add BUS_SPACE_UNRESTRICTED and define it to be ~0, just like all the other platforms.
|
#
d01c5f36 |
|
16-Feb-2010 |
Warner Losh <imp@FreeBSD.org> |
The NetBSD Foundation has granted permission to remove clauses 3 and 4. Obtained from: NetBSD
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
588a2322 |
|
19-Nov-2006 |
Sam Leffler <sam@FreeBSD.org> |
correct bus space unmap prototype Reviewed by: cognet, imp MFC after: 1 month
|
#
06db52b6 |
|
18-Apr-2005 |
Warner Losh <imp@FreeBSD.org> |
Break out the definition of bus_space_{tag,handle}_t and a few other types into _bus.h to help with name space polution from including all of bus.h. In a few days, I'll commit changes to the MI code to take advantage of thse sepration (after I've made sure that these changes don't break anything in the main tree, I've tested in my trees, but you never know...). Suggested by: bde (in 2002 or 2003 I think) Reviewed in principle by: jhb
|
#
5974e5c7 |
|
14-Mar-2005 |
Scott Long <scottl@FreeBSD.org> |
Refactor the bus_dma header files so that the interface is described in sys/bus_dma.h instead of being copied in every single arch. This slightly reorders a flag that was specific to AXP and thus changes the ABI there. The interface still relies on bus_space definitions found in <machine/bus.h> so it cannot be included on its own yet, but that will be fixed at a later date. Add an MD <machine/bus_dma.h> for ever arch for consistency and to allow for future MD augmentation of the API. sparc64 makes heavy use of this right now due to its different bus_dma implemenation.
|
#
34c89138 |
|
15-Jan-2005 |
Olivier Houchard <cognet@FreeBSD.org> |
Add the prototype for bus_dmamap_load_mbuf_sg(). Spotted out by: scottl
|
#
d8315c79 |
|
05-Jan-2005 |
Warner Losh <imp@FreeBSD.org> |
Start all license statements with /*-
|
#
a5bb1c85 |
|
23-Sep-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Remove bus_space_vaddr(), it does not exists in FreeBSD.
|
#
62f11850 |
|
17-Jun-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Nuke bus_space_mmap(), as it does not exist in FreeBSD.
|
#
89c9c53d |
|
16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
#
6fc729af |
|
14-May-2004 |
Olivier Houchard <cognet@FreeBSD.org> |
Import FreeBSD/arm kernel bits. It only supports sa1110 (on simics) right now, but xscale support should come soon. Some of the initial work has been provided by : Stephane Potvin <sepotvin at videotron.ca> Most of this comes from NetBSD.
|