History log of /src/sys/arch/evbarm/dev/plcomvar.h |
Revision | | Date | Author | Comments |
1.20 |
| 11-Apr-2023 |
riastradh | evbarm/plcom(4): Sync some recent changes from com(4).
- Nix quirky `integrate' macro. - Omit needless spltty in plcomstart. - Comment on lock order. - Update confusing comment about hangup delay. - Add include guards.
|
1.19 |
| 24-Jan-2023 |
mlelstv | Add support for FIFOs and hardware flow-control to plcom driver. Add a PLCOM_TYPE_GENERIC_UART variant to match SBSA requirements.
|
1.18 |
| 17-Oct-2021 |
jmcneill | plcom: speed up close with HUPCL set
Instead of incurring a 1s penalty on close of a plcom device with HUPCL set, defer the sleep until the next open, and only sleep if necessary.
|
1.17 |
| 12-Oct-2017 |
skrll | G/C unused struct
|
1.16 |
| 13-Apr-2015 |
riastradh | MD rnd.h cleanups. Please let me know if I broke anything!
|
1.15 |
| 21-Feb-2014 |
skrll | branches: 1.15.6; No need to include sys/simplelock.h here.
|
1.14 |
| 01-May-2013 |
mlelstv | branches: 1.14.4; Fix prototype
|
1.13 |
| 17-Aug-2012 |
skrll | branches: 1.13.2; Backout previous - it breaks rpi console for me and jak.
|
1.12 |
| 12-Aug-2012 |
reinoud | Improve support for transmit fifo support for plcom.
As Nick, Michiel and I concluded this driver needs a big overhaul since its logic is modelled on the standard com.c driver which doesn't have the plcom's treshold interrupt at al.
On Nicks request, the HW FIFO support hasn't been enabled by default on the RPi though.
Tested with the RPi.
|
1.11 |
| 25-Jul-2012 |
skrll | Add support for the PL011 to plcom. Pull across a bunch of fixes from com(4) while I'm here and do some other tidyup.
Tested on a RaspberryPi.
PL010 not tested.
|
1.10 |
| 20-May-2012 |
skrll | device_t/softc split struct device * -> device_t struct cfdata * -> cfdata_t
|
1.9 |
| 20-May-2012 |
skrll | Replace the simple_lock with a kmutex_t. Update the locking to match com(4) in the few places it didn't already.
|
1.8 |
| 02-Feb-2012 |
tls | branches: 1.8.2; Entropy-pool implementation move and cleanup.
1) Move core entropy-pool code and source/sink/sample management code to sys/kern from sys/dev.
2) Remove use of NRND as test for presence of entropy-pool code throughout source tree.
3) Remove use of RND_ENABLED in device drivers as microoptimization to avoid expensive operations on disabled entropy sources; make the rnd_add calls do this directly so all callers benefit.
4) Fix bug in recent rnd_add_data()/rnd_add_uint32() changes that might have lead to slight entropy overestimation for some sources.
5) Add new source types for environmental sensors, power sensors, VM system events, and skew between clocks, with a sample implementation for each.
ok releng to go in before the branch due to the difficulty of later pullup (widespread #ifdef removal and moved files). Tested with release builds on amd64 and evbarm and live testing on amd64.
|
1.7 |
| 19-Nov-2011 |
tls | branches: 1.7.2; First step of random number subsystem rework described in <20111022023242.BA26F14A158@mail.netbsd.org>. This change includes the following:
An initial cleanup and minor reorganization of the entropy pool code in sys/dev/rnd.c and sys/dev/rndpool.c. Several bugs are fixed. Some effort is made to accumulate entropy more quickly at boot time.
A generic interface, "rndsink", is added, for stream generators to request that they be re-keyed with good quality entropy from the pool as soon as it is available.
The arc4random()/arc4randbytes() implementation in libkern is adjusted to use the rndsink interface for rekeying, which helps address the problem of low-quality keys at boot time.
An implementation of the FIPS 140-2 statistical tests for random number generator quality is provided (libkern/rngtest.c). This is based on Greg Rose's implementation from Qualcomm.
A new random stream generator, nist_ctr_drbg, is provided. It is based on an implementation of the NIST SP800-90 CTR_DRBG by Henric Jungheim. This generator users AES in a modified counter mode to generate a backtracking-resistant random stream.
An abstraction layer, "cprng", is provided for in-kernel consumers of randomness. The arc4random/arc4randbytes API is deprecated for in-kernel use. It is replaced by "cprng_strong". The current cprng_fast implementation wraps the existing arc4random implementation. The current cprng_strong implementation wraps the new CTR_DRBG implementation. Both interfaces are rekeyed from the entropy pool automatically at intervals justifiable from best current cryptographic practice.
In some quick tests, cprng_fast() is about the same speed as the old arc4randbytes(), and cprng_strong() is about 20% faster than rnd_extract_data(). Performance is expected to improve.
The AES code in src/crypto/rijndael is no longer an optional kernel component, as it is required by cprng_strong, which is not an optional kernel component.
The entropy pool output is subjected to the rngtest tests at startup time; if it fails, the system will reboot. There is approximately a 3/10000 chance of a false positive from these tests. Entropy pool _input_ from hardware random numbers is subjected to the rngtest tests at attach time, as well as the FIPS continuous-output test, to detect bad or stuck hardware RNGs; if any are detected, they are detached, but the system continues to run.
A problem with rndctl(8) is fixed -- datastructures with pointers in arrays are no longer passed to userspace (this was not a security problem, but rather a major issue for compat32). A new kernel will require a new rndctl.
The sysctl kern.arandom() and kern.urandom() nodes are hooked up to the new generators, but the /dev/*random pseudodevices are not, yet.
Manual pages for the new kernel interfaces are forthcoming.
|
1.6 |
| 05-Jan-2008 |
ad | branches: 1.6.44; Make compile.
|
1.5 |
| 17-Oct-2007 |
garbled | branches: 1.5.2; 1.5.8; Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here.
TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted.
NOTES: pmppc was removed as an arch, and moved to a evbppc target.
|
1.4 |
| 14-Jul-2007 |
ad | branches: 1.4.6; 1.4.10; Generic soft interrupts are mandatory.
|
1.3 |
| 07-Mar-2006 |
he | branches: 1.3.20; 1.3.28; Remove another instance of the macro triplet SET/CLR/ISSET, now found in <sys/types.h>.
|
1.2 |
| 27-Dec-2005 |
chs | branches: 1.2.4; 1.2.6; 1.2.8; 1.2.10; remove the COM_MPLOCK option. always include the spinlock in the softc and always call the simple_* locking functions. the locking functions are compiled out if they are not needed anyway, so a separate option for this doesn't gain anything.
this also fixes the serial console on my alpha ES40 (which doesn't make much sense since the com driver should still be under the big lock on alpha, but whatever).
|
1.1 |
| 27-Oct-2001 |
rearnsha | branches: 1.1.2; 1.1.4; 1.1.36; Support for the PrimeCell PL010 UART. Similar in behaviour to the normal com driver, but with competely different bit and register assignments.
|
1.1.36.3 |
| 21-Jan-2008 |
yamt | sync with head
|
1.1.36.2 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.1.36.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.1.4.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.1.4.1 |
| 27-Oct-2001 |
thorpej | file plcomvar.h was added on branch kqueue on 2002-01-10 19:42:03 +0000
|
1.1.2.2 |
| 27-Oct-2001 |
rearnsha | Support for the PrimeCell PL010 UART. Similar in behaviour to the normal com driver, but with competely different bit and register assignments.
|
1.1.2.1 |
| 27-Oct-2001 |
rearnsha | file plcomvar.h was added on branch nathanw_sa on 2001-10-27 16:22:08 +0000
|
1.2.10.1 |
| 19-Apr-2006 |
elad | sync with head - hopefully this will work
|
1.2.8.1 |
| 13-Mar-2006 |
yamt | sync with head.
|
1.2.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.2.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.3.28.1 |
| 03-Oct-2007 |
garbled | Sync with HEAD
|
1.3.20.1 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.4.10.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.4.10.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.4.6.1 |
| 28-Feb-2008 |
rjs | Sync with HEAD.
|
1.5.8.1 |
| 08-Jan-2008 |
bouyer | Sync with HEAD
|
1.5.2.1 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.6.44.4 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.6.44.3 |
| 30-Oct-2012 |
yamt | sync with head
|
1.6.44.2 |
| 23-May-2012 |
yamt | sync with head.
|
1.6.44.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.7.2.2 |
| 02-Jun-2012 |
mrg | sync to latest -current.
|
1.7.2.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.8.2.1 |
| 09-Aug-2012 |
jdc | Pull up revisions: src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4 src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65 src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40 src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14 src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11 src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2 src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108 src/sys/arch/arm/arm32/cpu.c revision 1.79 src/sys/arch/arm/include/armreg.h revisions 1.49,1.54 src/sys/arch/arm/arm32/pmap.c revision 1.229 src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77 src/sys/arch/arm/include/cpu.h revision 1.64 src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3 src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1 src/sys/arch/arm/conf/files.arm revision 1.106 src/sys/arch/arm/include/cpufunc.h revision 1.57 src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24 src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8 src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4 src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69 src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1 src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1 src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1 src/sys/arch/evbarm/Makefile revision 1.9 src/sys/arch/evbarm/conf/RPI revision 1.1 src/sys/arch/evbarm/conf/files.rpi revision 1.1 src/sys/arch/evbarm/conf/mk.rpi revision 1.1 src/sys/arch/evbarm/conf/std.rpi revision 1.1 src/sys/arch/evbarm/rpi/genassym.cf revision 1.1 src/sys/arch/evbarm/rpi/rpi.h revision 1.1 src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1 src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2 src/etc/etc.evbarm/Makefile.inc revision 1.28 (requested by skrll in ticket #454).
don't mix #define<TAB> and #define<SPACE> in a file.
avoid warning with options PLCOM_DEBUG for INTEGRATOR.
Rename register values. No functional change - same code before and after.
Existing names are prefixed with PL01X_ where they're common between the PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're found only on the respective chips.
Replace the simple_lock with a kmutex_t. Update the locking to match com(4) in the few places it didn't already.
DOH. Replace a line that got accidently deleted in the last commit.
device_t/softc split struct device * -> device_t struct cfdata * -> cfdata_t
Add the 'Z' to the 1176 cpu product name.
ok matt@
Fix locking botch introduced in 1.36.
Fix a KASSERT. From/OK'ed by matt@
Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute
Discussed with matt@. "Looks good to me"
Add the documented ARM11[37]6 Auxiliary control register defines.
Add support for the ARM1176JZS
Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that).
Provide a method for attachments to specify capabilites.
Add support for the PL011 to plcom. Pull across a bunch of fixes from com(4) while I'm here and do some other tidyup.
Tested on a RaspberryPi.
PL010 not tested.
Initial commit of support for the RaspberryPI (www.raspberrypi.org)
This is enough for serial console via the gpio header pins and to get to multiuser.
A huge thank you to Matt Thomas for all his help.
Add RPI to KERNEL_SETS
Remove #if 0 code.
|
1.13.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.13.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.13.2.1 |
| 23-Jun-2013 |
tls | resync from head
|
1.14.4.1 |
| 18-May-2014 |
rmind | sync with head
|
1.15.6.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|