Commit Graph

780 Commits

Author SHA1 Message Date
simonb
c26067d669 Add some compile time asserts for endianness on boards/systems that
only support a single endianness.
2020-08-17 07:50:41 +00:00
simonb
02abda66c9 Handle using "octeth" as root device by converting "octethN" to "cnmacN"
for any N < 100.  This allows booting for u-boot to use root=$(ethact)
on the command line and the kernel can use the ethernet interface the
kernel was loaded on as the NFS root device.
2020-08-17 06:23:01 +00:00
maxv
b84521f2f3 Remove references to BRIDGE_IPF, it is now compiled in by default. 2020-08-01 08:20:47 +00:00
simonb
da5bbaccf3 Change cpus_booted back to a simple variable instead of a kcpuset.
octeon_cpu_spinup() was trying to set CPU status immediately on kernel
startup _well_ before the kcpuset was initialised.
2020-07-28 00:35:38 +00:00
jmcneill
70370e75d4 evbmips: add ofctl(8) and /dev/openfirm support 2020-07-24 12:07:09 +00:00
simonb
032f1363cc Add option to use the early bitbang console. Enable this for now
while debugging MP.
Print out the core mask value passed in by Uboot.
2020-07-22 13:24:17 +00:00
msaitoh
984bb2b315 s/reseting/resetting/ 2020-07-22 01:24:39 +00:00
simonb
6a9dede689 Reserve space for all CPU cores (incorrect logic).
Reserve a full page for each core, not incorrect 4096 (from skrll@).
2020-07-19 08:53:24 +00:00
simonb
ba69e4b56c Call fdtbus_intr_init() during startup. 2020-07-19 06:31:13 +00:00
jmcneill
3f09c19cb3 ERLITE -> OCTEON 2020-07-17 14:57:54 +00:00
jmcneill
7a6b3bddd8 Add wedge support 2020-07-17 14:56:47 +00:00
jmcneill
9164e37d6c Add USB3 support. 2020-07-16 21:34:52 +00:00
jmcneill
571c571288 Add driver for Cavium Interrupt Bus. 2020-07-16 18:39:18 +00:00
jmcneill
969e5db0bd Use uart0 for stdout-path 2020-07-16 16:39:54 +00:00
jmcneill
84507484ec FDT support for Cavium OCTEON MIPS SoCs. WIP. 2020-07-16 11:49:37 +00:00
simonb
bc6a081a98 Rename the evbmips ERLITE kernel to OCTEON now that it supports more
than just the EdgeRouter Lite.
2020-07-15 12:15:30 +00:00
simonb
f732e865a3 Copy "mach reset" logic from arm32 recently added by jmcneill@. The
previous MIPS "mach reset" DDB command was hard-coded for Octeon Cavium
CPUs only.
2020-07-13 05:20:45 +00:00
thorpej
ca8ce3aeb1 Overhaul the interface to pci_configure_bus():
- Don't expose how PCI bus configuration resource management is implemented.
  Provide a new resource provider API:

  ==> pciconf_resource_init() -- Initialize a PCI configuration resources
      container.
  ==> pciconf_resource_add() -- Add a PCI configuration resource to the
      container (I/O, MEM, or prefetchable MEM).  Multiple resources of
      each type may be added.
  ==> pciconf_resource_fini() -- Tear down the PCI configurtation resources
      container once the bus has been configured.

  This is much easier to use than the previous method of providing an
  extent map for each kind of resource, and works better for e.g. ACPI
  platforms that provide potentially multiple PCI resources in tables
  provided by firmware.

- Re-implement PCI configuration resource management using vmem arenas,
  rather than extent maps.
2020-07-07 03:38:45 +00:00
simonb
a754707195 Support EdgeRouter 4.
Only set RGMII timing params on boards with RGMII.
2020-06-23 05:19:12 +00:00
simonb
092c6bf70a Redo cnmac attachments - cnmacM @ gmxN @ pip0 @ iobus 2020-06-23 05:18:02 +00:00
simonb
896f321e86 Add some rudimentary boot args parsing. Can handle "root=" as well
normal -1adsqvxz flags.  "root=" is limited to cnmacN devices so far;
should be extended to allow arbitary SD devices (and other devices?).
2020-06-20 02:27:55 +00:00
simonb
e542f66a7e Add the structure of the CVMX boot descriptor.
Extend the U-boot bootinfo descriptor with latest members, add a few comments.
Add a few extra board type IDs.
2020-06-20 02:01:56 +00:00
simonb
6355ef23c6 Don't include now non-existant "opt_cavium.h". 2020-06-19 12:38:53 +00:00
simonb
b30b4831ea OCTEON_MEMSIZE isn't used now, remove declaration. 2020-06-19 12:24:39 +00:00
simonb
7beb3ab79c Finish CPU core support for Octeon Cavium CN70XX:
- decode actual CPU name
 - per CPU core reset logic (partially adapted from OpenBSD)
 - handle Octeon 3 ioclock rate differences to other cores (from OpenBSD)
2020-06-15 07:48:12 +00:00
chs
69a3e9b705 replace EX_NOWAIT with EX_WAITOK in device attach methods.
remove checks for failures that can no longer occur.
2020-06-14 01:40:02 +00:00
simonb
2d5ac8346f Update for proplib(3) API changes. 2020-06-10 07:34:19 +00:00
simonb
c8c1c30fc9 Now that we don't zero out the second link in the U-boot bootmem
descripter, use that to configure free memory.
2020-06-05 07:17:38 +00:00
simonb
f62ed6fa8e Only clear BSS up to "end" symbol, not all the way to mips_round_page(end).
U-Boot puts some data immediately after the BSS section cleared in the ELF
segments, and we don't want to overwrite that.

XXX: Stop using mips_round_page(end) on all MIPS?
2020-06-04 03:08:59 +00:00
simonb
d6f100329c Finish rename of all Cavium Octeon device driver functions, structs etc from
"octeon_foo" to "octfoo" (missed octeon_uart + entries in iobus config).
2020-05-31 14:05:21 +00:00
simonb
8aae866fa5 Clean up Cavium Octeon device names. Rename devices from "octeon_foo"
to "octfoo" - this follows the naming conventions used by many other
MIPS CPUs.
2020-05-31 04:56:35 +00:00
rin
482eef7050 For struct timecounter, use C99 initializers.
Compile tested. No functional changes intended.
2020-05-29 12:30:38 +00:00
riastradh
a500e081bc Switch to CFATTACH_DECL_NEW.
This driver doesn't compile -- never has since it was imported from
OpenBSD -- but in case anyone wants to make it work, let's leave fewer
landmines to step on.
2020-05-25 17:56:19 +00:00
rin
94f524d1f0 Fix outdated or misleading comments for MEMORY_DISK_ROOT_SIZE.
No functional changes.
2020-05-19 09:26:44 +00:00
simonb
36c01c395b Enable PTYFS. 2020-05-04 12:15:43 +00:00
jdolecek
68e97caa11 mark nsmb major obsolete 2020-04-04 16:06:10 +00:00
nisimura
525bf1f918 add ukphy as the last resort. enable dmphy for dme 2020-04-02 13:03:53 +00:00
jdolecek
23d0128155 remove 'file-system SMBFS' and 'pseudo-device nsmb' from all kernel configs
to prepare for their eventual removal
2020-03-25 17:06:17 +00:00
maya
5e031685d6 remove urio(4), a driver for the Rio500 MP3 player.
At this point it is highly unlikely this 1999 device still has users,
but it still comes up in the context of maxv's USB-fuzzing (and any device
could pretend to be a urio(4)), so it's best to get rid of it.

Renamed all major entries to obsolete, as was done in previous removals.

This still requires an update to sanitizers, but they're located in
"external", perhaps it should be first committed upstream?

Proposed on tech-kern a month ago.
2020-01-29 18:39:00 +00:00
thorpej
6dbc6c953b Retire "le* at pci?" from the shipped kernel configs:
- If the config had both an le@pci and a pcn, simply remove le@pci
  (pcn would match at a higher priority anyway).
- If the config had le@pci enabled, but no pcn, change le@pci to pcn.
- If the config had le@pci commented out, but no pcn, change le@pci
  to pcn and leave it commented out.

The pcn driver supports more chips than le@pci and does DMA directly
to/from mbufs rather than memory copies.
2020-01-25 18:38:34 +00:00
thorpej
4541d6828b Remove FDDI support. 2020-01-20 18:38:17 +00:00
thorpej
85654ec7a9 Remove HIPPI support and the esh(4) driver that uses it. There have not
been any users of HIPPI for some time, and it is unlikely to be resurrected.
2020-01-19 06:55:21 +00:00
thorpej
c1d9ec8d89 Remove the strip(4) - Starmode Radio IP - pseudo-device driver. It is
long since obsolete.
2020-01-19 01:25:03 +00:00
thorpej
585dd234ff Eliminate all of the #ifdefs for the "strtc" driver. Define model
properties (similar to what the "dsrtc" driver does), and provide
DT compat strings corresponding to those models.  Allow config flags
to specify the model for non-FDT platforms (also like "dsrtc").
2020-01-03 03:44:42 +00:00
msaitoh
e992133145 s/suport/support/ 2019-12-27 09:22:19 +00:00
chs
d47bcd296c in many device attach paths, allocate memory with M_WAITOK instead of M_NOWAIT
and remove code to handle failures that can no longer happen.
2019-11-10 21:16:21 +00:00
msaitoh
8940d9f0eb Fix typo (s/contoller/controller/). 2019-08-21 04:17:40 +00:00
sevan
75d6e670be Enable BUFQ_PRIOCSCAN, CARP, Veriexec by default in GENERIC kernel configs.
On ports without a GENERIC kernel config enable in individul files, e.g evbmips.
Omit on:
atari, dreamcast, emips, epoc32, evbppc/VIRTEX*, ia64, luna68x, mvme68k,
mvmeppc, playstation2, riscv, sun2, sun3, x68k, zaurus due to resource
constraints or port infancy.
2019-04-26 21:40:28 +00:00
isaki
47655f2d42 Add drvctl to kernel which has audio device.
audiocfg(1) requires drvctl(4).
2019-04-13 08:22:58 +00:00
simonb
7924423e1f Generate SREC kernels that YAMON can load. 2019-04-11 04:28:17 +00:00