aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/include/md_var.h
Commit message (Collapse)AuthorAgeFilesLines
* Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MIMarcel Moolenaar2003-08-161-3/+0
| | | | | | | | | | | | | | | | | | | | | | prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to cpu.h. This affects db_command.c and kern_shutdown.c. ia64: move all MD prototypes from cpu.h to md_var.h. This affects madt.c, interrupt.c and mp_machdep.c. Remove is_physical_memory(). It's not used (vm_machdep.c). alpha: the MD prototypes have been left in cpu.h with a comment that they should be there. Moving them is left for later. It was expected that the impact would be significant enough to be done in a seperate commit. powerpc: MD prototypes left in cpu.h. Comment added. Suggested by: bde Tested with: make universe (pc98 incomplete) Notes: svn path=/head/; revision=118990
* Export the ns_per_tick variable through md_var.h rather than by declaringBenno Rice2003-02-051-0/+2
| | | | | | | it extern in cpu.c. Notes: svn path=/head/; revision=110388
* Add cpu.c. This contains one exported function, cpu_setup(), which handlesBenno Rice2003-02-051-0/+2
| | | | | | | | | setup of and printing information about cpus. Obtained from: NetBSD (parts) Notes: svn path=/head/; revision=110386
* - Rename the "powerpc" timecounter to the "decrementer" timecounter.Benno Rice2003-02-051-0/+2
| | | | | | | - Initialise it earlier. Notes: svn path=/head/; revision=110380
* Change hw.physmem and hw.usermem to unsigned long like they used to bePeter Wemm2002-08-301-1/+1
| | | | | | | | | | | | | | | | in the original hardwired sysctl implementation. The buf size calculator still overflows an integer on machines with large KVA (eg: ia64) where the number of pages does not fit into an int. Use 'long' there. Change Maxmem and physmem and related variables to 'long', mostly for completeness. Machines are not likely to overflow 'int' pages in the near term, but then again, 640K ought to be enough for anybody. This comes for free on 32 bit machines, so why not? Notes: svn path=/head/; revision=102600
* Remove __P.Alfred Perlstein2002-03-201-5/+5
| | | | | | | Reveiwed by: benno Notes: svn path=/head/; revision=92842
* Complete rework of the PowerPC pmap and a number of other bits in the earlyBenno Rice2002-02-141-0/+3
| | | | | | | | | | | | | | | | | boot sequence. The new pmap.c is based on NetBSD's newer pmap.c (for the mpc6xx processors) which is 70% faster than the older code that the original pmap.c was based on. It has also been based on the framework established by jake's initial sparc64 pmap.c. There is no change to how far the kernel gets (it makes it to the mountroot prompt in psim) but the new pmap code is a lot cleaner. Obtained from: NetBSD (pmap code) Notes: svn path=/head/; revision=90643
* [partially forced commit due to pilot error in earlier commit attempt]Dag-Erling Smørgrav2001-10-211-4/+0
| | | | | | | | | | | | | | | | | | | | {set,fill}_{,fp,db}regs() fixup: - Add dummy {set,fill}_dbregs() on architectures that don't have them. - KSEfy the powerpc versions (struct proc -> struct thread). - Some architectures had the prototypes in md_var.h, some in reg.h, and some in both; for consistency, move them to reg.h on all platforms. These functions aren't really MD (the implementation is MD, but the interface is MI), so they should move to an MI header, but I haven't figured out which one yet. Run-tested on i386, build-tested on Alpha, untested on other platforms. Notes: svn path=/head/; revision=85294
* vm_page_zero_idle() is no longer MD.Peter Wemm2001-08-251-1/+0
| | | | Notes: svn path=/head/; revision=82313
* This commit (along with one pending in sys/dev/ofw and one in sys/conf) giveBenno Rice2001-06-161-18/+0
| | | | | | | | | | | | | | | | us our first minimal glimpse of PowerPC support. With this code we can get to the "mountroot>" prompt on my Apple iMac. We can't get any further due to lack of clock and interrupt handling, among other things. This does however mean that pmap and VM are initialising. We're fairly dependant on OpenFirmware at this point, but I hope to add support for other classes of firmware at a later stage. Reviewed by: obrien, dfr Notes: svn path=/head/; revision=78342
* Next phase in the PCI subsystem cleanup.Mike Smith2000-12-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - Move PCI core code to dev/pci. - Split bridge code out into separate modules. - Remove the descriptive strings from the bridge drivers. If you want to know what a device is, use pciconf. Add support for broadly identifying devices based on class/subclass, and for parsing a preloaded device identification database so that if you want to waste the memory, you can identify *anything* we know about. - Remove machine-dependant code from the core PCI code. APIC interrupt mapping is performed by shadowing the intline register in machine- dependant code. - Bring interrupt routing support to the Alpha (although many platforms don't yet support routing or mapping interrupts entirely correctly). This resulted in spamming <sys/bus.h> into more places than it really should have gone. - Put sys/dev on the kernel/modules include path. This avoids having to change *all* the pci*.h includes. Notes: svn path=/head/; revision=69783
* Remove the last of the MD netisr code. It is now all MI. RemoveJake Burkholder2000-12-051-1/+0
| | | | | | | | | | | spending, which was unused now that all software interrupts have their own thread. Make the legacy schednetisr use an atomic op for setting bits in the netisr mask. Reviewed by: jhb Notes: svn path=/head/; revision=69586
* - Overhaul the software interrupt code to use interrupt threads for eachJohn Baldwin2000-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | type of software interrupt. Roughly, what used to be a bit in spending now maps to a swi thread. Each thread can have multiple handlers, just like a hardware interrupt thread. - Instead of using a bitmask of pending interrupts, we schedule the specific software interrupt thread to run, so spending, NSWI, and the shandlers array are no longer needed. We can now have an arbitrary number of software interrupt threads. When you register a software interrupt thread via sinthand_add(), you get back a struct intrhand that you pass to sched_swi() when you wish to schedule your swi thread to run. - Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit more intuitive. Also, prefix all the members of struct intrhand with 'ih_'. - Make swi_net() a MI function since there is now no point in it being MD. Submitted by: cp Notes: svn path=/head/; revision=67551
* - Heavyweight interrupt threads on the alpha for device I/O interrupts.John Baldwin2000-10-051-2/+4
| | | | | | | | | | | | | | - Make softinterrupts (SWI's) almost completely MI, and divorce them completely from the x86 hardware interrupt code. - The ihandlers array is now gone. Instead, there is a MI shandlers array that just contains SWI handlers. - Most of the former machine/ipl.h files have moved to a new sys/ipl.h. - Stub out all the spl*() functions on all architectures. Submitted by: dfr Notes: svn path=/head/; revision=66698
* Support bounce buffers for ISA DMA on the alpha. This is required for theAndrew Gallatin2000-06-191-0/+1
| | | | | | | | | | irongate chipset (used in the UP1000) which does not support scatter/gather DMA. We'll still use scatter gather if the core logic chipset supports it. Reviewed by: dfr Notes: svn path=/head/; revision=61825
* Handle PCI devices that actually use an ISA IRQ for the cia and tsunamiJohn Baldwin2000-05-101-0/+6
| | | | | | | | | | | chipsets. An example of this is the USB controller on these chipsets. With this, I can now use USB devices on the test Alpha I am borrowing at the moment. Reviewed by: dfr, obrien Notes: svn path=/head/; revision=60334
* Update the ata driver to take more advantage of newbus, thisSøren Schmidt2000-02-181-1/+6
| | | | | | | | | | | | | | | | | | | was needed to make attach/detach of devices work, which is needed for the PCCARD support. (PCCARD support is still not working though, more to come on that) Support the CMD646 chip which is used on many alphas, sadly only in WDMA2 mode, as the silicon is broken beyond belief for UDMA modes. Lots of cosmetic fixes here and there. Sorry for the size of this megapatchfromhell but it was not possible otherwise... newbus patches based on work from: dfr (Doug Rabson) Notes: svn path=/head/; revision=57325
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Add alpha_platform_setup_ide_intr() and alpha_platform_assign_pciintr()Peter Wemm1999-07-011-1/+6
| | | | | | | prototypes. Notes: svn path=/head/; revision=48427
* Declare busdma_swi() like on i386 version.Peter Wemm1999-07-011-1/+2
| | | | Notes: svn path=/head/; revision=48423
* Add the ability to specify where on the at_shutdown queue a handler isMike Smith1998-10-301-2/+1
| | | | | | | | | | | | installed. Remove cpu_power_down, and replace it with an entry at the end of the SHUTDOWN_FINAL queue in the only place it's used (APM). Submitted by: Some ideas from Bruce Walter <walter@fortean.com> Notes: svn path=/head/; revision=40751
* Automatically detect which disk was booted and change the root to that disk.Doug Rabson1998-09-261-1/+3
| | | | Notes: svn path=/head/; revision=39676
* Add new functions fill_fpregs() and set_fpregs(), like fill_regs()John Polstra1998-09-141-1/+7
| | | | | | | | | | | and set_regs() but for the floating point register state. The code is stolen from procfs_machdep.c, and moved out of there into machdep.c. These functions are needed for generating ELF core dumps. Notes: svn path=/head/; revision=39197
* Overhaul the spl system so that it actually works properly.Doug Rabson1998-07-121-1/+2
| | | | Notes: svn path=/head/; revision=37598
* Add initial support for the FreeBSD/alpha kernel. This is very much aDoug Rabson1998-06-101-0/+50
work in progress and has never booted a real machine. Initial development and testing was done using SimOS (see http://simos.stanford.edu for details). On the SimOS simulator, this port successfully reaches single-user mode and has been tested with loads as high as one copy of /bin/ls :-). Obtained from: partly from NetBSD/alpha Notes: svn path=/head/; revision=36849