summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
* o Lock page queue accesses by vm_page_deactivate().alc2002-08-021-3/+15
|
* Resolve conflicts arising from the ACPI CA 20020725 import.iwasaki2002-07-301-0/+115
|
* Create a new header <machine/_stdint.h> for storing MD parts ofmike2002-07-294-231/+171
| | | | | | | | | <stdint.h>. Previously, parts were defined in <machine/ansi.h> and <machine/limits.h>. This resulted in two problems: (1) Defining macros in <machine/ansi.h> gets in the way of that header only defining types. (2) Defining C99 limits in <machine/limits.h> adds pollution to <limits.h>.
* de-count pcipeter2002-07-231-1/+1
|
* - Pass the VM_ALLOC_WIRED flag to vm_page_alloc() in pmap_growkernel() soarr2002-07-231-5/+2
| | | | | | that we can avoid a call to vm_page_lock_queues(). Approved by: peter
* Add explicit unit count on 'device pci' for ahc/ahdpeter2002-07-211-1/+1
|
* Change the max IRQ from 63 to 255. I realize we have to block some outpeter2002-07-201-1/+1
| | | | | still for the IPI vectors, but 63 isn't enough. There is an fxp at IRQ 86 on the Itanium2 box I have.
* Regeneratepeter2002-07-203-1596/+311
|
* Infrastructure tweaks to allow having both an Elf32 and an Elf64 executablepeter2002-07-2010-1888/+2650
| | | | | | | | | | | | | | | handler in the kernel at the same time. Also, allow for the exec_new_vmspace() code to build a different sized vmspace depending on the executable environment. This is a big help for execing i386 binaries on ia64. The ELF exec code grows the ability to map partial pages when there is a page size difference, eg: emulating 4K pages on 8K or 16K hardware pages. Flesh out the i386 emulation support for ia64. At this point, the only binary that I know of that fails is cvsup, because the cvsup runtime tries to execute code in pages not marked executable. Obtained from: dfr (mostly, many tweaks from me).
* Fix a transcription typo. s/ACPI_PTR/ACPI_POINTER/peter2002-07-171-1/+1
|
* Fix some typos in 1.68 from over a week ago.peter2002-07-171-2/+1
|
* Cap the initial PV and PTE table preallocations. Otherwise we explodepeter2002-07-171-1/+4
| | | | | | | | | | on the Itanium2 system I have when we use up *all* of the initial 256MB direct mapped region before we are ready to dynamically expand it. The machine that I have has 4 cpus and a very big hole in the middle. This makes the bogus '(last_address - first_address) / PAGE_SIZE' calculations especially dangerous and caused many millions of initial PV/PTE's to be preallocated.
* Be sure to use a logical address for the SAL table. For some reason thepeter2002-07-171-1/+2
| | | | | phsysical address is still mapped at this stage of boot on the Itanium1 SDV boxes we have. But Itanium2 does *not* let us get away with this.
* Update for new ACPICA import. Gah.peter2002-07-171-3/+3
|
* Various comment and minor style fixes. No actual content changes.jhb2002-07-161-12/+9
| | | | Inspired by: bde
* o Lock page queue accesses by vm_page_wire().alc2002-07-141-0/+2
|
* Add additional cred_free_thread() calls that I had missed the first time.mini2002-07-131-0/+10
| | | | Pointed out by: jhb
* Set the thread state of the newly chosen to run thread to TDS_RUNNING injhb2002-07-122-8/+0
| | | | | | | | choosethread() in MI C code instead of doing it in in assembly in all the various cpu_switch() functions. This fixes problems on ia64 and sparc64. Reviewed by: julian, peter, benno Tested on: i386, alpha, sparc64
* Remove label_t and physadr, which seem to have never been used inmike2002-07-101-10/+0
| | | | | | FreeBSD. Submitted by: bde
* Remove an unused type.mike2002-07-091-3/+0
|
* Move __offsetof() macro from <machine/ansi.h> to <sys/cdefs.h>. It'smike2002-07-081-5/+0
| | | | | | hardly MD, since all our platforms share the same macro. It's not really compiler dependent either, but this helps in reducing <machine/ansi.h> to only type definitions.
* Add a special page zero entry point intended to be called via the singlepeter2002-07-081-0/+16
| | | | | | | | | | | | | | | threaded VM pagezero kthread outside of Giant. For some platforms, this is really easy since it can just use the direct mapped region. For others, IPI sending is involved or there are other issues, so grab Giant when needed. We still have preemption issues to deal with, but Alan Cox has an interesting suggestion on how to minimize the problem on x86. Use Luigi's hack for preserving the (lack of) priority. Turn the idle zeroing back on since it can now actually do something useful outside of Giant in many cases.
* Collect all the (now equivalent) pmap_new_proc/pmap_dispose_proc/peter2002-07-071-148/+0
| | | | | | | | | | | | | pmap_swapin_proc/pmap_swapout_proc functions from the MD pmap code and use a single equivalent MI version. There are other cleanups needed still. While here, use the UMA zone hooks to keep a cache of preinitialized proc structures handy, just like the thread system does. This eliminates one dependency on 'struct proc' being persistent even after being freed. There are some comments about things that can be factored out into ctor/dtor functions if it is worth it. For now they are mostly just doing statistics to get a feel of how it is working.
* Back out proc part of last commit. UMA manages the thread cache only, andpeter2002-07-051-8/+22
| | | | | | | | | we just have to deal with the kstack when told to. We do not have a UMA-managed cache for the proc struct and its associated upage yet. So, go back to the old lazy mechanism. Note that if UMA destroys pages that used to contain proc structures, we'll lose the corresponding upage forever. (zones never did this - once a page was allocated, it stayed attached to the proc zone forever)
* Copy from sparc64/pmap.c rev 1.64 (Retrofit changes from i386/pmap.cpeter2002-07-051-23/+9
| | | | | rev 1.328-1.331.) but for uarea only. We still have our own broken kstack code here.
* Resolve conflicts arising from the ACPI CA 20020404 import.iwasaki2002-06-301-5/+10
|
* Since printf(3) now supports the `j' conversion specifier, use thatmike2002-06-301-11/+11
| | | | | | | when printing intmax_t and uintmax_t. Forgotten by: mike Noticed by: bde
* Fix reverse ordering of locks. add a comment about locks on some platforms.julian2002-06-291-1/+1
| | | | Submitted by: jhb@freebsd.org
* Add KSE stubs to MD parts of ia64 code.julian2002-06-294-0/+69
| | | | | Dfr will fill these out when we decide to enable KSEs on ia64 (probably not immediatly)
* Add a copy of the sparc64 machine/kse.h to satisfy depencies..julian2002-06-291-0/+38
| | | | dfr will fill in the correct contents at a later time.
* Part 1 of KSE-IIIjulian2002-06-291-7/+7
| | | | | | | | | | | | | The ability to schedule multiple threads per process (one one cpu) by making ALL system calls optionally asynchronous. to come: ia64 and power-pc patches, patches for gdb, test program (in tools) Reviewed by: Almost everyone who counts (at various times, peter, jhb, matt, alfred, mini, bernd, and a cast of thousands) NOTE: this is still Beta code, and contains lots of debugging stuff. expect slight instability in signals..
* Add UMA_ZONE_VM flag to the zones which are used for pmap_enter().dfr2002-06-241-2/+2
|
* Add an MD callout like cpu_exit, but which is called after sched_lock isjake2002-06-241-0/+6
| | | | | | | | | obtained, when all other scheduling activity is suspended. This is needed on sparc64 to deactivate the vmspace of the exiting process on all cpus. Otherwise if another unrelated process gets the exact same vmspace structure allocated to it (same address), its address space will not be activated properly. This seems to fix some spontaneous signal 11 problems with smp on sparc64.
* Remove unused diagnostic function cread_free_thread().mini2002-06-241-10/+0
| | | | Approved by: alfred
* Update an 'XXX what is this?' type comment about suswintr and fuswintr.peter2002-06-202-4/+4
| | | | These are 16 bit short values used only by the profiling code.
* Deorbit suibyte(). It was only used for split address space systemspeter2002-06-202-10/+0
| | | | for supporting UIO_USERISPACE (ie: it wasn't used).
* ia32 %edx return comes from td_retval[1], not td_retval[0]peter2002-06-201-1/+1
| | | | Obtained from: dfr
* Use suword32/64 and fuword32/64 like elsewhere instead of inventingpeter2002-06-204-32/+37
| | | | suhword/fuhword.
* panic rather than fault and explode if we fail to contigmalloc a kernelpeter2002-06-201-0/+3
| | | | | stack. This is still bad(TM), but at least we have a clue when we get hit when contigmalloc fails.
* Use the canonical pmap_{new,dispose,swapin,swapout}_proc() functions,peter2002-06-201-16/+110
| | | | | in this case cut/pasted from sparc64 instead of messing with contigmalloc where it is not needed.
* Move the "- 1" into the RQB_FFS(mask) macro itself so thatpeter2002-06-201-1/+1
| | | | | | | | | | | | | | implementations can provide a base zero ffs function if they wish. This changes #define RQB_FFS(mask) (ffs64(mask)) foo = RQB_FFS(mask) - 1; to #define RQB_FFS(mask) (ffs64(mask) - 1) foo = RQB_FFS(mask); On some platforms we can get the "- 1" for free, eg: those that use the C code for ffs64(). Reviewed by: jake (in principle)
* - Fixup / remove obsolete comments.jhb2002-06-071-41/+31
| | | | | | | | | | | - ktrace no longer requires Giant so do ktrace syscall events before and after acquiring and releasing Giant, respectively. - For i386, ia32 syscalls on ia64, powerpc, and sparc64, get rid of the goto bad hack and instead use the model on ia64 and alpha were we skip the actual syscall invocation if error != 0. This fixes a bug where if we the copyin() of the arguments failed for a syscall that was not marked MP safe, we would try to release Giant when we had not acquired it.
* Work around a bug in the Linux version of ski, that's specific tomarcel2002-06-061-0/+11
| | | | | | | SSC_GET_RTC. This fixes the panic seen shortly after mounting the root file system. Thanks to: "K.Sumitani" <ksumitani@mui.biglobe.ne.jp>
* Fix typo in the BSD copyright: s/withough/without/schweikh2002-06-022-2/+2
| | | | | Spotted and suggested by: des MFC after: 3 weeks
* Move the definition of ElfN_Hashelt to common headers. The only platformdfr2002-05-301-11/+0
| | | | which has a different definition for this is alpha.
* Remove the definition of struct mca_guid and use the genericmarcel2002-05-294-25/+21
| | | | | | | | struct uuid defined in <sys/uuid.h>. Use uuid/UUID instead of guid/GUID to emphasize that the identifiers are DCE version 1 identifiers and also to avoid inconsistencies as much a possible.
* Make the run queue parameters machine dependent. Optimize 64 bitjake2002-05-251-0/+58
| | | | | | | architectures by using a 64 bit word for the bit array which keeps track of non-empty queues. Reviewed by: peter
* o Add records for PCI bus and PCI device errors.marcel2002-05-221-10/+70
| | | | | o Rename mem_platform_id to mem_oem_id. o Minor style fixes.
* Flesh-out ptrace support. This obviously needs more work.marcel2002-05-202-14/+96
|
* Fix a kernel page fault when accessing user memory. We weremarcel2002-05-191-57/+38
| | | | | | | | | | combining too much conditions and as such ended up with the kernel map instead of the corresponding process map. While here, remove code to allow access to the stackgap and restyle slightly to improve readability. This fix specifically fixes the procfs failure we're having when reading the process map (cat /proc/curproc/map)
OpenPOWER on IntegriCloud