summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.sparc64
Commit message (Collapse)AuthorAgeFilesLines
* Add the new sparc64 OFW PCI framework, conditional on options OFW_NEWPCItmm2003-07-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for now. It introduces a OFW PCI bus driver and a generic OFW PCI-PCI bridge driver. By utilizing these, the PCI handling is much more elegant now. The advantages of the new approach are: - Device enumeration should hopefully be more like on Solaris now, so unit numbers should match what's printed on the box more closely. - Real interrupt routing is implemented now, so cardbus bridges etc. have at least a chance to work. - The quirk tables are gone and have been replaced by (hopefully sufficient) heuristics. - Much cleaner code. There was also a report that previously bogus interrupt assignments are fixed now, which can be attributed to the new heuristics. A pitfall, and the reason why this is not the default yet, is that it changes device enumeration, as mentioned above, which can make it necessary to change the system configuration if more than one unit of a device type is present (on a system with two hme cars, for example, it is possible that hme0 becomes hme1 and vice versa after enabling the option). Systems with multiple disk controllers may need to be booted into single user (and require manual specification of the root file system on boot) to adjust the fstab. Nevertheless, I would like to encourage users to use this option, so that it can be made the default soon. In detail, the changes are: - Introduce an OFW PCI bus driver; it inherits most methods from the generic PCI bus driver, but uses the firmware for enumeration, performs additional initialization for devices and firmware-specific interrupt routing. It also implements an OFW-specific method to allow child devices to get their firmware nodes. - Introduce an OFW PCI-PCI bridge driver; again, it inherits most of the generic PCI-PCI bridge driver; it has it's own method for interrupt routing, as well as some sparc64-specific methods (one to get the node again, and one to adjust the bridge bus range, since we need to reenumerate all PCI buses). - Convert the apb driver to the new way of handling things. - Provide a common framework for OFW bridge drivers, used be the two drivers above. - Provide a small common framework for interrupt routing (for all bridge types). - Convert the psycho driver to the new framework; this gets rid of a bunch of old kludges in pci_read_config(), and the whole preinitialization (ofw_pci_init()). - Convert the ISA MD part and the EBus driver to the new way interrupts and nodes are handled. - Introduce types for firmware interrupt properties. - Rename the old sparcbus_if to ofw_pci_if by repo copy (it is only required for PCI), and move it to a more correct location (new support methodsx were also added, and an old one was deprecated). - Fix a bunch of minor bugs, perform some cleanups. In some cases, I introduced some minor code duplication to keep the new code clean, in hopes that the old code will be unifdef'ed soon. Reviewed in part by: imp Tested by: jake, Marius Strobl <marius@alchemy.franken.de>, Sergey Mokryshev <mokr@mokr.net>, Chris Jackman <cjackNOSPAM@klatsch.org> Info on u30 firmware provided by: kris
* Hook openpromio up to the build.jake2003-06-191-0/+1
|
* Update GEOM::SUN to use the decoding functions in geom_sunlabel_enc.cphk2003-04-211-0/+1
| | | | and #defines from sys/sun_disklabel.h.
* Separate the encoding/decoding functions for struct disklabel into aphk2003-04-171-0/+1
| | | | separate source file which can be used from both kernel and userland code.
* - Remove unused cache flushing routines. These will not necessary workjake2003-03-191-0/+2
| | | | | | | | | | | | | | | | | | | on future UltraSPARC cpus for which the data cache is not direct mapped. - Move UltraSPARC I and II (spitfire, blackbird, sapphire, sabre) specific functions to spitfire.c, and add cheetah.c for UltraSPARC III specific functions. Initially just cache flushing, but there are a few other functions that will need to move here. - Add an ipi handler for data cache flushing on UltraSPARC III. - Use function pointers to select the right cache flushing functions based on cpu_impl. With this it is possible to boot single user from an mfs root on UltraSPARC III systems, including spinning up secondary processors. There is currently no support for the host to pci bridge, and no documentation for it is publically available. Thanks to Oleg Derevenetz for providing access to a system with UltraSPARC III+ cpus.
* Standardize handling of locore.[sS] etc. files.ru2003-02-281-5/+3
| | | | Submitted by: jake, bde, ru
* Add drivers for the central and fhc busses found in enterprise classjake2003-02-181-0/+5
| | | | | | | | | | | | UltraSPARCs, and an eeprom attachment for fhc, which allows the date to be set properly on these machines. Central is a wierd bus which seems to only ever have 1 fhc attached to it. FHC (FireHose Controller) is another wierd bus with various things on it depending where its attached. The fhc attached to central has eeprom and zs, and the fhcs which attach directly to nexus have simm-status, environment and other nodes, none of which I'll probably ever have documentation for. Thanks to Ade Lovett for providing access to an 8 cpu e4500.
* NO_GEOM cleanup: Don't include subr_disklabel.c in sparc64 buildphk2003-01-281-1/+0
|
* Sparc64 does not need subr_diskslice.c and subr_mbr.c now.phk2003-01-171-2/+0
|
* Move subr_disklabel.c and subr_diskslice.c from being MI to MD files,phk2003-01-171-0/+2
| | | | so that they can be left out where they are unneeded.
* Add kernel dump support, based on the ia64 version (which was committedtmm2002-10-201-0/+1
| | | | | | | | | | as sparc64/sparc64/dump_machdep.c a while back). Other than ia64 (which uses ELF), sparc64 uses a homegrown format for the dumps (headers are required because the physical address and size of the tsb must be noted, and because physical memory may be discontiguous); ELF would not offer any advantages here. Reviewed by: jake
* Build openfirmio on sparc64.tmm2002-10-181-0/+1
|
* NB: This commit does *NOT* make GEOM the default in FreeBSDphk2002-10-051-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NB: But it will enable it in all kernels not having options "NO_GEOM" Put the GEOM related options into the intended order. Add "options NO_GEOM" to all kernel configs apart from NOTES. In some order of controlled fashion, the NO_GEOM options will be removed, architecture by architecture in the coming days. There are currently three known issues which may force people to need the NO_GEOM option: boot0cfg/fdisk: Tries to update the MBR while it is being used to control slices. GEOM does not allow this as a direct operation. SCSI floppy drives: Appearantly the scsi-da driver return "EBUSY" if no media is inserted. This is wrong, it should return ENXIO. PC98: It is unclear if GEOM correctly recognizes all variants of PC98 disklabels. (Help Wanted! I have neither docs nor HW) These issues are all being worked. Sponsored by: DARPA & NAI Labs.
* hookup new crypto support to the config/build processsam2002-10-041-0/+2
|
* Moved most interrupt related code to a new file, interrupt.S.jake2002-09-281-0/+1
|
* *.s -> *.S.jake2002-07-311-8/+8
|
* Add routines needed for high resolution profiling.jake2002-07-291-0/+1
|
* Move sio's ebus attachment to the MI files section so it is compiled injhb2002-07-241-1/+0
| | | | for any machines that use ebus.
* Move sio_isa.c back to MD files files due to PC98 brain damage.jhb2002-07-241-0/+1
|
* ebus is not a 'count' device. There are no NEBUS references.peter2002-07-201-1/+1
|
* Add the ebus sio attachment.obrien2002-07-191-0/+1
|
* Move all the sio(4) attachments (except for pc98's cbus attachment) to thejhb2002-07-151-5/+0
| | | | MI files file. We can't move sio.c because pc98 uses a custom version.
* Allow one to configure `sio'.obrien2002-06-181-0/+6
|
* Remove code from trap which is handled in userland now.jake2002-06-081-2/+0
|
* Merge the code in pv.c into pmap.c directly. Place all page mappings ontojake2002-05-291-1/+0
| | | | | | | | | | the pv lists in the vm_page, even unmanaged kernel mappings. This is so that the virtual cachability of these mappings can be tracked when a page is mapped to more than one virtual address. All virtually cachable mappings of a physical page must have the same virtual colour, or illegal alises can be created in the data cache. This is a bit tricky because we still have to recognize managed and unmanaged mappings, even though they are all on the pv lists.
* De-inline the tlb demap functions. These were so big that gcc3.1 refusedjake2002-05-201-0/+1
| | | | to inline them anyway. ;)
* Fix the ofw_isa.c entries, readd ofw_bus.c.tmm2002-04-051-4/+3
| | | | Pointy hat to: tmm
* Add the eeprom diver frontend files, correct the entry for ofw_isa.c.tmm2002-04-041-1/+5
|
* Compromise for critical*()/cpu_critical*() recommit. Cleanup the interruptdillon2002-03-271-0/+1
| | | | | | | | | | | | | | | | | | | disablement assumptions in kern_fork.c by adding another API call, cpu_critical_fork_exit(). Cleanup the td_savecrit field by moving it from MI to MD. Temporarily move cpu_critical*() from <arch>/include/cpufunc.h to <arch>/<arch>/critical.c (stage-2 will clean this up). Implement interrupt deferral for i386 that allows interrupts to remain enabled inside critical sections. This also fixes an IPI interlock bug, and requires uses of icu_lock to be enclosed in a true interrupt disablement. This is the stage-1 commit. Stage-2 will occur after stage-1 has stabilized, and will move cpu_critical*() into its own header file(s) + other things. This commit may break non-i386 architectures in trivial ways. This should be temporary. Reviewed by: core Approved by: core
* Add kern/syscalls.c, which is needed for some KTR traces in trap.c.tmm2002-03-251-0/+1
|
* Add a driver for the mem and kmem devices, based off the i386 version.tmm2002-03-091-0/+1
|
* - Speedup 3DES by using assembly code for i386.ume2002-03-051-0/+2
| | | | | | | - Sync des/blowfish to more recent openssl. Obtained from: KAME/NetBSD MFC after: 2 weeks
* Add counter.c and sbus.c. Unify style.tmm2002-02-131-6/+8
|
* Connect smp support to the kernel build.jake2002-01-081-0/+3
|
* Add entries for the recently committed code.tmm2001-11-091-1/+14
|
* Add emul.c and in_cksum.c, make the OpenFirmware console driver optional,tmm2001-11-061-3/+4
| | | | reorder a bit.
* Move procfs_* from procfs_machdep.c into sys_process.c, and rename them todes2001-10-211-1/+0
| | | | | | proc_* in the process; procfs_machdep.c is no longer needed. Run-tested on i386, build-tested on Alpha, untested on other platforms.
* Add identcpu.c.jake2001-09-301-0/+1
|
* Add rwindow.c, forgotten earlier.jake2001-09-041-0/+1
|
* Add code for supporting hardware watch points.jake2001-08-201-0/+1
| | | | Submitted by: tmm
* Add early code to support interrupts.jake2001-08-101-0/+2
|
* Add code model medlow to cflags and move the kernel load address fromjake2001-08-061-3/+3
| | | | | | just before the memory hole to 4 megs. Special case building exception.s like locore.s, it needs to at the beginning so the branches out from the trap table don't overflow.
* Add floating point context switching code for sparc64.tmm2001-08-041-0/+1
| | | | Reviewed by: jake
* Add a Makefile, ldscript, and config magic for sparc64. This is tailoredjake2001-08-031-0/+36
to build with a cross compiler alongside the standard compiler; it would be more desirable to build in a chroot.
OpenPOWER on IntegriCloud