Hook up a getty to ttyv0 on FreeBSD/beri.

Change 210729 by rwatson@rwatson_svr_ctsrd_mipsbuild on 2012/05/06 13:44:17
Add Alter JTAG UART entries

Change 228122 by brooks@brooks_zenith on 2013/04/26 19:36:22
Add support for an optional /etc/rcorder.startup file
that contains a hardcoded ordering of scripts.  It is intended
to allow scripts to be run in their normal order after many
scripts have been pruned from an image.

This works around incomplete specification of dependencies which
results in things like initrandom running very late (after sshd)
in a minimal environment.

Change 213570 by brooks@brooks_ecr_current on 2012/06/27 22:16:46
Record the interrupt-parent of devices that have one in
struct device.  Use this to improve reporting of interrupt-parents
in two ways:

Add an indication of the interrupt-parent when printing the
child's resources:

altera_jtag_uart0: <Altera JTAG UART> mem 0x900000007f000000-0x900000007f00003f irq 0 (beripic0) on simplebus0

Extend struct u_device and the hw.bus.devices sysctl used
by libdevinfo to include the device parent.  This is done
in a fully foward and backward compatible manner.  The
kernel can now return a partial structure when an old
libdevinfo requests a u_device that is shorter than the
current version.  Each new field or set of fields in
u_device is indicated by a bit in the dv_fields entry.

Use this new functionality to add a -i option to devinfo
that shows the device tree by interrupt-parent rather than
bus.  Resources described as "Interrupt" are always shown
in -i mode

Change 227289 by brooks@brooks_zenith on 2013/04/01 20:08:35
Add BERI SMP support.

Works in the simulator, gets most of the way through boot on hardware.
Bottom half of the implementation to support ISP1761 on the DE4.

This allows us to detect the Host Controller and Root Hub but nothing
further, thus disable the FDT attachment for the moment and do not include
any USB related options into the kernel config.

We use a private bus_space template as we do need to byte swap the
register values, which is not the same as USB_EHCI_BIG_ENDIAN_DESC.
We force the chip to 32bit access only given we hardwire the A1 line to 0.

For the moment the OTG (DC, Peripheral) interrupt and special IO space
can be optionally  mapped should we decide we need it and want to have it
all in the one file.

The current assumption is that someone will need to implement the slightly
Philips specific PTD handling, but it could be that this is not the only
thing preventing us from discovering the Internal Hub (with TT support) and
powering up individual ports and detecting devices.

Change 227441 by bz@bz_zenith on 2013/04/05 15:10:56
Add in-progress port of boot2 and loader.
Add the notional tPad dts file and remove the now unused hints file.
Merge CHERI binutils changes.
Document SIGTHR and SIGLIBRT.
Merge kernel support for CHERI capabilities.
Merge Philip Withnall's CHERI Compositor driver.
Merge a few XXXRW comments.
Add a sysarch MIPS_GET_COUNT to access the cycle counter.
Ideally we should use rdhwr to read it directly by BERI/CHERI
doesn't have that yet.

Change 219898 by brooks@brooks_zenith on 2012/12/12 17:53:37

We can't currently copyout to sandboxes due to the use of the
wrong CP0 by the kernel so alter the code to return the counter
directly.  The caller needs to know that the return is actually
unsigned.  Fortunatly, this can't fail so not having an error
indicator is fine.mmit message for your changes. Lines starting

Change 219899 by brooks@brooks_zenith on 2012/12/12 21:16:50
Add FAT file system and MBR partion table support so we can read ordinary
SDCards.
Merge libcheri and cheritest.
Add a new magic_load_buffers() function to load compiled magic data
without filesystem access. This will make fork and exec capsicum
sandboxes slightly cheaper and make cheri sandboxes practical.
Align the stack to a 32-byte boundary on program initialisation in csu

This is necessary for CHERI, as capabilities must be 32-byte aligned.
This changelist splits crt1.c into two files: crt1_s.S and crt1_c.c.
The former contains __start: a thin assembly stub which re-aligns the
stack then calls _start1 using normal calling conventions.  _start1
is in crt1_c.c, and it performs the rest of the program initialisation,
handing off to main() in the end.

This is based on the stack re-alignment code in csu's i386 backend.

Change 227808 by prw35@pwithnall_zenith on 2013/04/17 13:21:22

When Philip revised the C run-time code to adjust stack alignment
for CHERI capabilities, he merged a larger refactoring of assembly
vs C code for __start().  It looks like a line adjusting the stack
location was omitted, causing statically linked binaries to
accidentally overwrite the argv[] pointer array when saving $gp, so
restore that stack-pointer modification.  This bug caused gcc to
segfault immediately on start.  I've not spelunked enough to
understand why dynamically linked binaries worked -- either they use
a different code path, or something else (less visibly harmful) is
overwritten in memory instead.

Change 553396 by rwatson@rwatson_cinnamon_macosx on 2013/09/02 12:03:58
jemalloc: Increase allocation alignment to 32 bytes

This is necessary because capability instructions require all
capabilities to be 32-byte aligned. To allow execution of capability
instructions on capabilities stored in allocated heap memory, all
heap allocations must therefore be (at least) 32-byte aligned.  This
is as specified in the malloc() documentation:
"The allocated space is suitably aligned...for storage of any type
 of object."

The changes to size_classes.h were generated using lg_qmax=5 in
the size_classes.sh from upstream jemalloc.

This hard-codes MIPS to use the new alignment for the time being
(by unconditionally defining CHERI in
lib/libc/stdlib/jemalloc/Makefile.inc). In future, this could be
made conditional on a WITH_CHERI make option.

Change 227510 by prw35@pwithnall_zenith on 2013/04/08 17:48:40
Force 32-byte stack alignment in GCC on MIPS

This is necessary for CHERI, where capabilities must be 32-byte aligned,
so the stack must always be 32-byte aligned to allow capabilities to be
stored there.

Change 227731 by prw35@pwithnall_zenith on 2013/04/15 14:20:28