History log of /freebsd-10-stable/sys/mips/conf/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
276716 05-Jan-2015 hiren

MFC r273876

Use search method instead of fixed offsets for finding rootfs. This unbreaks
recent images for picostation by allowing to find rootfs at correct location.

270061 16-Aug-2014 bz

MFC r264601,264646,265766,267918,267919,267920:

Merge if_nf10bmac(4), a driver to support an NetFPGA-10G Embedded
CPU Ethernet Core.

The current version operates on a simple PIO based interface connected
to a NetFPGA-10G port.

To avoid confusion: this driver operates on a CPU running on the FPGA,
e.g. BERI/mips, and is not suited for the PCI host interface.

Adjust the register layout to allow for 64bit registers in the
future for nf10bmac(4). Also, add support for and enable RX interrupts.

Allow switching between 32bit and 64bit bus width data access at compile
time by setting NF10BMAC_64BIT and using a REGWTYPE #define to set correct
variable and return value widths.

Adjust comments to indicate the 32 or 64bit register widths.

Relnotes: yes
Sponsored by: DARPA/AFRL

270060 16-Aug-2014 bz

MFC r263632:

For BERI on NetFPGA assume HZ=100 by default.

Remove the uart support in favour of a "jtag-uart" interface imitation
providing a much simpler interface, directly exported to the host,
allowing the toolchain to be shared with BERI on Altera. [1]

Submitted by: Jong Hun HAN (jong.han cl.cam.ac.uk) [1]
Sponsored by: DARPA/AFRL

266331 17-May-2014 ian

MFC 263301

In kernel config files, it is supposed to be 'options<space><tab>' not
'options<tab><tab>', per long standing (but recently not so strictly
enforced) convention.


/freebsd-10-stable/sys/amd64/conf/NOTES
/freebsd-10-stable/sys/arm/conf/AC100
/freebsd-10-stable/sys/arm/conf/ARMADAXP
/freebsd-10-stable/sys/arm/conf/ARNDALE
/freebsd-10-stable/sys/arm/conf/ATMEL
/freebsd-10-stable/sys/arm/conf/AVILA
/freebsd-10-stable/sys/arm/conf/BEAGLEBONE
/freebsd-10-stable/sys/arm/conf/BWCT
/freebsd-10-stable/sys/arm/conf/CAMBRIA
/freebsd-10-stable/sys/arm/conf/CNS11XXNAS
/freebsd-10-stable/sys/arm/conf/COLIBRI-VF50
/freebsd-10-stable/sys/arm/conf/COSMIC
/freebsd-10-stable/sys/arm/conf/CRB
/freebsd-10-stable/sys/arm/conf/CUBIEBOARD
/freebsd-10-stable/sys/arm/conf/CUBIEBOARD2
/freebsd-10-stable/sys/arm/conf/DB-78XXX
/freebsd-10-stable/sys/arm/conf/DB-88F5XXX
/freebsd-10-stable/sys/arm/conf/DB-88F6XXX
/freebsd-10-stable/sys/arm/conf/DIGI-CCWMX53
/freebsd-10-stable/sys/arm/conf/DOCKSTAR
/freebsd-10-stable/sys/arm/conf/DREAMPLUG-1001
/freebsd-10-stable/sys/arm/conf/EA3250
/freebsd-10-stable/sys/arm/conf/EB9200
/freebsd-10-stable/sys/arm/conf/EFIKA_MX
/freebsd-10-stable/sys/arm/conf/EP80219
/freebsd-10-stable/sys/arm/conf/ETHERNUT5
/freebsd-10-stable/sys/arm/conf/GUMSTIX
/freebsd-10-stable/sys/arm/conf/HL200
/freebsd-10-stable/sys/arm/conf/HL201
/freebsd-10-stable/sys/arm/conf/IMX53-QSB
/freebsd-10-stable/sys/arm/conf/IMX6
/freebsd-10-stable/sys/arm/conf/IQ31244
/freebsd-10-stable/sys/arm/conf/KB920X
/freebsd-10-stable/sys/arm/conf/LN2410SBC
/freebsd-10-stable/sys/arm/conf/NSLU
/freebsd-10-stable/sys/arm/conf/PANDABOARD
/freebsd-10-stable/sys/arm/conf/QILA9G20
/freebsd-10-stable/sys/arm/conf/QUARTZ
/freebsd-10-stable/sys/arm/conf/RADXA
/freebsd-10-stable/sys/arm/conf/RPI-B
/freebsd-10-stable/sys/arm/conf/SAM9260EK
/freebsd-10-stable/sys/arm/conf/SAM9G20EK
/freebsd-10-stable/sys/arm/conf/SAM9X25EK
/freebsd-10-stable/sys/arm/conf/SHEEVAPLUG
/freebsd-10-stable/sys/arm/conf/SN9G45
/freebsd-10-stable/sys/arm/conf/TS7800
/freebsd-10-stable/sys/arm/conf/VERSATILEPB
/freebsd-10-stable/sys/arm/conf/VYBRID.common
/freebsd-10-stable/sys/arm/conf/WANDBOARD.common
/freebsd-10-stable/sys/arm/conf/ZEDBOARD
/freebsd-10-stable/sys/i386/conf/NOTES
/freebsd-10-stable/sys/i386/conf/XEN
/freebsd-10-stable/sys/ia64/conf/GENERIC
ALCHEMY
AP121
AP91
AP93
AP94
AP96
AR71XX_BASE
AR724X_BASE
AR91XX_BASE
AR933X_BASE
AR934X_BASE
CARAMBOLA2
ENH200
PB47
PB92
PICOSTATION_M2HP
ROUTERSTATION
ROUTERSTATION_MFS
RSPRO
RSPRO_MFS
RSPRO_STANDALONE
RT305X
SENTRY5
SWARM64_SMP
SWARM_SMP
TP-WN1043ND
WZR-300HP
XLRN32
std.SWARM
std.XLP
/freebsd-10-stable/sys/powerpc/conf/GENERIC
/freebsd-10-stable/sys/powerpc/conf/GENERIC64
/freebsd-10-stable/sys/powerpc/conf/MPC85XX
/freebsd-10-stable/sys/powerpc/conf/NOTES
265388 05-May-2014 ken

MFC the mpr(4) driver for LSI's 12Gb SAS cards.

This includes r265236, r265237, r265241 and r265261:

------------------------------------------------------------------------
r265236 | ken | 2014-05-02 14:25:09 -0600 (Fri, 02 May 2014) | 51 lines

Bring in the mpr(4) driver for LSI's MPT3 12Gb SAS controllers.

This is derived from the mps(4) driver, but it supports only the 12Gb
IT and IR hardware including the SAS 3004, SAS 3008 and SAS 3108.

Some notes about this driver:
o The 12Gb hardware can do "FastPath" I/O, and that capability is included in
this driver.

o WarpDrive functionality has been removed, since it isn't supported in
the 12Gb driver interface.

o The Scatter/Gather list handling code is significantly different between
the 6Gb and 12Gb hardware. The 12Gb boards support IEEE Scatter/Gather
lists.

Thanks to LSI for developing and testing this driver for FreeBSD.

share/man/man4/mpr.4:
mpr(4) man page.

sys/dev/mpr/*:
mpr(4) driver files.

sys/modules/Makefile,
sys/modules/mpr/Makefile:
Add a module Makefile for the mpr(4) driver.

sys/conf/files:
Add the mpr(4) driver.

sys/amd64/conf/GENERIC,
sys/i386/conf/GENERIC,
sys/mips/conf/OCTEON1,
sys/sparc64/conf/GENERIC:
Add the mpr(4) driver to all config files that currently
have the mps(4) driver.

sys/ia64/conf/GENERIC:
Add the mps(4) and mpr(4) drivers to the ia64 GENERIC
config file.

sys/i386/conf/XEN:
Exclude the mpr module from building here.

Submitted by: Steve McConnell <Stephen.McConnell@lsi.com>
Tested by: Chris Reeves <chrisr@spectralogic.com>
Sponsored by: LSI, Spectra Logic
Relnotes: LSI 12Gb SAS driver mpr(4) added

------------------------------------------------------------------------
------------------------------------------------------------------------
r265237 | ken | 2014-05-02 14:36:20 -0600 (Fri, 02 May 2014) | 8 lines

Add the mpr(4) man page to the man4 Makefile.

This should have been included in r265236.

Submitted by: Steve McConnell <Stephen.McConnell@lsi.com>
MFC after: 3 days
Sponsored by: LSI, Spectra Logic

------------------------------------------------------------------------
------------------------------------------------------------------------
r265241 | brueffer | 2014-05-02 15:14:28 -0600 (Fri, 02 May 2014) | 2 lines

Use our standard SYNOPSIS wording; perform some cleanup while here.

------------------------------------------------------------------------
------------------------------------------------------------------------
r265261 | brueffer | 2014-05-03 05:15:28 -0600 (Sat, 03 May 2014) | 2 lines

Add a missing colon.

------------------------------------------------------------------------

Submitted by: Steve McConnell <Stephen.McConnell@lsi.com>
Tested by: Chris Reeves <chrisr@spectralogic.com>
Sponsored by: LSI, Spectra Logic
Relnotes: LSI 12Gb SAS driver mpr(4) added

259899 26-Dec-2013 bz

MFC r259267:

Add an FDT DTS and MDROOT kernel configuration for BERI on NetFPGA.

At this point we only support one CPU, the PIC, and a UART console.

Sponsored by: DARPA, AFRL

257527 01-Nov-2013 brooks

MFC r256912, r256931, r256977

Sync BERI kernel configs with P4:

Switch the majority of device configuration to FDT from hints.

Add BERI_*_BASE configs to reduce duplication in the MDROOT and SDROOT
kernels.

Add NFS and GSSAPI support by default.

Enable ATSE_CFI_HACK in BERI configs, stable MAC addresses are useful.

BERI_SIM.hint is no longer used, remove it.

Sponsored by: DARPA/AFRL
Approved by: re (delphij)

257456 31-Oct-2013 brooks

MFC r256865

Remove the isf(4) driver. It was created by accident and is subset of
the cfi(4) driver. It remained in the tree longer than would be ideal
due to the time required to bring cfi(4) to feature parity.

Sponsored by: DARPA/AFRL
Approved by: re (gjb)

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


256173 09-Oct-2013 adrian

Mark AR934x based boards to be mips74k.

Reviewed by: imp@
Approved by: re@ (gjb)


255989 02-Oct-2013 sbruno

set ROOTDEVNAME to ada0 with no paritions. This makes it much more functional
with makefs and other tools for testing and ports building

Approved by: re (gjb)
MFC after: 2 weeks


255659 17-Sep-2013 sbruno

Bring in configuration for Buffalo Airstation WZR-300HP, Atheros based
wireless home router.

Notable things:
2x 16 MB flash devices
Atheros Wireless
Atheros Switching

Many thanks to adrian@ for his guidance on this and keeping the drivers in
the base system up to date

Approved by: re (delphij)


255656 17-Sep-2013 hiren

We have grown a bit too big lately. Shrinking the kernel for TP-Link
TL-WR1043ND.

Submitted by: loos (initial version)
Reviewed by: adrian
Approved by: sbruno (mentor, implicit)
Approved by: re (delphij)
Tested by: hiren


255212 04-Sep-2013 gonzo

Add 32-bit support for Gxemul's oldtestmips machine emulation

Original work by: kan@


255195 03-Sep-2013 sbruno

Add options GEOM_PART_GPT and options MSDOSFS to the DIR-825

Reviewed by: adrian@


255089 31-Aug-2013 gonzo

- Set proper KERNLOADADDR
- Add bpf(4) required by dhclient


255086 30-Aug-2013 hiren

Add device PicoStation M2HP support.
This is a nice small outdoor/indoor AP from Ubiquity Networks.

The device has:
AR7241 CPU SoC
AR9287 Wifi
8MB flash
32MB RAM

wifi has been tested to work along with leds.

Submitted by: loos
Approved by: sbruno (mentor, implicit)
Tested by: hiren


255084 30-Aug-2013 gonzo

Add bpf(4) to config file to get dhclient working


254989 28-Aug-2013 loos

Add the default hints to make the GPIO pins, rf led and reset switch work
out of the box on RouterStation.

PR: 177832
Submitted by: Petko Bordjukov (bordjukov@gmail.com)
Approved by: adrian (mentor)


254690 23-Aug-2013 sbruno

Some vendors store the mac addresses of arge(4) as a literal sring in the
form xx:xx:xx:xx:xx:xx complete with ":" characters taking of 18 bytes
instead of 6 integers. Expose a "readascii" tuneable to handle this case.

Remove restriction on eepromac assignement for the first dev instance only.

Add eepromac address for DIR-825 to hints file.

Add readascii hint for DIR-825

Reviewed by: adrian@


253845 31-Jul-2013 obrien

Back out r253779 & r253786.


253844 31-Jul-2013 sbruno

Adjust magic numbers to allow attachment of ath(4) modules.


253842 31-Jul-2013 sbruno

device if_bridge gets me a bridge device


253779 29-Jul-2013 obrien

Decouple yarrow from random(4) device.

* Make Yarrow an optional kernel component -- enabled by "YARROW_RNG" option.
The files sha2.c, hash.c, randomdev_soft.c and yarrow.c comprise yarrow.

* random(4) device doesn't really depend on rijndael-*. Yarrow, however, does.

* Add random_adaptors.[ch] which is basically a store of random_adaptor's.
random_adaptor is basically an adapter that plugs in to random(4).
random_adaptor can only be plugged in to random(4) very early in bootup.
Unplugging random_adaptor from random(4) is not supported, and is probably a
bad idea anyway, due to potential loss of entropy pools.
We currently have 3 random_adaptors:
+ yarrow
+ rdrand (ivy.c)
+ nehemeiah

* Remove platform dependent logic from probe.c, and move it into
corresponding registration routines of each random_adaptor provider.
probe.c doesn't do anything other than picking a specific random_adaptor
from a list of registered ones.

* If the kernel doesn't have any random_adaptor adapters present then the
creation of /dev/random is postponed until next random_adaptor is kldload'ed.

* Fix randomdev_soft.c to refer to its own random_adaptor, instead of a
system wide one.

Submitted by: arthurmesh@gmail.com, obrien
Obtained from: Juniper Networks
Reviewed by: obrien


253512 21-Jul-2013 adrian

Add some initial board support for the AR934x and the Qualcomm Atheros
DB120 development board.

The AR934x SoCs are a MIPS74k based system with increased RAM addressing
space, some scratch-pad RAM, an improved gige switch PHY and 2x2 or 3x3
on-board dual-band wifi.

This support isn't complete by any stretch; it's just enough to bring
the board up for others to tinker with. Notably, the MIPS74k support
is broken. However it boots enough to echo some basic probe/attach
messages, before dying somewhere in the TLB code.

Thankyou to Qualcomm Atheros for their continued support of me doing
open source work with their hardware.

Tested:

* AR9344, mips74k


252691 04-Jul-2013 adrian

Oops - fix bad hint numbering for the ART section.


252690 04-Jul-2013 adrian

Add in a configuration file and hints for the Engenius ENH-200.

This is an AR7240 based device with an AR9285 on-board.

I've tested the initial boot and wifi support; however at the moment
the ethernet switch driver doesn't seem to be picking up carrier on the
active ethernet port. Basic flood pinging works however, so I think
we're on the right track.

Thank you to Adrian Woodley <adrian@diskworld.com.au> for purchasing me
one of these devices to bootstrap FreeBSD-HEAD on.


252689 04-Jul-2013 adrian

Add the missing link back to the EEPROM firmware name.


252243 26-Jun-2013 adrian

Add the EEPROM start offset and size in so ath_ahb will use the
supplied EEPROM data.

This needs to die in a fire and replaced with the firmware API
to store the calibration data early ..


252242 26-Jun-2013 adrian

Add in the vendor / device id so the ath_ahb glue works.


252241 26-Jun-2013 adrian

Add the wireless support to the AR933x base kernel, as the support
actually works now.


251551 08-Jun-2013 adrian

Add 8devices CARAMBOLA2 support.

This is based on the AR933x (Hornet) SoC from Qualcomm Atheros.

It's a much nicer board to do development on - 64MB RAM, 16MB flash.
The development board breaks out the GPIO pins, ethernet, serial (via
a USB<->RS232 chip), USB host and of course a small wifi antenna.

Everything but the wifi works thus far.


250544 12-May-2013 peter

Tidy up some CVS workarounds.


250429 10-May-2013 imp

Add commented out OCTEON_VENDOR_GEFES


250419 09-May-2013 adrian

Add some missing arge MDIO hints.

Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>


250385 08-May-2013 adrian

Modify the routerstation config to use ukswitch for now.

Until an ADM6996 driver shows up, this allows for the two switch
ports to be used.

Submitted by: Luiz Otavio O Souza <loos.br@gmail.com>
Reviewed by: ray


249127 05-Apr-2013 adrian

Add the basic GPIO pin mapping to the hints file.

Tested:

* AP121 board, tested USB/jumpstart LEDs


249124 05-Apr-2013 adrian

Add AP121 ethernet / switch PHY support.

* arge0 is MII
* arge1 is GMII
* the MDIO bus is on arge1, not arge0
* the default switch config is to have ports 0-3 as the switch group,
with port 4 being an external PHY dedicated to arge0 (ie, 'cpu' port.)

Whilst I'm here, remove unused bits and pieces from the config.

Tested:

* AP121, ping on both arge0 and arge1
* Tested switch port detection using etherswitchcfg


249121 05-Apr-2013 adrian

Now that interrupt driven uart IO is working, flip this back on.


249117 05-Apr-2013 adrian

Use geom_uncompress here; we need this to fit in a 4MB flash part.


249093 04-Apr-2013 adrian

Implement AR933x polled IO uart bus code.

This implements the bus transmit/receive/sigchg/ipend methods with
a polled interrupt handler (ipend) rather than enabling hardware
interrupts.

The FIFO is faked at 16 bytes deep for now, just so the transmit
IO side doesn't suck too bad (the callout frequency limits how quickly
IO is flushed to the sender, rather than scheduling the callout more
frequently whilst there's active TX. But I digress.)

Tested:

* Atheros AP121 (AR9330) reference board, booting to multi-user interactive
mode.


249083 04-Apr-2013 mav

Remove all legacy ATA code parts, not used since options ATA_CAM enabled in
most kernels before FreeBSD 9.0. Remove such modules and respective kernel
options: atadisk, ataraid, atapicd, atapifd, atapist, atapicam. Remove the
atacontrol utility and some man pages. Remove useless now options ATA_CAM.

No objections: current@, stable@
MFC after: never


248912 29-Mar-2013 adrian

Disable this; it's a local option that I haven't yet committed to -HEAD.


248853 28-Mar-2013 adrian

Initial (unfinished!) AR933x support.


244984 02-Jan-2013 jmallett

Add basic support for the Ubiquiti EdgeRouter Lite.

Note that USB does not currently work, and the flash is connected via USB, so
local storage is not working.


243469 24-Nov-2012 jmallett

o) Add support for specifying a model of Octeon to target at compile-time,
reducing the number of runtime checks done by the SDK code.
o) Group board/CPU information at early startup by subject matter, so that e.g.
CPU information is adjacent to CPU information and board information is
adjacent to board information.


243180 17-Nov-2012 adrian

Ensure hwpmc support is correctly included.


243177 17-Nov-2012 adrian

Migrate the AR71xx UART (an 8250 derivative) to hide behind uart_ar71xx.

The AR9330/AR9331 UART is a totally different thing, so having it included
with 'uart' is not going to work out.


242953 13-Nov-2012 jmallett

Add some useful options to consider.


242724 07-Nov-2012 adrian

Update AP96 to directly attach an arswitch.


242718 07-Nov-2012 ray

Hint miibus to attach arswitch on AP91, AP93 and RSPRO boards.

Submitted by: Luiz Otavio O Souza
Approved by: adrian (menthor)


242104 26-Oct-2012 jmallett

Add support for Radisys as a vendor of Octeon hardware. Add some preliminary
support for what their boot loader refers to as the "RSYS4GBE", of which there
are two instances ("Data Processing Blocks") on the Radisys ATCA-7220.


241970 23-Oct-2012 thompsa

Fix spelling of NFSCL option.


241892 22-Oct-2012 andre

Remove ZERO_COPY_SOCKETS from kernel configuration as the current
COW based approach is not safe and should not be used in production.


240139 05-Sep-2012 brooks

Don't hardcode paths to MFS_IMAGE in the kernel config. When they don't
exist they don't cause "make tinderbox" to fail.

Reported by: jhb


239911 30-Aug-2012 adrian

The DIR-825 cal data is in an odd spot. I don't know why it's here.

(This works on my board because I wrote new caldata into this spot;
but this obviously won't work for stock DIR-825 units out there.)


239888 29-Aug-2012 adrian

More attempts at space saving.

* add cam as a module to build - but build in scbus/da for now, as
"cam" as a module includes all cam devices. Hardly space saving.
* Don't build FFS snapshot support.


239799 29-Aug-2012 adrian

Bring over a configuration for the Atheros AP91 reference board.

This has an AR7240 SoC with an AR9285 wireless NIC on-board.

Since the kernel partition on the 4MiB flash is 960KiB, quite a bit
is disabled to try and squeeze the build into that. Even lzma'ed,
it's still quite large.


239795 28-Aug-2012 adrian

* Don't compile in sysctl descriptions
* random is fine as a module


239768 28-Aug-2012 adrian

oops, make cfg read-write.


239765 28-Aug-2012 adrian

This is an initial board configuration for the D-Link DIR-825 dual-band
802.11n router.

The flash layout defaults to a 1 MiB section for the kernel so I'm trying
very hard to squeeze a minimialistic (LZMA compressde) kernel image into
that.

I've verified that it boots through to single user mode fine.

Issues:

* USB doesn't yet work as a module - I need to add something else to the
USB AR71xx build before that will work.
* There's no switch PHY support - but for now it quite happily behaves
as a useful dumb switch out of the box. Phew.
* Since a previous flash attempt trashed my radio configuration block,
I haven't yet verified whether the wireless works correctly.
I'll test that out shortly (read: once I re-calibrate the board somehow.)

Thanks to ray@ and the zrouter project for doing some of the initial
hard work in figuring out how to bring this board up.


239759 27-Aug-2012 adrian

Convert AP93 to use the new AR724X_BASE configuration file.


239758 27-Aug-2012 adrian

Slim down the default AR724X build.

The AR724X boards tend to come with minimal RAM/flash.


239757 27-Aug-2012 adrian

Convert to using ulzma.


239713 26-Aug-2012 rwatson

Expose DE4 buttons and switches via a de4bsw device, implemented using
altera_avgen(4).

Fix white space nit that must have arisen during the merge from Perforce.

Submitted by: brooks
Sponsored by: DARPA, AFRL


239709 26-Aug-2012 rwatson

Add terasic_de4led, a led(4) driver for the on-board 8-element LED on the
Terasic DE-4 board. Allow LED configuration to be set using loader
tunables, not just from userspace, and preconfigure LED 8 as a kernel
heartbeat. For now, this is a Nexus-attached, BERI-only driver, but it
could be used with other hard and soft cores on Altera FPGAs as well, in
principle.

Sponsored by: DARPA, AFRL


239705 26-Aug-2012 adrian

Create a skeleton AR724x SoC board configuration for use by AR724x devices.


239691 25-Aug-2012 rwatson

Add terasic_mtl(4), a device driver for the Terasic Multi-Touch LCD,
used with Terasic's DE-4 and other similar FPGA boards. This display
is 800x480 and includes a capacitive touch screen, multi-touch
gesture recognition, etc. This device driver depends on a Cambridge-
provided IP core that allows the MTL device to be hooked up to the
Altera Avalon SoC bus, and also provides a VGA-like text frame buffer.

Although it is compiled as a single device driver, it actually
implements a number of different device nodes exporting various
aspects of this multi-function device to userspace:

- Simple memory-mapped driver for the MTL 24-bit pixel frame buffer.
- Simple memory-mapped driver for the MTL control register set.
- Simple memory-mapped driver for the MTL text frame buffer.
- syscons attachment for the MTL text frame buffer.

This driver attaches directly to Nexus as is common for SoC device
drivers, and for the time being is considered BERI-specific, although
in principle it might be used with other hard and soft cores on
Altera FPGAs.

Control registers, including touchscreen input, are simply memory
mapped; in the future it would be desirable to hook up a more
conventional device node that can stream events, support kqueue(2)/
poll(2)/select(2), etc.

This is the first use of syscons on MIPS, as far as I can tell, and
there are some loose ends, such as an inability to use the hardware
cursor. More fundamentally, it appears that syscons(4) assumes that
either a host is PC-like (i386, amd64) *or* it must be using a
graphical frame buffer. While the MTL supports a graphical frame
buffer, using the text frame buffer is preferable for console use.
Fixing this issue in syscons(4) requires non-trivial changes, as the
text frame buffer support assumes that direct memory access can be
done to the text frame buffer without using bus accessor methods,
which is not the case on MIPS. As a workaround for this, we instead
double-buffer and pretend to be a graphical frame buffer exposing
text accessor methods, leading to some quirks in syscons behaviour.

Sponsored by: DARPA, AFRL


239685 25-Aug-2012 brooks

Add isf(4), a driver for the Intel StrataFlash family of NOR flash parts.

The driver attempts to support all documented parts, but has only been
tested with the 512Mbit part on the Terasic DE4 FPGA board. It should be
trivial to adapt the driver's attach routine to other embedded boards
using with any parts in the family.

Also import isfctl(8) which can be used to erase sections of the flash.

Sponsored by: DARPA, AFRL


239683 25-Aug-2012 brooks

Don't include syscons in the config just yet. We haven't imported the
touchscreen driver yet.


239679 25-Aug-2012 rwatson

Add reference kernel configurations for FreeBSD/beri in simulation, on the
Terasic DE-4, and Terasic tPad Altera-based boards.

Sponsored by: DARPA, AFRL


239625 23-Aug-2012 ray

Remove duplicated GEOM_PART_* options.

PR: 170931
Approved by: adrian


235898 24-May-2012 mav

MFprojects/zfsd:
Generalize and unify ses device description.


235661 19-May-2012 adrian

Enable the AR8316 switch on the routerstation pro board.

The configuration is:

* RGMII, both ports
* arge0 - connected to PHY4 as a dedicated port (CPU port)
* arge1 - connected to the switch ports

I've verified this on my routerstation pro board.


235351 12-May-2012 adrian

Remove duplicate config bits.

Submitted by: juli


235346 12-May-2012 adrian

Revert this - I disabled it whilst hwpmc is/was broken.


235345 12-May-2012 adrian

Flip on WN1043ND switch PHY support.

* Add the i2c bitbang bus;
* Add the etherswitch/rtl8366rb drivers;
* "fix" the USB GPIO configuration so USB actually works.

Submitted by: Stefan Bethke <stb@lassitu.de>


235324 12-May-2012 adrian

Now that there's a hint for it, add a "I'm an AR7240 switch!" hint.


235320 12-May-2012 adrian

Add in the AP93 configuration file.

The AP93 has:

* AR7240 - mips24k processor with integrated 10/100 switch and
various other peripherals;
* AR9283 - 2x2 2.4GHz 802.11n (with calibration data in flash);
* 64MB RAM;
* 16MB SPI flash.

The switch code detects as an AR8216 at the present moment, which isn't
_entirely_ strictly true. However, the MII/MDIO routing in AP93.hints
works - the arge0 MAC connects to PHY4 in the switch, but via the
switch internal MDIO bus. The switch connects to arge0's MDIO bus,
but only to export the switch registers.

Thanks to stb and ray for the switch work, and ray for helping determine
what the correct switch hints should be for this thing.


235290 11-May-2012 adrian

Add switch support to AP96.


235118 07-May-2012 jmallett

Add basic SMP support for GXemul. Ideally we would have some way to override
some of the IPI mechanisms used by the common MIPS SMP code so we could use
the multicast IPI facilities, on GXemul as well as on several real hardware
platforms, and the ability to have multiple hard IPI types.


235117 07-May-2012 jmallett

Add a trivial driver for the GXemul Ethernet device. Probably quite buggy and
certainly non-optimal, but enough for basic networking use.

Requested by: rwatson


235073 06-May-2012 jmallett

Add a driver for the GXemul test machine's disk controller and disk devices.
Prefer it to using an md device in the GXEMUL kernel configuration.

Requested by: rwatson, theraven


234945 03-May-2012 adrian

In the new world order, multiphy is now when the phymask is 0x0.

This makes the TP-WN1043ND (ar913x based) work again.


234926 02-May-2012 rwatson

mips/mips64eb became mips/mips64 while I wasn't looking (whoops), so update
GXEMUL kernel config for the new world order.

Spotted by: bz
MFC after: 3 weeks


234920 02-May-2012 rwatson

Merge a rudimentary gxemul "oldtestmips" port. This consists almost
entirely of one machdep file lifted from the MALTA port, as well as
a low-level console and tty driver for the gxemul debugging console
device (the emulators stdio). As with many low-level embedded and
hypervisor console devices, it is polled only, so we drive TTY I/O
from a callout; we are perhaps a bit too aware of the MIPS physical
maps in order to attach the console before newbus comes to life.

The sample kernel configuration depends on an MD-based root file
system, which is not provided. However, any 64-bit, big-endian
userspace image (such as one generated for MALTA) should work.

This will hopefully be supplemented by additional device drivers for
gxemul-specific hardware simulations from Juli Mallett. We have
found oldtestmips quite useful for testing and improving aspects of
the MIPS port, so it's worth supporting better in FreeBSD.

Requested by: theraven, jmallett
Sponsored by: DARPA, AFRL
MFC after: 3 weeks


234918 02-May-2012 adrian

Disable the pll_1000 hint for now, the upcoming work enables it and it
breaks without the switch PHY code.


234911 02-May-2012 adrian

* Force the ethernet MII configuration to be RGMII
* Populate the "pll_1000" field, which will soon be used to override the
PLL configuration from the default value.

Obtained from: Linux OpenWRT


234863 01-May-2012 adrian

Convert AP96 to use the mdioproxy and ARGE_MDIO option.

arge1 still works (it's the standalone PHY) but arge0 and the other switch
ports don't work. They're enumerated though, demonstrating that the
mdiobus abstraction is correctly working.


234327 15-Apr-2012 adrian

Add in the AP96 phy configuration from openwrt.

* arge0 doesn't (yet) work via the switch PHY ports; I'm not sure why.
* arge1 maps to the WAN port. That works.

TODO:

* The PLL register needs a different (non-default) value for Gigabit
Ethernet. The board setup code needs to be extended a bit to allow
for non-default pll_1000 values - right now, those values come out
of hard-coded values in the per-chip set_pll_ge() routines.

Obtained from: Linux / OpenWRT


234235 13-Apr-2012 adrian

Flesh out the rest of the AP96 board/config.


234232 13-Apr-2012 adrian

* Enable ATH_EEPROM_FIRMWARE, now that it's a compile time option
* Tidy up things a bit.


234220 13-Apr-2012 adrian

These are uboot, so mark them as such or booting from flash will not work.


234219 13-Apr-2012 adrian

Introduce configuration files for AP94 and AP96.

This uses the new firmware(9) method for squirreling away the EEPROM
contents from SPI flash so ath(4) can get to them later.

It won't work out of the box just yet - you have to add this to
if_ath_pci.c:

#define ATH_EEPROM_FIRMWARE

.. until I've added it as a configuration option and updated things.


233644 29-Mar-2012 jmallett

Assume a big-endian default on MIPS and drop the "eb" suffix from MACHINE_ARCH.
This makes our naming scheme more closely match other systems and the
expectations of much third-party software. MIPS builds which are little-endian
should require and exhibit no changes. Big-endian TARGET_ARCHes must be
changed:
From: To:
mipseb mips
mipsn32eb mipsn32
mips64eb mips64

An entry has been added to UPDATING and some foot-shooting protection (complete
with warnings which should become errors in the near future) to the top-level
base system Makefile.


233564 27-Mar-2012 jchandra

Resource allocation for XLP SoC SDHCI slots

The on-chip SD slots do not have PCI BARs corresponding to them, so
this has to be handled in the custom SoC memory allocation.

Provide memory resource for rids corresponding to BAR 0 and 1 in
the custom allocation code.


233556 27-Mar-2012 jchandra

NOR flash driver for XLP.

The NOR interface on the SoC appears on the top level PCI bus. Add
a simple driver for this.


233545 27-Mar-2012 jchandra

xlpge : driver for XLP network accelerator

Features:
- network driver for the four 10G interfaces and two management ports
on XLP 8xx.
- Support 4xx and 3xx variants of the processor.
- Source code and firmware building for the 16 mips32r2 micro-code engines
in the Network Accelerator.
- Basic initialization code for Packet ordering Engine.

Submitted by: Prabhath Raman (prabhath at netlogicmicro com)
[refactored and fixed up for style by jchandra]


233541 27-Mar-2012 jchandra

Opencrypto driver for XLP Security and RSA/ECC blocks

Support for the Security and RSA blocks on XLP SoC. Even though
the XLP supports many more algorithms, only the ones supported
in OCF have been added.

Submitted by: Venkatesh J. V. (venkatesh at netlogicmicro com)


233540 27-Mar-2012 jchandra

I2C support for XLP, add hints for I2C devices and update PCI resource
allocation code.


233271 21-Mar-2012 ed

Remove pty(4) from our kernel configurations.

As of FreeBSD 8, this driver should not be used. Applications that use
posix_openpt(2) and openpty(3) use the pts(4) that is built into the
kernel unconditionally. If it turns out high profile depend on the
pty(4) module anyway, I'd rather get those fixed. So please report any
issues to me.

The pty(4) module is still available as a kernel module of course, so a
simple `kldload pty' can be used to run old-style pseudo-terminals.


232913 13-Mar-2012 jmallett

Don't build kernel.tramp on Octeon. Probably building it should be opt-in
not opt-out, but I don't know enough about which ports need it to get the
defaults right.


232897 12-Mar-2012 jmallett

Remove TARGET_BIG_ENDIAN which should have been removed previously.


232896 12-Mar-2012 jmallett

o) Use ABI, not ISA_* options, to determine whether to compile bits if libkern
required for the ABI the kernel is being built for.
XXX This is implemented in a kind-of nasty way that involves including source
files, but it's still an improvement.
o) Retire ISA_* options since they're unused and were always wrong.


232887 12-Mar-2012 adrian

Configuration changes/updates!

* enable ALQ and net80211/ath ALQ logging by default, to make it possible
to get debug register traces.
* Update some comments
* Enable HWPMC for testing.


232845 12-Mar-2012 adrian

Begin modifying the PB92 config file to actually generate a flashable,
bootable image.

The kernel has to fit inside an 896KiB area in a 4MB SPI flash.
So a bunch of stuff can't be included (and more is to come), including
(unfortunately) IPv6.

TODO:

* GPIO modules need to be created
* Shrink the image a bit more by removing some of the CAM layer debugging
strings.


232840 11-Mar-2012 jmallett

We've supported 64-bit PTEs for some time.


232720 09-Mar-2012 jmallett

"Did you still want the not yet? I think we just arrived at yet."

Submitted by: thompsa


232718 09-Mar-2012 jmallett

Enable COMPAT_FREEBSD32 for the Octeon kernel config by default.


232619 06-Mar-2012 attilio

Disable the option VFS_ALLOW_NONMPSAFE by default on all the supported
platforms.
This will make every attempt to mount a non-mpsafe filesystem to the
kernel forbidden, unless it is expressely compiled with
VFS_ALLOW_NONMPSAFE option.

This patch is part of the effort of killing non-MPSAFE filesystems
from the tree.

No MFC is expected for this patch.


232409 02-Mar-2012 jmallett

If an Atheros device is attached to an Octeon, it's going to be by PCI.


230152 15-Jan-2012 adrian

Build some more things (random, bridge/gif/gre, gpio, USB) as modules as well
so some embedded platform builds can use these instead of a fully monolithic
kernel.


229561 05-Jan-2012 adrian

This isn't required any longer - it turns out the flash
has ~ 1.7MB of space for a kernel. There's thus plenty of
space for a full, non-module kernel.


229556 05-Jan-2012 adrian

Use geom_uncompress now, rather than geom_uzip.

This results in a much smaller rootfs image and it easily
fits in the 8MB flash.


229162 31-Dec-2011 adrian

This particular work around isn't required any longer, now that the
11n radio backends are also added into the RF linker set.

This saves around 7k from the kernel binary.


229126 31-Dec-2011 adrian

Oops - this was referencing a local file, which I've done away with.


228988 30-Dec-2011 adrian

Add a configuration file for the Atheros PB47 reference board.
This is an AR71xx based board with 8MB flash, 64MB RAM, a
Mini-PCI+ slot (see below) and a single 10/100/1000baseT
ethernet port. It also has two USB ports.

This is an easier board than most to add as it doesn't have a
switch PHY on-board. This made it (mostly) trivial to craft a
working configuration.

Things to note:

* This, like most other reference boards, use uboot rather then
redboot. It means that you typically have to manually flash
both the kernel and rootfs partitions.

* Since there's currently no (nice) way to extract out the
ethernet MAC and RAM from the uboot environment, the RAM
will default to 32mb and the MAC will be something very
incorrect. I'll try to fix this up in a subsequent commit
or two, even if it's just some hard-coded nonsense in
ar71xx_machdep.c for now.

* The board is designed for a specific model of mini-PCI+
NIC which never made it into production. Normal mini-PCI
NICs will work fine; if you happen to have the NIC in question
then it will work fine with this board.


228987 30-Dec-2011 adrian

Add a couple of missing wlan modules.


228945 29-Dec-2011 adrian

Flesh out the RSPRO GPIO config, including the RF LED.


228944 29-Dec-2011 adrian

Break out the AR71XX config file into _BASE and board specific
bits.

The ROUERSTATION and RSPRO variants contain:

* the board specific bits (eg the RTC for RSPRO, later on it'll
include the GPIO/LED definitions);
* the boot specific bits (eg, on-board flash, usb flash, etc).

For now the AR71XX_BASE file contains the common board config,
drivers and net80211/ath wireless drivers.

I'll follow this up with config files for the other boards I
have (eg the Ubiquiti LSSR71, as well as some Mikrotik boards
that use the AR71XX and atheros reference boards) which will
be quite easy to do now.


228519 15-Dec-2011 adrian

* Add in the gpio/gpioled drivers into AR91XX_BASE.
* Add in a default GPIO section for AR91XX_BASE.hints, which doesn't
define the GPIO function masks or any GPIO pines.
* Add in the GPIO line definitions for LEDs and GPIO pins for the
TP-WR1043nd.

I've verified the LEDs work fine using gpioset.


228273 05-Dec-2011 jchandra

Disable KDB/DDB options for XLP N32 compile.

n32 abi is not supported in KDB/DDB yet, disable the option in
XLPN32 conf.

Reported by: gonzo, bz


228005 26-Nov-2011 marius

Change another instance of amd(4) to esp(4) missed in r227006.

Submitted by: Garrett Cooper
MFC after: 3 days


227938 24-Nov-2011 adrian

I've had verification that the second-last 64k is actually used by the tplink
firmware to store configuration data.

It's safe to overwrite it.


227926 24-Nov-2011 adrian

Now that I've brought up FreeBSD via flash, I've discovered that
the second-last 64k seems to be the default firmware board configuration
area.

Since I have no idea whether uboot uses it or not - and it's prefixed
with an atheros eeprom signature (0xaa55), I figure the safest thing
to do is mark it as read-only.

I've modified my local tplink firmware building program to generate
a board configuration section - which is separate to this partition.
It's located in the 64k _before_ this particular 64k.

The firmware build program from OpenWRT never initialises those
values and the firmware images from tplink also leave it 0x0, so I
don't currently know what the exact, correct details should be.


227925 24-Nov-2011 adrian

Flip on AR71XX_ENV_UBOOT so the environment variables are properly
processed. (Which is to say they're currently ignored.)


227921 24-Nov-2011 adrian

Flesh out a geom_map setup, so the kernel can be squeezed _onto_ the device.

The default flash layout gives only 1 megabyte for the kernel, gzipped.
The uboot firmware running on this device only supports gzip, not lzma, so
we actually _do_ have to try and slim the kernel down a bit.

But, since I can't actually do that at the present, I'm opting to:

* extend the kernel from 1mb to 2mb;
* have rootfs fill the rest of that, save 64k;
* eventually I'll hide a 64k config partition at the end, between the
end of rootfs and the ART (radio configuration data.)

The uboot firmware doesn't care about the partition layout. It just
expects the kernel application image to sit at 0xbf020000 (right after
the 128k uboot image.) The uboot header isn't actually read either -
it's "faked" from a "tplink" flash image header. So as long as the
map configuration here matches what is being written out via the
tplink firmware generator, everything is a-ok.


227920 24-Nov-2011 adrian

Compile in the right bits so the AR9130 WMAC support functions correctly.

A previous commit disabled compiling the AR9130 support in the default
HAL build in the kernel. Since the AR9130 support won't actually function
without AH_SUPPORT_AR9130 (and that abomination needs to be undone at some
point, in order to allow USB 11n NICs to also work), we now have to
explicitly compile it in.

But since the 11n RF backends don't (currently) join the RF linker set,
one has to compile in _an_ RF backend for the HAL to compile.


227919 24-Nov-2011 adrian

Add a comment documenting where the WMAC hangs off of.

At some point it would be nice to correctly update the bus glue to make
this "correct", including having the DDR flush occur in the right spot
(ie, any AHB interrupt.)


227918 24-Nov-2011 adrian

Flip on these debugging options by default. This is -HEAD after all.


227917 24-Nov-2011 adrian

Slim the default build down a little:

* Disable the NFS client, it's not needed for booting off of flash.
* Don't compile in softdep, snapshots, ufs acls and directory hashing.


227780 21-Nov-2011 adrian

Always leave the -current kernel debugging options on.


227725 19-Nov-2011 jchandra

Fix USB compilation, and add USB options to XLP conf

Remove obsolete header file included in usb_init.c


227663 18-Nov-2011 jchandra

Rearrange XLP configuration files.

Create std.XLP for configuration options, which is included by the
conf files. The files XLP, XLPN32 and XLP64 will have mostly ABI related
options.

Also move uart and pci to mips/nlm/std.xlp since all XLP configurations
needs these devices.

Obtained from: prabhath at netlogicmicro com (intial version)


227333 08-Nov-2011 attilio

Introduce the option VFS_ALLOW_NONMPSAFE and turn it on by default on
all the architectures.
The option allows to mount non-MPSAFE filesystem. Without it, the
kernel will refuse to mount a non-MPSAFE filesytem.

This patch is part of the effort of killing non-MPSAFE filesystems
from the tree.

No MFC is expected for this patch.

Tested by: gianni
Reviewed by: kib


226545 19-Oct-2011 jchandra

Keep FDT options commented until dtc is build by default for mips

Otherwise automated builds will fail for XLP and XLP64


226501 18-Oct-2011 jchandra

Support for booting XLP using FDT.

- update xlp_machdep.c to read arguments from FDT if FDT support is
compiled in.
- define rmi_uart_bus_space, and use it as fdtbus_bs_tag
- update conf files for FDT support
- add default dts file xlp-basic.dts


225482 11-Sep-2011 brueffer

Fix a zyd(4) comment typo that was copy+pasted into most kernel config files.

PR: 160276
Submitted by: MATSUMIYA Ryo <matsumiya@mma.club.uec.ac.jp>
Approved by: re (kib)
MFC after: 1 week


225394 05-Sep-2011 jchandra

MIPS XLP platform code update.

* Update the hardware access register definitions and functions to bring
them in line with other Netlogic software.
* Update the platform bus to use PCI even for on-chip devices. Add a dummy
PCI driver to ignore on-chip devices which do not need driver.
* Provide memory and IRQ resource allocation code for on-chip devices
which cannot get it from PCI config.
* add support for on-chip PCI and USB interfaces.
* update conf files, enable pci and retain old MAXCPU until we can support
>32 cpus.

Approved by: re(kib), jmallett


224217 19-Jul-2011 attilio

Bump MAXCPU for amd64, ia64 and XLP mips appropriately.
From now on, default values for FreeBSD will be 64 maxiumum supported
CPUs on amd64 and ia64 and 128 for XLP. All the other architectures
seem already capped appropriately (with the exception of sparc64 which
needs further support on jalapeno flavour).

Bump __FreeBSD_version in order to reflect KBI/KPI brekage introduced
during the infrastructure cleanup for supporting MAXCPU > 32. This
covers cpumask_t retiral too.

The switch is considered completed at the present time, so for whatever
bug you may experience that is reconducible to that area, please report
immediately.

Requested by: marcel, jchandra
Tested by: pluknet, sbruno
Approved by: re (kib)


224143 17-Jul-2011 jchandra

Comment out KDB/DDB related options for N32 kernel.

DDB files have warnings in this ABI which will break the kernel build
unless Werror is ignored

Reported by: bz


224115 16-Jul-2011 jchandra

MIPS changes for Netlogic XLP support.

This patch adds support for the Netlogic XLP mips64 processors in
the common MIPS code. The changes are :

- Add CPU_NLM processor type
- Add cases for CPU_NLM, mostly were CPU_RMI is used.
- Update cache flush changes for CPU_NLM
- Add kernel build configuration files for xLP.

In collaboration with: Prabhath Raman <prabhathpr at netlogicmicro com>

Approved by: bz(re), jmallett, imp(mips)


224009 14-Jul-2011 ray

Include device rt in RT305X config.

Approved by: adrian (mentor)


224008 14-Jul-2011 ray

Revert it back. Too many changes for one commit.

Approved by: adrian (mentor)


224005 14-Jul-2011 ray

Include device rt in RT305X config and little cleanup.

Approved by: adrian (mentor)


221753 11-May-2011 gonzo

Use new option names for NFS client and NFS server

See UPDATING entry for 20110427


221489 05-May-2011 adrian

Add nvram2env (untested) and geom_map (tested) to PB92.


221321 02-May-2011 adrian

Add in the work-around for the AR8316 gige switch PHY.

This allows the ethernet to function on the PB92 board.

Submitted by: Luiz Otavio O Souza


221259 30-Apr-2011 adrian

An example configuration file for the Atheros PB92.

TODO:

* pcie doesn't yet work properly, I'm working on it.
* if_arge doesn't work - it's likely the phy mask is wrong; again I'm working on it.


221252 30-Apr-2011 adrian

In preparation for the AR724x PCIe bus code, make the AR71xx PCI bus
glue require 'device ar71xx_pci' .

Users of the AR71xx board configs will now require this for functioning
PCI:

device pci
device ar71xx_pci


221164 28-Apr-2011 adrian

Re-enable the wireless build parameters for the AR9130 WMAC.

* enable 11n
* add ath_ahb so the AHB<->ath glue is linked in
* disable descriptor order swapping, it isn't needed here
* disable interrupt mitigation, it isn't supported here


221071 26-Apr-2011 mav

- Add shim to simplify migration to the CAM-based ATA. For each new adaX
device in /dev/ create symbolic link with adY name, trying to mimic old ATA
numbering. Imitation is not complete, but should be enough in most cases to
mount file systems without touching /etc/fstab.
- To know what behavior to mimic, restore ATA_STATIC_ID option in cases
where it was present before.
- Add some more details to UPDATING.


220982 24-Apr-2011 mav

Switch the GENERIC kernels for all architectures to the new CAM-based ATA
stack. It means that all legacy ATA drivers are disabled and replaced by
respective CAM drivers. If you are using ATA device names in /etc/fstab or
other places, make sure to update them respectively (adX -> adaY,
acdX -> cdY, afdX -> daY, astX -> saY, where 'Y's are the sequential
numbers for each type in order of detection, unless configured otherwise
with tunables, see cam(4)).

ataraid(4) functionality is now supported by the RAID GEOM class.
To use it you can load geom_raid kernel module and use graid(8) tool
for management. Instead of /dev/arX device names, use /dev/raid/rX.


220297 03-Apr-2011 adrian

Import the initial CPU support for the MIPS RALink RT305x SoC.
This is a MIPS4KC CPU with various embedded peripherals, including
wireless and ethernet support.

This commit includes the platform, UART, ethernet MAC and GPIO support.
The interrupt-driven GPIO code is disabled for now pending GPIO changes
from the submitter.

Submitted by: Aleksandr Rybalko <ray@dlink.ua>


220295 03-Apr-2011 adrian

Commit configuration files for the AR913x SoC and the TP-Link WR-1043ND.

The AR91XX_BASE{,.hints} files define all the common parameters for
the AR913x SoC systems.

The TP-1043ND config file adds local parameters.


220185 31-Mar-2011 adrian

Break out the ath PCI logic into a separate device/module.

Introduce the AHB glue for Atheros embedded systems. Right now it's
hard-coded for the AR9130 chip whose support isn't yet in this HAL;
it'll be added in a subsequent commit.

Kernel configuration files now need both 'ath' and 'ath_pci' devices; both
modules need to be loaded for the ath device to work.


219775 19-Mar-2011 bz

For now remove options FLOWTABLE from the remaining GENERIC kernel
configurations and make it opt-in for those who want it. LINT will
still build it.

While it may be a perfect win in some scenarios, it still troubles users
(see PRs) in general cases. In addition we are still allocating resources
even if disabled by sysctl and still leak arp/nd6 entries in case of
interface destruction.

Discussed with: qingli (2010-11-24, just never executed)
Discussed with: juli (OCTEON1)
PR: kern/148018, kern/155604, kern/144917, kern/146792
MFC after: 2 weeks


217653 20-Jan-2011 imp

Use simplified ldscripts rather than specific ones


217636 20-Jan-2011 jchandra

Move 'cpu CPU_RMI' to std.xlr, this is common for all XLR cpus.


217630 20-Jan-2011 jchandra

Re-format XLR configuartion files and remove obsolete options.


217626 20-Jan-2011 jchandra

ldscript and conf cleanup for MIPS

- Remove sys/conf/ldscript.mips.64 and sys/conf/ldscript.mips.n32 and use
ldscript.mips for all ABIs. The default OUTPUT_FORMAT of the toolchain
is correct.
- Remove LDSCRIPT_NAME entires from XLR n32 and n64 conf files.
- Remove TARGET_BIG_ENDIAN from XLR conf files.
- Fix machine entry in XLRN32


217517 17-Jan-2011 imp

Kill redundant cpu line


217214 10-Jan-2011 jmallett

o) Expand the CIU driver to be aware of newly-allocated parts of the IRQ range.
o) Add 'octm', a trivial driver for the 10/100 management ports found on some
Octeon systems.
o) Make the Simple Executive's management port helper routines compile on
FreeBSD (namely by not doing math on void pointers.)
o) Add a cvmx_mgmt_port_sendm routine to the Simple Executive to send an mbuf
so there is only one copy in the transmit path, rather than having to first
copy the mbuf to an intermediate buffer and then copy that to the Simple
Executive's transmit ring.
o) Properly work out MII addresses of management ports on the Lanner MR-730.
XXX The MR-730 also needs some patches to the MII read/write routines, but
this is sufficient for now. Media detection will be fixed in the future
when I can spend more time reading the vendor-supplied patches.


216969 04-Jan-2011 jmallett

Remove OCTEON1-32. Since moving to the Cavium SDK, we've lost our support for
running an o32 kernel safely, and would have to add interrupt disabling and
reenabling to a bunch of macros in the Simple Executive sources to support it.

The only reason one would run an o32 kernel on Octeon would be to run o32 world,
which is better worked towards by adding o32 binary compatibility to n64 kernels
along with, eventually, supporting multilib systems so o32 binaries can run
alongside n32 and n64 ones.

Discussed with: imp


216671 22-Dec-2010 nwhitehorn

Include std.sentry5 from the SENTRY5 kernel configuration. This was
apparently missed in r215270.


216475 16-Dec-2010 gonzo

- include argument should be in quotes


216390 12-Dec-2010 jchandra

I2C drivers for XLR/XLS processors.

- Major update to xlr_i2c.c: do multi-byte ops correctly, remove unnecessary
code, add mutex to protect bus operations, style(9) fixes.
- Drivers for I2C devices on XLR/XLS engineering boards, ds1374u RTC, max6657
temparature sensor and at24co2n EEPROM.

Submitted by: Sreekanth M. S. (kanthms at netlogicmicro com)


215270 13-Nov-2010 imp

Remove the 'machine mips' from DEFAULTS. Put the proper 'machine mips
mipsel' or 'machine mips mipseb' into the config file (with a few 64's
tossed in for good measure). This will let us build the proper
kernels with different worlds as part of make universe.


215085 10-Nov-2010 jchandra

Switch to the new network driver nlge, the old rge driver is deprecated now.


215068 10-Nov-2010 imp

rename SWARM_COMMON to std.SWARM so universe doesn't try to build it standalone


213762 13-Oct-2010 jmallett

o) Make it possible to attach a PHY directly to an octe device rather than
using miibus, since for some devices that use multiple addresses on the bus,
going through miibus may be unclear, and for devices that are not standard
MII PHYs, miibus may throw a fit, necessitating complicated interfaces to
fake the interface that it expects during probe/attach.
o) Make the mv88e61xx SMI interface in octe attach a PHY directly and fix some
mistakes in the code that resulted from trying too hard to present a nice
interface to miibus.
o) Add a PHY driver for the mv88e61xx. If attached (it is optional in kernel
compiles so the default behavior of having a dumb switch is preserved) it
will place the switch in a VLAN-tagging mode such that each physical port
has a VLAN associated with it and interfaces for the VLANs can be created to
address or bridge between them.
XXX It would be nice for this to be part of a single module including the
SMI interface, and for it to fit into a generic switch configuration
framework and for it to use DSA rather than VLANs, but this is a start
and gives some sense of the parameters of such frameworks that are not
currently present in FreeBSD. In lieu of a switch configuration
interface, per-port media status and VLAN settings are in a sysctl tree.
XXX There may be some minor nits remaining in the handling of broadcast,
multicast and unknown destination traffic. It would also be nice to go
through and replace the few remaining magic numbers with macros at some
point in the future.
XXX This has only been tested with the MV88E6161, but it should work with
minimal or no modification on related switches, so support for probing
them was included.

Thanks to Pat Saavedra of TELoIP and Rafal Jaworowski of Semihalf for their
assistance in understanding the switch chipset.


213340 02-Oct-2010 jmallett

Make the OCTEON1 configuration look like a normal GENERIC configuration. In
particular, add PCI and USB buses and most devices. Also move to using ULE,
adding INET6, turning on WITNESS by default, etc.


213240 28-Sep-2010 gonzo

Add GPIO bus to config and hints. Also add sample gpioled device.


212634 15-Sep-2010 neel

Add 64-bit SWARM board kernel configs.


212633 15-Sep-2010 neel

Factor out the common parts of the swarm board in SWARM_COMMON and start
including that in SWARM and SWARM_SMP kernel configs.


212560 13-Sep-2010 imp

TARGET_64BIT isn't needed anymore, GC it (partial merge from tbemd).


211280 13-Aug-2010 jchandra

Rename TARGET_XLR_XLS to CPU_RMI to match other CPU_xxx definitions.
use CPU_RMI all XLR configurations. Update ident string for N32 and
N64 kernels.


210311 20-Jul-2010 jmallett

Update the port of FreeBSD to Cavium Octeon to use the Cavium Simple Executive
library:
o) Increase inline unit / large function growth limits for MIPS to accommodate
the needs of the Simple Executive, which uses a shocking amount of inlining.
o) Remove TARGET_OCTEON and use CPU_CNMIPS to do things required by cnMIPS and
the Octeon SoC.
o) Add OCTEON_VENDOR_LANNER to use Lanner's allocation of vendor-specific
board numbers, specifically to support the MR320.
o) Add OCTEON_BOARD_CAPK_0100ND to hard-wire configuration for the CAPK-0100nd,
which improperly uses an evaluation board's board number and breaks board
detection at runtime. This board is sold by Portwell as the CAM-0100.
o) Add support for the RTC available on some Octeon boards.
o) Add support for the Octeon PCI bus. Note that rman_[sg]et_virtual for IO
ports can not work unless building for n64.
o) Clean up the CompactFlash driver to use Simple Executive macros and
structures where possible (it would be advisable to use the Simple Executive
API to set the PIO mode, too, but that is not done presently.) Also use
structures from FreeBSD's ATA layer rather than structures copied from
Linux.
o) Print available Octeon SoC features on boot.
o) Add support for the Octeon timecounter.
o) Use the Simple Executive's routines rather than local copies for doing reads
and writes to 64-bit addresses and use its macros for various device
addresses rather than using local copies.
o) Rename octeon_board_real to octeon_is_simulation to reduce differences with
Cavium-provided code originally written for Linux. Also make it use the
same simplified test that the Simple Executive and Linux both use rather
than our complex one.
o) Add support for the Octeon CIU, which is the main interrupt unit, as a bus
to use normal interrupt allocation and setup routines.
o) Use the Simple Executive's bootmem facility to allocate physical memory for
the kernel, rather than assuming we know which addresses we can steal.
NB: This may reduce the amount of RAM the kernel reports you as having if
you are leaving large temporary allocations made by U-Boot allocated
when starting FreeBSD.
o) Add a port of the Cavium-provided Ethernet driver for Linux. This changes
Ethernet interface naming from rgmxN to octeN. The new driver has vast
improvements over the old one, both in performance and functionality, but
does still have some features which have not been ported entirely and there
may be unimplemented code that can be hit in everyday use. I will make
every effort to correct those as they are reported.
o) Support loading the kernel on non-contiguous cores.
o) Add very conservative support for harvesting randomness from the Octeon
random number device.
o) Turn SMP on by default.
o) Clean up the style of the Octeon kernel configurations a little and make
them compile with -march=octeon.
o) Add support for the Lanner MR320 and the CAPK-0100nd to the Simple
Executive.
o) Modify the Simple Executive to build on FreeBSD and to build without
executive-config.h or cvmx-config.h. In the future we may want to
revert part of these changes and supply executive-config.h and
cvmx-config.h and access to the options contained in those files via
kernel configuration files.
o) Modify the Simple Executive USB routines to support getting and setting
of the USB PID.


210026 13-Jul-2010 imp

Temp hack to N32 kernel: turn off debugger since n32 is too weird for ddb


209815 08-Jul-2010 jchandra

Fix XLR64, the previous version had the contents of file duplicated.


209814 08-Jul-2010 jchandra

64 bit ld script for mips, and configuration file for 64 bit compilation
on XLR

Approved by: rrs


209502 24-Jun-2010 jchandra

Add linker script and configuration file for n32 kernel.

Approved by: rrs (mentor)


208165 16-May-2010 rrs

This pushes all of JC's patches that I have in place. I
am now able to run 32 cores ok.. but I still will hang
on buildworld with a NFS problem. I suspect I am missing
a patch for the netlogic rge driver.

JC check and see if I am missing anything except your
core-mask changes

Obtained from: JC


207474 01-May-2010 imp

Enable AH_RXCFG_SDMAMW_4BYTES option. See NOTES file for why this is
workaround (WAR) is needed.


207473 01-May-2010 imp

Put the -current debugging options back into AR71XX.


207131 23-Apr-2010 jmallett

o) Remove default MAXMEM on SWARM; pmap can readily use lmem for >512M
physical addresses.
o) Set a local maxmem in sb_machdep.c to avoid trying to use pages over 2^64
under 32-bit ABIs. Our pmap needs corrected to use vm_paddr_t consistently,
then we can make vm_paddr_t 64-bit under 32-bit ABIs and add code in pmap
to limit phys_avail by the maximum PFN that a 32-bit PTE can hold.


207077 22-Apr-2010 thompsa

Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had
the illusion of a tunable setting but was always turned on regardless.

MFC after: 1 week


206718 17-Apr-2010 jmallett

o) Back out my previous change to SWARM; some of it was to address an issue
that turned out to be unrelated, and the rest was, as pointed out by Neel,
just wrong-headed.
o) Tweak mem.c to fix use of /dev/kmem for direct-mapped addresses.


206712 16-Apr-2010 jmallett

Set KERNLOADADDR and TARGET_BIG_ENDIAN for SWARM.


205863 29-Mar-2010 imp

Enable module builds now that the build completes for them. This
should get them into the universe rotation.


205158 14-Mar-2010 imp

Go ahead and add USB support to the generic config.


205049 11-Mar-2010 jmallett

Add bpf and random to Octeon configurations, since they're needed to run
dhclient and ssh respectively.

Reviewed by: imp


204108 20-Feb-2010 neel

Get rid of unused options: KERNPHYSADDR, KERNVIRTADDR, PHYSADDR, PHYS_ADDR_64BIT

Discussed with: gonzo, imp


203938 15-Feb-2010 attilio

Adjust style (following the already existing rules) for the newly
introduced option DEADLKRES.

Reported by: danfe, julian, avg


203796 12-Feb-2010 neel

Remove the PCI_IOSPACE_SIZE and PCI_IOSPACE_ADDR hack from nexus.c. Implement
this in the Sibyte PCI hostbridge driver instead.

The nexus driver sees resource allocation requests for memory and irq
resources only. These are legitimate resources on all MIPS platforms.

Suggested by: imp


203758 10-Feb-2010 attilio

Add the options DEADLKRES (introducing the deadlock resolver thread) in
the 'debugging' section of any HEAD kernel and enable for the mainstream
ones, excluding the embedded architectures.
It may, of course, enabled on a case-by-case basis.

Sponsored by: Sandvine Incorporated
Requested by: emaste
Discussed with: kib


203697 09-Feb-2010 neel

SMP support for the mips port.

The platform that supports SMP currently is a SWARM with a dual-core Sibyte
processor. The kernel config file to use is SWARM_SMP.

Reviewed by: imp, rrs


203477 04-Feb-2010 neel

Compile SWARM with KTRACE support.


203116 28-Jan-2010 cognet

Comment out any reference to ALCHEMY.hints until it's committed, to unbreak
make universe.

Spotted out by: gahr


203076 27-Jan-2010 imp

Make a note that this file is the 64-bit version and experimental and
point people at the OCTEON1-32 file instead.


203075 27-Jan-2010 imp

Move back to physical address 0x01000000. 0x00100000 seems to have
problems sometimes for reasons I haven't tracked down.


203011 26-Jan-2010 rrs

My current conf, that comes up but
locks up in make buildworld.

You need to follow the mips wiki for building
the nfs partition and setup things to mount there
(in the conf and in your bootp setup).


202975 25-Jan-2010 imp

Fix device name for root....
Indent rgmii correctly.
Remove stale comments.


202839 22-Jan-2010 gonzo

- Add driver for PCF2123, SPI real time clock/calendar


202833 22-Jan-2010 imp

Remove some irrelevant commented out make options.


202832 22-Jan-2010 imp

make note of the nonsensical nature of the values in this hints file.


202634 19-Jan-2010 jhb

Move the examples for the 'hints' and 'env' keywords from various GENERIC
kernel configs into NOTES.

Reviewed by: imp


202175 12-Jan-2010 imp

Set the svn:eol-style = native and svn:mime-type = text/plain
properties on all files in this tree.

Submitted by: rpaulo@


202173 12-Jan-2010 imp

Place proper svn:keywords tag on all these files. They were created
somehow without them on projects/mips, and that mistake was propigated
over to head.

Submitted by: rpaulo@


202172 12-Jan-2010 rpaulo

Add a regular comment explaining what this file is.


202171 12-Jan-2010 rpaulo

Fix svn properties and remove a P4 keyword.


202105 11-Jan-2010 imp

Using svn cp rather than cp to copy these files over had the benefit
of preserving their history. It had the problem that it also copied
over mergeinfo data. Since we're retiring the projects/mips branch,
I'm removing the svn:mergeinfo property from them all.

Submitted by: jhb


202065 11-Jan-2010 imp

Cope with the octeon1->cavium move.


202034 10-Jan-2010 imp

Merge from projects/mips to head by hand:

I think these are the relevant changes, but definitely are a superset
of them. Software archaeologists are invited to check the branch
itself for the details.

r199695 | imp | 2009-11-23 00:49:50 -0700 (Mon, 23 Nov 2009) | 2 lines
Specify loader script and load address

r198263 | neel | 2009-10-19 22:31:20 -0600 (Mon, 19 Oct 2009) | 7 lines
The default KERNLOADADDR does not work on MALTA hardware. On my platform the
"First free SDRAM address" reported by YAMON is 0x800b6e61.
So use a conservative KERNLOADADDR of 0x80100000.
Approved by: imp (mentor)

r194163 | imp | 2009-06-14 00:12:21 -0600 (Sun, 14 Jun 2009) | 2 lines
Kludge: pretend to be ISA_MIPS32 for the moment.

r192864 | gonzo | 2009-05-26 16:40:12 -0600 (Tue, 26 May 2009) | 4 lines
- Replace CPU_NOFPU and SOFTFLOAT options with CPU_FPU. By default
we assume that there is no FPU, because majority of SoC does
not have it.

r187461 | gonzo | 2009-01-19 21:24:03 -0700 (Mon, 19 Jan 2009) | 3 lines
- KERNLOADADDR should be defined with makeoption.
Redboot loads kernel now

r187418 | gonzo | 2009-01-18 19:37:10 -0700 (Sun, 18 Jan 2009) | 4 lines
- Add trampoline stuff for bootloaders that do not support ELF
- Replace arm'ish KERNPHYSADDR/KERNVIRTADDR with
KERNLOADADDR/TRAMPLOADADDR and clean configs


202033 10-Jan-2010 imp

Merge from projects/mips to head by hand:

ALCHEMY config file.


201916 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over MALTA64, the 64-bit varianat of the malta board...


201915 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over XLR kernel config file.


201914 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over the OCTEON1 kernel config file. This is the 64-bit version.


201913 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over OCTEON1.hints file.


201912 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over OCTEON1-32 file: the 32-bit variant of the octeon kernel
config file.


201911 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over AR71XX.hints file.


201910 09-Jan-2010 imp

Merge from projects/mips to head by hand:

Copy over the AR71XX config file.


201909 09-Jan-2010 imp

Merge from projects/mips to head by hand.

Copy over the SWARM.hints file.


201908 09-Jan-2010 imp

Merge from pprojects/mips to head by hand.

Copy over the SWARM config file.


201534 04-Jan-2010 imp

Revert 200594. This file isn't intended for these sorts of things.


200594 16-Dec-2009 dougb

Add INCLUDE_CONFIG_FILE, and a note in comments about how to also
include the comments with CONFIGARGS


194344 17-Jun-2009 bz

Add a .cvsignore file and along with that put an svn:ignore proprty
on the directory like we have for all other target architectures.

Discussed with: imp (kind of)


194145 14-Jun-2009 imp

Fix typo... bad imp.


194142 14-Jun-2009 imp

After Marcel's change to DEFAULTS, we were bringing in a bogus copy of
uart_8250. Remove it here since the UART on the ADM5120 isn't the
typical 16550: its completely different.


191954 10-May-2009 kuriyama

- Use "device\t" and "options \t" for consistency.


186240 17-Dec-2008 marcel

Make gpart the default partitioning class on all platforms.
Both ia64 and powerpc were using gpart exclusively already
so there's no change for those two.

Discussed on: arch@


185522 01-Dec-2008 sam

Switch to ath hal source code. Note this removes the ath_hal
module; the ath module now brings in the hal support. Kernel
config files are almost backwards compatible; supplying

device ath_hal

gives you the same chip support that the binary hal did but you
must also include

options AH_SUPPORT_AR5416

to enable the extended format descriptors used by 11n parts.
It is now possible to control the chip support included in a
build by specifying exactly which chips are to be supported
in the config file; consult ath_hal(4) for information.


184194 23-Oct-2008 marcel

Add mips/conf/DEFAULTS and populate it with:
machine arm
device mem
device uart_ns8250
options GEOM_BSD
options GEOM_MBR

Remove the first three from all kernel configuration files
(sometimes commented-out) and change geom_bsd and geom_mbr
from standard to optional.


183816 13-Oct-2008 bms

Point this config at the required linker script.


183172 19-Sep-2008 imp

Merge from p4: add bpf


182738 03-Sep-2008 obrien

Catch up with the move from mips32/.


182736 03-Sep-2008 obrien

Catch up with the move from mips32/.


178372 21-Apr-2008 phk

Make genclock standard on all platforms.

Thanks to: grehan & marcel for platform support on ia64 and ppc.


178354 20-Apr-2008 sam

Multi-bss (aka vap) support for 802.11 devices.

Note this includes changes to all drivers and moves some device firmware
loading to use firmware(9) and a separate module (e.g. ral). Also there
no longer are separate wlan_scan* modules; this functionality is now
bundled into the wlan module.

Supported by: Hobnob and Marvell
Reviewed by: many
Obtained from: Atheros (some bits)


178209 15-Apr-2008 imp

Remove $P4$ tag. Rumor has it that p4 importer hates it.


178185 13-Apr-2008 imp

fix comments for these files.

Noticed by: stass


178171 13-Apr-2008 imp

FreeBSD/mips port. The FreeBSD/mips port targets mips32, mips64,
mips32r2 and mips64r2 (and close relatives) processors. There
presently is support for ADMtek ADM5120, A mips 4Kc in a malta board,
the RB533 routerboard (based on IDT RC32434) and some preliminary
support for sibtye/broadcom designs. Other hardware support will be
forthcomcing.

This port boots multiuser under gxemul emulating the malta board and
also bootstraps on the hardware whose support is forthcoming...

Oleksandr Tymoshenko, Wojciech Koszek, Warner Losh, Olivier Houchard,
Randall Stewert and others that have contributed to the mips2 and/or
mips2-jnpr perforce branches. Juniper contirbuted a generic mips port
late in the life cycle of the misp2 branch. Warner Losh merged the
mips2 and Juniper code bases, and others list above have worked for
the past several months to get to multiuser.

In addition, the mips2 work owe a debt to the trail blazing efforts of
the original mips branch in perforce done by Juli Mallett.