summaryrefslogtreecommitdiffstats
path: root/sys/alpha
Commit message (Collapse)AuthorAgeFilesLines
* Revert part of previous- I misunderstood the use of 'ncpus'- I thought it'dmjacob2001-08-011-3/+1
| | | | been hack to keep clocks from being reinitialized.
* Don't initialize a clock twice (it's not a function of number ofmjacob2001-08-011-3/+5
| | | | cpus).
* Use a machine dependent type, Elf_Hashelt, for the elements of the elfjake2001-07-311-0/+11
| | | | | | | | dynamic symbol table buckets and chains. The sparc64 toolchain uses 32 bit .hash entries, unlike other 64 bits architectures (alpha), which use 64 bit entries. Discussed with: dfr, jdp
* Make PMAP_SHPGPERPROC tunable. One shouldn't need to recompile a kernelpeter2001-07-271-1/+5
| | | | | | | for this, since it is easy to run into with large systems with lots of shared mmap space. Obtained from: yahoo
* Call the early tunable setup functions as soon as kern_envp is available.peter2001-07-261-0/+3
| | | | Some things depend on hz being set not long after this.
* - Do not handle the per-CPU containers in mbuf code as though the cpuidsbmilekic2001-07-261-5/+6
| | | | | | | | | | | | | | | | | were indices in a dense array. The cpuids are a sparse set and treat them as such, setting up containers only for CPUs activated during mb_init(). - Fix netstat(1) and systat(1) to treat the per-CPU stats area as a sparse map, in accordance with the above. This allows us to properly boot with certain CPUs disactivated. However, if we later decide to re-activate said CPUs, we will barf until we decide to implement CPU spinon/spinoff callback hooks to allow for said CPUs' per-CPU containers to get configured on their activation. Reported by: mjacob Partially (sys/ diffs) Submitted by: mjacob
* Simplify the implementation of pmap_emulate_reference(). The new versiondfr2001-07-243-59/+76
| | | | | | | simply manipulates the pte which faulted instead of traversing the mapping list for that page. This makes it possible to complete the trap without needing locks and incidentally improves the accuracy of some statistics used by the VM system.
* You were knocked senseless by the Boomerang, spun around by the Cyclone,wpaul2001-07-232-0/+2
| | | | | | | | | | | | | | | | | | blown over by the Hurricane and had a house dropped on you by the Tornado. Now it's time to have your parade rained on by... the Typhoon! This commit adds driver support for 3Com 3cR990 10/100 ethernet adapters based on the Typhoon I and Typhoon II chipsets. This is actually a port of the OpenBSD driver with many hacks by me. No Virginia, there isn't any support for the hardware crypto yet. However there is support for TCP/IP checksum offload and VLANs. Special thanks go to Jason Wright, Aaron Campbell and Theo de Raadt for squeezing enough info out of 3Com to get this written, and for doing most of the hard work. Manual page is included. Compiled as a module and included in GENERIC.
* Now that config(8) has stopped breaking POLA (mkmakefile.c rev 1.69) byobrien2001-07-151-25/+25
| | | | | always including <KERNEL>.hints if its exist reguardless of the lack of a "hints" directive in the <KERNEL> file; we can have a real hints file again.
* Turn off preemption on the Alpha for the time being. Peter and JHB aren'tobrien2001-07-151-1/+1
| | | | | | | | | | | | sure when things got so bad (JHB says preemption worked just fine for months before the AlbertVM commit). Even post DillionVM locking commit, Miatas (DEC Personal Workstations) are very fragile -- not making it thru a world build. With this patch it does. Those hacking on SMPng will want to locally back out this commit. The rest of us will want to run with it until the SMPng guys figure out the problem(s). Submitted by: peter
* Fix reboot hangs that have happened with multiple processorsmjacob2001-07-144-3/+26
| | | | | | | | | | | | | on Alpha 4100s. Basically, if you're halting or you're rebooting, you should tell all other processors to halt first. Define IPI_HALT- IPI_STOP is not what we want for this purpose, which will call prom_halt(0) on receipt. The processor running the halt or reboot wil send an IPI_HALT to all other processors, delay a bit, then continue to do what what it was planning on doing (prom_halt({0|1})).
* Move fxp to the miibus section where it belongs.dd2001-07-142-2/+2
|
* I really should have just commented out this intire file vs. removing allobrien2001-07-131-0/+25
| | | | | the contents. One may still want the contents as reference for creating /boot/device.hints.
* Hints processing is FUBAR'ed right now.obrien2001-07-131-25/+0
| | | | | | | By default, we will end up with a duplicate set of hints if people have a properly populated /boot/device.hints. So for now, remove the hints here until Peter revisits the new hints processing from mid-June that broke Alpha booting.
* `pcn' supports AMD Am79C97x cards, not Am79C79x cards.dd2001-07-132-2/+2
| | | | | PR: 28946 Submitted by: Ryuichiro Imura <imura@ryu16.org>
* Add 'hwatch' and 'dhwatch' ddb commands analogous to 'watch' andbsd2001-07-111-0/+33
| | | | | | | | | | 'dwatch'. The new commands install hardware watchpoints if supported by the architecture and if there are enough registers to cover the desired memory area. No objection by: audit@, hackers@ MFC after: 2 weeks
* Sanity guard- return ENODEV if we don't have a good IRQ resource.mjacob2001-07-111-0/+3
|
* Slight cleanliness- add an unlock of Giant in one dopanic case. Domjacob2001-07-111-9/+6
| | | | some very minor formatting changes.
* A set of changes to reduce the number of include files the kerneljulian2001-07-082-2/+2
| | | | | | takes from /usr/include. I cannot check them on alpha.. (will try beast) Briefly looked at by: Warner Losh <imp@harmony.village.org>
* Bracket call to vm_page_flag_set with required Giant lock/unlock.mjacob2001-07-051-1/+4
|
* You cannot require Giant to be locked when you haven't acquired it yet.mjacob2001-07-051-2/+4
|
* Move vm_page_zero_idle() from machine-dependant sections to adillon2001-07-051-64/+0
| | | | | machine-independant source file, vm/vm_zeroidle.c. It was exactly the same for all platforms and updating them all was getting annoying.
* Reorg vm_page.c into vm_page.c, vm_pageq.c, and vm_contig.c (for contigmalloc).dillon2001-07-041-1/+1
| | | | | | | | | | | Also removed some spl's and added some VM mutexes, but they are not actually used yet, so this commit does not really make any operational changes to the system. vm_page.c relates to vm_page_t manipulation, including high level deactivation, activation, etc... vm_pageq.c relates to finding free pages and aquiring exclusive access to a page queue (exclusivity part not yet implemented). And the world still builds... :-)
* With Alfred's permission, remove vm_mtx in favor of a fine-grained approachdillon2001-07-046-34/+19
| | | | | | | | | (this commit is just the first stage). Also add various GIANT_ macros to formalize the removal of Giant, making it easy to test in a more piecemeal fashion. These macros will allow us to test fine-grained locks to a degree before removing Giant, and also after, and to remove Giant in a piecemeal fashion via sysctl's on those subsystems which the authors believe can operate without Giant.
* Follow Bruce's suggestions. They're probably wrong, but better than before.mjacob2001-07-041-3/+10
|
* Allow Giant to be recursed when a process terminates.jhb2001-07-031-2/+2
|
* gif(4) and stf(4) modernization:brooks2001-07-022-2/+2
| | | | | | | | | | | - Remove gif dependencies from stf. - Make gif and stf into modules - Make gif cloneable. PR: kern/27983 Reviewed by: ru, ume Obtained from: NetBSD MFC after: 1 week
* Don't need the .keep_me files. Obrien and I committed past each other.imp2001-07-012-1/+1
| | | | | | | Add 0-9 to the list of possible kernel names at matsushita-san's suggestion. Submitted by: Makoto MATSUSHITA-san <matusita@jp.FreeBSD.org>
* Ensure sys/${MACHINE}/compile/FOO existsobrien2001-06-301-0/+0
| | | | Reviewed by: arch, imp, peter, and the USENIX terminal room secret kernel cabal
* Really do proper keepme files in the compile directories. Useimp2001-06-301-0/+1
| | | | | | | | | | .cvsignore file for [A-Za-z]* to keep these directories around rather than waste a file on .keepme. This should also make people's built trees place nice with CVS. Idea for .cvsignore: peter (although I suggested the regexp) Pointed out by: Makoto MATSUSHITA-san <matusita@jp.FreeBSD.org> Llama's costuming by: Fernamdo Llamas
* Repo copy i8237.h to dev/ic so we can get rid of some of the final vestigesimp2001-06-301-1/+1
| | | | of includes of i386 files from non-i386 ports.
* Move ast() and userret() to sys/kern/subr_trap.c now that they are MI.jhb2001-06-292-114/+0
|
* Add a new MI pointer to the process' trapframe p_frame instead of usingjhb2001-06-297-42/+40
| | | | | | various differently named pointers buried under p_md. Reviewed by: jake (in principle)
* Grab Giant around fault handling at the top level for now.jhb2001-06-291-0/+3
|
* Allow the clock lock to recurse.jhb2001-06-251-1/+1
|
* - Grab the vm lock around all of pmap_emulate_reference() as it manipulatesjhb2001-06-252-8/+14
| | | | | | | vm_page_t's. - Add a KTR_TRAP tracepoint to trap() on the alpha that displays the contents of a0, a1, and a2 to make debugging of nested traps that panic before displaying any useful output easier.
* fix oopslet for PROC_UNLOCK_NOSWITCHmjacob2001-06-241-1/+1
|
* - Grab the proc lock around CURSIG and postsig(). Don't release the procjhb2001-06-221-2/+4
| | | | | | | | lock until after grabbing the sched_lock to avoid CURSIG racing with psignal. - Don't grab Giant for addupc_task() as it isn't needed. Reported by: tegge (signal race), bde (addupc_task a while back)
* Be conservative and always perform an mb after an atomic_cmpset operation.jhb2001-06-221-0/+2
|
* Doh, missed a printf -> db_printf in the previous commit.jhb2001-06-221-1/+1
|
* Clean up some junk. The bogus trapframe on the stack was removed from thepeter2001-06-161-7/+0
| | | | MI code in August 2000 elsewhere.
* I'm a dunce. Clean up some warnings by axeing some unused variables fromjhb2001-06-151-2/+0
| | | | the previous commit.
* Updates and tweaks to the new trace functionality:jhb2001-06-151-37/+44
| | | | | | | | | | | | | - Use db_printf() instead of printf(). - Clean up decode_syscall() to use regular if-then-else rather than goto's. - Use the same method of parsing PID's for per-process traces as the x86 code does: that is, if the address passed in is not a valid kernel address, treat it is a decimal pid. - If the pid of the current process is specified, fall back to using the "default" parameters for the trace as curproc's pcb is not valid at this point. MFC after: 1 week
* oops. prepare_usermode() died in August 2000 in the MI and x86 code.peter2001-06-151-8/+0
| | | | Issue raised by: scottl
* If we're not going to use am7990_shutdown, comment it all out.mjacob2001-06-141-0/+4
| | | | MFC after: 2 weeks
* Fix Assembler buglet: Warning: .end directive names different symbol than .entmjacob2001-06-141-1/+1
| | | | MFC after: 2 weeks
* As per comments in sys/linker_set.h:peter2001-06-141-313/+0
| | | | | | BANG! BANG! BANG! BANG! BANG! BANG! CLICK! CLICK! CLICK! CLICK! CLICK! <reload> BANG! BANG! BANG! BANG! BANG! BANG! CLICK! CLICK! CLICK! CLICK! CLICK!
* initialize mp_ncpus in cpu_mp_probe() so that if the probe fails andgallatin2001-06-131-2/+2
| | | | | | cpu_mp_start() is never called, mp_ncpus will have a non-zero value. This prevents systat from dying with an arithmatic exception caused by a divide-by-zero error on UP alphas running a GENERIC kernel.
* With this commit, I hereby pronounce gensetdefs past its use-by date.peter2001-06-132-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace the a.out emulation of 'struct linker_set' with something a little more flexible. <sys/linker_set.h> now provides macros for accessing elements and completely hides the implementation. The linker_set.h macros have been on the back burner in various forms since 1998 and has ideas and code from Mike Smith (SET_FOREACH()), John Polstra (ELF clue) and myself (cleaned up API and the conversion of the rest of the kernel to use it). The macros declare a strongly typed set. They return elements with the type that you declare the set with, rather than a generic void *. For ELF, we use the magic ld symbols (__start_<setname> and __stop_<setname>). Thanks to Richard Henderson <rth@redhat.com> for the trick about how to force ld to provide them for kld's. For a.out, we use the old linker_set struct. NOTE: the item lists are no longer null terminated. This is why the code impact is high in certain areas. The runtime linker has a new method to find the linker set boundaries depending on which backend format is in use. linker sets are still module/kld unfriendly and should never be used for anything that may be modular one day. Reviewed by: eivind
* Use struct device * rather than device_t for (*pci_intr_route args), sogallatin2001-06-111-1/+1
| | | | as to match other prototypes in the file.
OpenPOWER on IntegriCloud