summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
AgeCommit message (Collapse)Author
2011-07-06Handle pci_conf_read() faults on reading non-existent registers that resultMark Kettenis
in master aborts. Return 0xffffffff to emulate what happens on non-perfect architectures in that case. ok deraadt@
2011-07-06Move pci_msi_enable() out of the vpci(4) driver into the MD pci(4) code.Mark Kettenis
Soon to be used by pyro(4) as well.
2011-07-02Per recommandation in the the sparc docs, use unlocked reads whenPhilip Guenthe
spinning on a contended lock. ok kettenis@
2011-06-26Implement pci_intr_map_msi().Mark Kettenis
2011-06-26Missed a parameter in the pci_msi_setmsiq hypervisor call.Mark Kettenis
2011-06-25Add MSI hypervisor calls.Mark Kettenis
2011-06-24machdep.kbdreset enables a shutdown by Ctrl-Alt-Del on amd64 andChristian Weisgerber
i386. Stop abusing it on other archs for controling a shutdown by pressing the soft power button: * Add a MI sysctl hw.allowpowerdown; if set to 1 (the default) it allows a power button shutdown. * Make acpi(4)/acpibtn(4) honor hw.allowpowerdown. * Switch the various power button intercepts on landisk, sgi, sparc64 and zaurus over to hw.allowpowerdown. * Garbage collect the machdep.kbdreset sysctl on all archs other than amd64 and i386. ok miod@
2011-05-30Remove the freelist member from vm_physsegOwain Ainsworth
The new world order of pmemrange makes this data completely redundant (being dealt with by the pmemrange constraints instead). Remove all code that messes with the freelist. While touching every caller of uvm_page_physload() anyway, add the flags argument to all callers (all but one is 0 and that one already used PHYSLOAD_DEVICE) and remove the macro magic to allow callers to continue without it. Should shrink the code a bit, as well. matthew@ pointed out some mistakes i'd made. ``freelist death, I like. Ok.' ariane@ `I agree with the general direction, go ahead and i'll fix any fallout shortly'' miod@ (68k 88k and vax i could not check would build)
2011-05-25Also enclose variable names with external linkage in __BEGIN_DECLS.Martynas Venckus
Doesn't matter much since C++ ABI used by GCC doesn't mangle variable names; however technically is required by Section 7.5 of the C++ spec. Discussed with/OK guenther@, matthew@.
2011-05-21It's better to have the pci_intr_map_msi() stub return -1.Mark Kettenis
2011-05-21Add pci_intr_map_msi() stub.Mark Kettenis
2011-05-18Turns out VA_ALIAS_MASK is indeed a mask, but with the PAGE_MASK deceptivelyAriane van der Steldt
zeroed out. Documented this in code and updated PMAP_PREFER_* macros to use the corrected values. Discussed with and ok miod@
2011-05-18Better make PMAP_PREFER_ALIGN() a rounded value, as done on other arches;Miod Vallat
while there fix PMAP_PREFER_OFFSET() for good too, after discussion with ariane@
2011-05-18Off-by-two in PMAP_PREFER_ALIGN definition; found the hard way by matthieu@Miod Vallat
2011-04-28Expose pmap_prefer parameters.Ariane van der Steldt
Enables future uvm_map code to make intelligent decisions during allocation. No functional change.
2011-04-28fenv improvements and cleanupsMartynas Venckus
2011-04-25fenv for sparc; mostly cloned from sparc64Martynas Venckus
2011-04-24fenv for i386, and sparc64; from matthew@Martynas Venckus
not reviewed yet, but it's better to track changes in cvs
2011-04-07Make sure the ALIGN() macro uses u_long on all platforms for consistency, andMiod Vallat
update the comment block accordingly.
2011-03-23Including <sparc64/intreg.h> here is ugly, but intr.h only comes fromTheo de Raadt
<machine/cpu.h> if _KERNEL is defined. The bootblocks are stupid, and for now they need this. We need more namespace cleanup, for sure.
2011-03-23Normalize sentinel. Use _MACHINE_*_H_ and _<ARCH>_*_H_ properly and consitently.Paul Irofti
Discussed and okay drahn@. Okay deraadt@.
2011-03-11Use _MACHINE_ENDIAN_H_ for this is The Right Thing To Do.Paul Irofti
Okay guenther@, millert@.
2010-12-30add a simple __va_copy inside ifdef lint, from tim van der molen.Ted Unangst
ok guenther
2010-12-26Kill pmap_phys_address(), and force every driver's mmap() routine to returnMiod Vallat
a physical address [more precisely, something suitable to pass to pmap_enter()'sphysical address argument]. This allows MI drivers to implement mmap() routines without having to know about the pmap_phys_address() implementation and #ifdef obfuscation.
2010-12-21Convert netisr to a normal soft interrupt instead of hanving MD codeClaudio Jeker
for it. This makes the netisr a real C function which will help further development. No noticable performance change on i386 and amd64. With input from kettenis@ and miod@ additional OKs mikeb@ and henning@
2010-12-15oops, i forgot to check in the BRKSIZ define in uvm, but deraadt thinksTed Unangst
its better as a per arch MD define anyway. all default to MAXDSIZ as before.
2010-12-06Change the signature of PMAP_PREFER from void PMAP_PREFER(..., vaddr_t *) toMiod Vallat
vaddr_t PMAP_PREFER(..., vaddr_t). This allows better compiler optimization when the function is inlined, and avoids accessing memory on architectures when we can pass function arguments in registers.
2010-12-04Introduce a new pci routine, pci_conf_size(), which returns the size of aMiod Vallat
given pcitag_t configuration address space. Currently, all pci controllers will return the usual 0x100 bytes of PCI configuration space, but this will eventually change on PCIe-capable controlers. ok kettenis@
2010-11-27Remove ddb single-step load and store counters. Most platforms do notMiod Vallat
implement them, and they are of questionable usefulness.
2010-11-27Misaligned load/store recovery code in the kernel, enabled by T_FIXALIGNMiod Vallat
userland traps on a per-process basis, were necessary for *some* SunOS binaries on sparc, which had to compiled with explicit misaligned access code generation (i.e. for vendors to release a working SunOS/sparc version of their code until they could fix their bogus code). There is no reason to keep this code on sparc64, and now that we don't provide COMPAT_SUNOS anymore, there is no reason to keep this code on sparc. ok kettenis@
2010-11-22Remove unused VM_MAX_KERNEL_BUF define.Miod Vallat
2010-09-28Implement a per-cpu held mutex counter if DIAGNOSTIC on all non-x86 platforms,Miod Vallat
to complete matthew@'s commit of a few days ago, and drop __HAVE_CPU_MUTEX_LEVEL define. With help from, and ok deraadt@.
2010-07-21Fix more cdev initializations which were using enodev for poll; ok kettenisTheo de Raadt
2010-07-07Implement atomic_add_ulong.Mark Kettenis
ok art@
2010-06-29Add support for mapping ACPI to PCI devicesJordan Hargrave
ok kettenis, deraadt
2010-06-28Change MAXDSIZ and MAXSSIZ to more reasonable values for a 64-bit architecture.Mark Kettenis
ok deraadt@, miod@
2010-06-27Add the TPOFF* and DTP{MOD,OFF}* definitions that ld.so will need forPhilip Guenthe
doing thread-local storage and fix a typo in one that was already defined. ok kettenis@ drahn@
2010-06-27uvm constraints. Add two mandatory MD symbols, uvm_md_constraintsThordur I. Bjornsson
which contains the constraints for DMA/memory allocation for each architecture, and dma_constraints which contains the range of addresses that are dma accessable by the system. This is based on ariane@'s physcontig diff, with lots of bugfixes and additions the following additions by my self: Introduce a new function pool_set_constraints() which sets the address range for which we allocate pages for the pool from, this is now used for the mbuf/mbuf cluster pools to keep them dma accessible. The !direct archs no longer stuff pages into the kernel object in uvm_km_getpage_pla but rather do a pmap_extract() in uvm_km_putpages. Tested heavily by my self on i386, amd64 and sparc64. Some tests on alpha and SGI. "commit it" beck, art, oga, deraadt "i like the diff" deraadt
2010-06-18Remove obsolete dvmamap comment.Miod Vallat
2010-05-31there is no spllpt(), since lpt's are just tty devices (call tty functions,Theo de Raadt
and thus should be using spltty() from Matthew Dempsky ok oga guenther
2010-05-10/* XXX - we don't use __COMPILER_INT64__ */ so remove it.Mark Kettenis
ok millert@
2010-04-27Fix inline assembler to make it acceptable to gcc4. Based on a diff fromMark Kettenis
guenther@ for sparc, pointed out to me by miod@.
2010-04-22Committing on behalf or ariane@.Owain Ainsworth
recommit pmemrange: physmem allocator: change the view of free memory from single free pages to free ranges. Classify memory based on region with associated use-counter (which is used to construct a priority list of where to allocate memory). Based on code from tedu@, help from many. Useable now that bugs have been found and fixed in most architecture's pmap.c ok by everyone who has done a pmap or uvm commit in the last year.
2009-12-31Add a few more hypervisor calls.Mark Kettenis
2009-11-30Add inline function to read %fprs.Mark Kettenis
2009-11-27Move MB_LEN_MAX into the machine-independent sys/limits.h header,Philip Guenthe
rather than defining it separately for each architecture. Also set it to 4, to accommodate for future UTF-8 support (rfc3629). Diff by stsp, committing to catch the libc major bump ok kettenis@, guenther@
2009-11-04Get rid of __HAVE_GENERIC_SOFT_INTERRUPTS now that all our platforms support it.Mark Kettenis
ok jsing@, miod@
2009-08-22Constify the what/name parameter of pci_intr_establish().Michael Knudsen
Tested by myself, sthen, oga, kettenis, and jasper. Input from sthen and jasper. ok kettenis (Manpage follows shortly.)
2009-07-21Change the rbus md_space_{map,unmap} signature to take a rbus_tag_t insteadMiod Vallat
of the bus_space_tag_t it contains; an upcoming implementation will need to know the rbus_tag_t for which it works at this point. All callers updated accordingly; no functional change intended.
2009-07-20Pass a pci_chipset_tag_t to pci_intr_line(), to eventually allow theMiod Vallat
logic to be chipset dependent; no functional change yet. ok kettenis@