summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
AgeCommit message (Collapse)Author
2008-07-12Adjust SUN4U_TLB_RESERVED_MASK for updated SUN4U_TLB_PA_MASK.Mark Kettenis
2008-07-12Add macros to get the appropriate interrupt target ID for non-UPA CPUs andMark Kettenis
use them in cpu_myid().
2008-07-10Add support for Fujitsu SPARC64-VI CPUs.Mark Kettenis
UltraSPARC I/II has a 41-bit physical address space, UltraSPARC III/IV has a 43-bit physical address space. The Fujitsu SPARC64-VI extends this to 46 bits. Adjust the TTE masks to take this into account and adjust some locore code that truncated physical addresses to 41 bits (fixing a potential bug for UltraSPARC III/IV too). While there, fix the locore code for UltraSPARC Architecture 2007 CPUs, which may support up to 56 bits of physical address space.
2008-07-10Add a function to get the time of day from the prom on the m4k.Mark Kettenis
2008-07-07Extend sbbc(4) to provide a console driver for the v1280.Mark Kettenis
2008-07-05Add function to read %tba.Mark Kettenis
2008-07-05The firmware on the v1280 changes %wstate behind our back. Work around thisMark Kettenis
problem by adopting the same encoding used by Solaris for the kernel windows. Note that this involves rearranging the trap vector tables, both fur sun4u and for sun4v.
2008-07-04Add T_MON_BREAKPOINT, the trap vector used by OBP for breakpoints.Mark Kettenis
2008-07-04Change trapbase from a pointer to a variable-length array such that it canMark Kettenis
actually be used to access trap vectors.
2008-06-26First pass at removing clauses 3 and 4 from NetBSD licenses.Ray Lai
Not sure what's more surprising: how long it took for NetBSD to catch up to the rest of the BSDs (including UCB), or the amount of code that NetBSD has claimed for itself without attributing to the actual authors. OK deraadt@
2008-06-09Sparc64 MMUs have an address hole, too, and the pmap implementation weMiod Vallat
are using has an even larger one, so implement pmap_remove_hole() to prevent mmap() from ever reaching the hole. feedback and ok kettenis@
2008-06-04adderss -> addressMiod Vallat
2008-05-24Add VER.impl values for Fujitsu CPUs.Mark Kettenis
2008-05-21Remove <machine/elf_abi.h> on platforms which have it. Nothing in the treeMiod Vallat
needs the few MD definitions they (sometimes) provide; only binutils is interested in them, but binutils provide their own include files for that purpose anyway. ok deraadt@ kettenis@
2008-05-21First step towards supporting sun4us machines with Fujitsu's SPARC64-V CPU.Mark Kettenis
2008-05-02Implement rw_cas correctly, unlike previous revision where I was obviouslyMiod Vallat
on drugs; ok kettenis@
2008-04-28Rename IPL_SOFTSERIAL to IPL_SOFTTTY. Sprinkle some KNF while I'm there.Mark Kettenis
2008-04-20Implement locking of sun4u TSB entries for MULTIPROCESSOR kernels.Mark Kettenis
Make sun4v code use the new TSB_TAG_LOCKED define.
2008-04-17Really try to schedule clock ticks at fixed intervals. Make sure hardclock()Mark Kettenis
gets called for every clock tick, even if we miss one.
2008-04-15Add workaround for UltraSPARC-II errata, where writes to %tick_cmpr wouldMark Kettenis
sometimes fail, which would result in the periodic clock interrupts on a CPU stop. Spotted in a NetBSD commit message, loosely based on code in OpenSolaris.
2008-04-13Use %g7 to store a pointer `struct cpu_info', and use it whereever possible.Mark Kettenis
2008-03-31Make MULTIPROCESSOR kernels work on sun4v. Won't gracefully halt, powerdownMark Kettenis
or reboot yet, but that will (hopefully) be fixed in the near future.
2008-03-30More sun4v support. GENERIC and RAMDISK kernels will now boot on bothMark Kettenis
sun4u and sun4v. GENERIC.MP won't work yet though.
2008-03-23Add code to initialize CPUs on sun4v.Mark Kettenis
2008-03-23Sigh! The sun4v TTEs have a different layout than sun4u TTEs. Rename theMark Kettenis
existing sun4u defines and add sun4v. For now, decide which set to use at compile time. Change the sun4u-specific code in locore.s to use the sun4u defines.
2008-03-22Reintroduce the cputyp variable, and use it to distinguish between sun4u andMark Kettenis
sun4v.
2008-03-19Add prom_itlb_load() and prom_dtlb_load().Mark Kettenis
2008-03-17Remove KGDB code. It was never converted to 64-bit, and just makes locore.sMark Kettenis
even more unreadable.
2008-03-15Make GENERIC.MP work on the e10k. The e10k is a bit funky since UPA onlyMark Kettenis
supports 32 ports, and a machine with up to 64 CPUs obviously needs more. So the machine has a special ASIC that does port translation, and because of that we need to distinguish between port ID's and interrupt target ID's.
2008-03-12Introduce a per-handler interrupt acknowledgement function.Mark Kettenis
2008-03-09Add vcons(4).Mark Kettenis
2008-03-08Add som sun4v-specific ASIs.Mark Kettenis
2008-03-08UltraSPARC Hypervisor interfaces for sun4v.Mark Kettenis
2008-03-08Introduce a function to check the "status" property of an OFW node, and use itMark Kettenis
to avoid attaching disabled or failed devices. This should make it possible to manually deconfigure devices on mid-range and high-end servers like the V880 using the "asr-disable" PROM command, and make OpenBSD avoid using hardware that has been detected as faulty by the POST or OpenBoot Diagnostics.
2008-03-08SUNW,set-trap-table takes an extra argument on sun4v; sun4u doesn't seem toMark Kettenis
mind. tested by miod@
2008-03-01Add getpropspeed(); a function which decodes a property describing a serialMark Kettenis
port configuration and returns the configured speed.
2008-02-20make tda(4) run the fans at maximum speed when we are about to dropRobert Nagy
drop to ddb(4) in order to avoid overheating in case of a system crash. ok kettenis@
2008-02-18remove the definition of amd7930_trap(), it is not used anywhere.Robert Nagy
ok kettenis@
2008-02-14Make sure an interrupt handler does not get on the per-cpu list of pendingMark Kettenis
interrupts twice, with one exception: interrupt handlers are allowed to be on the tail of said lists (needed for clock interrupts on MP kernels). Prevents losing interrupts. Makes usb keyboard as console work on Sun Blade 1000/2000 with MP kernels.
2008-01-19Simplify CLKF_INTR by making it look at the saved interrupt level,Mark Kettenis
instead of the stack pointer.
2008-01-19Make host bridges provide their own implementation of pci_conf_read() andMark Kettenis
pci_conf_write() and give pyro(4) an implementation suitable for PCIe. For psycho(4) and schizo(4), go back to the origional implementation. This gets rid of the 'tagshift' member of pci_chipset_tag_t, and clears the way for sun4v.
2008-01-16Simplify spilling register windows into the pcb by storing the stack pointerMark Kettenis
seperately from the window and copying out data back to the stack by using the T_RWRET softtrap and rwindow_save().
2008-01-06Add STICK_INT.Mark Kettenis
2008-01-03Add an explicit clobber to prevent gcc from reordering instructions aroundMiod Vallat
sparc_wrpr(), similar to the psl.h changes years ago; ok kettenis@
2008-01-01Implement an MP-safe rw_cas() based upon the casx instruction; ok kettenis@Miod Vallat
2007-12-14Remove a lot of symbols from the namespace, otherwise sys/sysctl.h andTheo de Raadt
rpc/pmap_prot.h collide.. "struct pmap" from the kernel should not make it out to userland.
2007-11-28Garbage collect sparc_cas() and sparc_casx(). We have equivalent functionsMark Kettenis
in <machine/atomic.h> now and they're not used anywhere in our tree.
2007-11-28Use cas/casx instead of casa/casxa.Mark Kettenis
2007-11-27Like i386 and amd64 - make the __mp_lock not spin at splhigh.Mark Kettenis
help from & ok art@
2007-11-26Move the implementation of __mp_lock (biglock) into machine dependentArtur Grabowski
code. At this moment all architectures get the copy of the old code except i386 which gets a new shiny implementation that doesn't spin at splhigh (doh!) and doesn't try to grab the biglock when releasing the biglock (double doh!). Shaves 10% of system time during kernel compile and might solve a few bugs as a bonus. Other architectures coming shortly. miod@ deraadt@ ok