summaryrefslogtreecommitdiffstats
path: root/sys/ia64
Commit message (Collapse)AuthorAgeFilesLines
* Add COMPAT_FREEBSD4 here too. It has COMPAT_43 as well.peter2002-10-261-0/+1
|
* Split 4.x and 5.x signal handling so that we can keep 4.x signalpeter2002-10-253-22/+9
| | | | | | | | | | | | | | | | handling clean and functional as 5.x evolves. This allows some of the nasty bandaids in the 5.x codepaths to be unwound. Encapsulate 4.x signal handling under COMPAT_FREEBSD4 (there is an anti-foot-shooting measure in place, 5.x folks need this for a while) and finish encapsulating the older stuff under COMPAT_43. Since the ancient stuff is required on alpha (longjmp(3) passes a 'struct osigcontext *' to the current sigreturn(2), instead of the 'ucontext_t *' that sigreturn is supposed to take), add a compile time check to prevent foot shooting there too. Add uniform COMPAT_43 stubs for ia64/sparc64/powerpc. Tested on: i386, alpha, ia64. Compiled on sparc64 (a few days ago). Approved by: re
* Extract out KSE specific code from machine specific codejulian2002-10-241-18/+2
| | | | | | | | so that there is ony one copy of it. Fix that one copy so that KSEs with no mailbox in a KSE program are not a cause of page faults (this can legitmatly happen). Submitted by: (parts) davidxu
* Oops, I missed a few changes in 'device acpica' -> 'device acpi' change.jhb2002-10-241-5/+5
| | | | Submitted by: Hiten Pandya <hiten@angelica.unixdaemons.com>
* Rename 'device acpica' to 'device acpi'.jhb2002-10-241-1/+1
| | | | Approved by: msmith, iwasaki
* In cb_dumphdr() we were calling buf_write() with di->priv as themarcel2002-10-201-1/+1
| | | | | | | | | pointer to a dumperinfo instead of di. A brainfart, surely. This bug went unnoticed for all this time because the pointer is only used by buf_write() when it can write a completely filled buffer to the dump device. This depends on the number of memory chunks that needs to be dumped. This has apparently been low enough that it has never happened up until this point.
* Remove the special casing for IP addresses that are within the IVTmarcel2002-10-201-22/+2
| | | | | or the do_syscall() function. We have unwind directives to stop the unwinder.
* Define IVT_ENTRY and IVT_END as special versions of ENTRY and ENDmarcel2002-10-202-300/+320
| | | | | | | | | | | | for defining vectors. As a result, each vector will be a global function with unwind directives to notify the unwinder that we're in an interrupt handler. In the debugger this will show up something like: Debugger(0xe000000000a211d8, 0xe000000000748960) at Debugger+0x31 panic(0xe000000000a36858, 0xe0000000021d32d0, 0xe000000000ae42e8, ... trap(0x14, 0x100000, 0xe0000000021d32d0, 0x0, 0xa0000000002095f0, ... ivt_Data_TLB(0x14, 0x100000, 0xe0000000021d32d0) at ivt_Data_TLB+0x1f0
* Stake a claim on 418 (__xstat), 419 (__xfstat), 420 (__xlstat)peter2002-10-191-0/+3
|
* Grab 416/417 real estate before I get burned while testing again.peter2002-10-191-0/+2
| | | | | | This is for the not-quite-ready signal/fpu abi stuff. It may not see the light of day, but I'm certainly not going to be able to validate it when getting shot in the foot due to syscall number conflicts.
* Add a placeholder for the execve_mac() system call, similar to SELinux'srwatson2002-10-191-0/+1
| | | | | | | | | | | | execve_secure() system call, which permits a process to pass in a label for a label change during exec. This permits SELinux to change the label for the resulting exec without a race following a manual label change on the process. Because this interface uses our general purpose MAC label abstraction, we call it execve_mac(), and wrap our port of SELinux's execve_secure() around it with appropriate sid mappings. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
* Update the unwind information when modules are loaded and unloadedmarcel2002-10-194-52/+85
| | | | | | | | by using the linker hooks. Since these hooks are called for the kernel as well, we don't need to deal with that with a special SYSINIT. The initialization implicitly performed on the first update of the unwind information is made explicit with a SYSINIT. We now don't need the _ia64_unwind_{start|end} symbols.
* Add two hooks to signal module load and module unload to MD code.marcel2002-10-191-0/+15
| | | | | | | | | | | | The primary reason for this is to allow MD code to process machine specific attributes, segments or sections in the ELF file and update machine specific state accordingly. An immediate use of this is in the ia64 port where unwind information is updated to allow debugging and tracing in/across modules. Note that this commit does not add the functionality to the ia64 port. See revision 1.9 of ia64/ia64/elf_machdep.c. Validated on: alpha, i386, ia64
* Permits UFS ACLs to be used with the GENERIC kernel. Due to recentrwatson2002-10-191-0/+1
| | | | | | | | | | | | | ACL configuration changes, this shouldn't result in different code paths for file systems not explicitly configured for ACLs by the system administrator. For UFS1, administrators must still recompile their kernel to add support for extended attributes; for UFS2, it's sufficient to enable ACLs using tunefs or at mount-time (tunefs preferred for reliability reasons). UFS2, for a variety of reasons, including performance and reliability, is the preferred file system for use with ACLs. Approved by: re
* Make this compile when DDB is not defined by conditionally compilingmarcel2002-10-191-1/+6
| | | | all references to ksym_start and ksym_end.
* Fix kernel module loading on ia64. Cross-module function callsmarcel2002-10-151-4/+11
| | | | | | | | | | | | were improperly relocated due to faulty logic in lookup_fdesc() in elf_machdep.c. The symbol index (symidx) was bogusly used for load modules other than the one the relocation applied to. This resulted in bogus bindings and consequently runtime failures. The fix is to use the symbol index only for the module being relocated and to use the symbol name for look-ups in the modules in the dependent list. As such, we need a function to return the symbol name given the linker file and symbol index.
* The a.out md_coredump stuff isn't referenced anywhere anymore, andpeter2002-10-151-7/+0
| | | | hasn't been filled in for ages.. Nuked.
* Allow kernel dumps to be aborted with ctrl-C.marcel2002-10-141-3/+14
|
* Remove the P1003_1B kernel option; it is no longer used.mike2002-10-132-4/+2
|
* struct ia64_fpreg needs to be available outside of the kernel formike2002-10-131-2/+4
| | | | | | struct sigcontext. Pointy hat to: mike
* Add standards visibility conditionals. Change any uses of sigset_t tomike2002-10-131-4/+14
| | | | struct __sigset to avoid depending on objects from <sys/signal.h>.
* o Fix typo in previous commit: s/sc-nsect/sc->nsect/marcel2002-10-121-2/+2
| | | | o Fix printf format error for %d format with long argument.
* Plug two holes where we returned to userland without restoringmarcel2002-10-122-0/+4
| | | | | | | | | | the predicate registers. Even though the ITLB and DTLB interrupts happen often enough, this bug didn't do much harm. The reason is that the interrupt handlers only modify p1 and since this is a preserved (callee-saved) register it is hardly used in code generated by the compiler. Compilers use scratch registers by default. Changing the interrupt handlers to use p6 (ie a scratch register) proved that the bug was in fact fatal.
* Polish previous commit:marcel2002-10-121-13/+18
| | | | | | | | | | | o Replace KSTACK_PAGES with pages on panic() in pmap_new_thread(), o Fix style bugs in adjacent code, o Use NULL instead of 0 for pointers, o Save the virtual kstack address if we create an alternate kstack because 1) we can derive the physical (RR7) address from it and 2) we need the virtual address for contigfree() in pmap_dispose_thread(). Thus td_altkstack saves td_md.md_kstackvirt.
* MFp4: Include machine/vmparam.h to pull in definition of IA64_RR_BASE.marcel2002-10-121-0/+1
| | | | Obtained from: peter
* Remove the dependency on ia64_cpu.h by not defining pmap_kextract()marcel2002-10-121-6/+1
| | | | | | as a trivial function that only calls ia64_tpa() and hence requires the prototype of ia64_tpa(), but by defining pmap_kextract as ia64_tpa. This solves the inclusion ordering issue in ddb/db_watch.c
* cut/paste the pmap_new_altkstack stuff from the other platforms.peter2002-10-111-3/+47
| | | | | It's no different here. Update the rest of the kstack API's for scottl's changes.
* Call uma_zalloc on pvzone with M_NOWAIT, just like i386 and alpha.peter2002-10-111-1/+1
| | | | Otherwise we get hundreds of 'could sleep' during boot.
* Change iov_base's type from `char *' to the standard `void *'. Allmike2002-10-111-1/+1
| | | | | uses of iov_base which assume its type is `char *' (in order to do pointer arithmetic) have been updated to cast iov_base to `char *'.
* re-regen. Sigh.peter2002-10-093-7/+7
|
* Sigh. Fix fat-fingering of diff. I knew this was going to happen.peter2002-10-091-1/+1
|
* regenerate. sendfile stuff and other recently picked up stubs.peter2002-10-093-12/+54
|
* Try and deal with the #ifdef COMPAT_FREEBSD4 sendfile stuff. This wouldpeter2002-10-092-2/+25
| | | | have been a lot easier if do_sendfile() was usable externally.
* Try and patch up some tab-to-space spammage.peter2002-10-091-19/+19
|
* Add placeholder stubs for nsendfile, mac_syscall, ksem_close, ksem_post,peter2002-10-091-0/+22
| | | | | | ksem_wait, ksem_trywait, ksem_init, ksem_open, ksem_unlink, ksem_getvalue, ksem_destroy, __mac_get_pid, __mac_get_link, __mac_set_link, extattr_set_link, extattr_get_link, extattr_delete_link.
* Add conditionals to allow va_list to be defined in other headers.mike2002-10-061-0/+4
|
* o Add conditionals to allow va_list to be defined in other headers.mike2002-10-061-0/+6
| | | | | o Standardize on _MACHINE_STDARG_H_ to allow multiple header includes. o Restrict the definition of va_copy() to C99 environments.
* It appears CPU_MAXID should be 1 more than the number of CPU_* defines.obrien2002-10-061-1/+1
|
* NB: This commit does *NOT* make GEOM the default in FreeBSDphk2002-10-052-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NB: But it will enable it in all kernels not having options "NO_GEOM" Put the GEOM related options into the intended order. Add "options NO_GEOM" to all kernel configs apart from NOTES. In some order of controlled fashion, the NO_GEOM options will be removed, architecture by architecture in the coming days. There are currently three known issues which may force people to need the NO_GEOM option: boot0cfg/fdisk: Tries to update the MBR while it is being used to control slices. GEOM does not allow this as a direct operation. SCSI floppy drives: Appearantly the scsi-da driver return "EBUSY" if no media is inserted. This is wrong, it should return ENXIO. PC98: It is unclear if GEOM correctly recognizes all variants of PC98 disklabels. (Help Wanted! I have neither docs nor HW) These issues are all being worked. Sponsored by: DARPA & NAI Labs.
* Fix namespace issues by using visibility conditionals frommike2002-10-051-5/+25
| | | | <sys/cdefs.h>.
* style(9) <machine/setjmp.h> headers so they look mostly the same.mike2002-10-041-60/+66
|
* New bus_dma interfaces for use by crypto device drivers:sam2002-10-042-0/+230
| | | | | | | | o bus_dmamap_load_mbuf o bus_dmamap_load_uio Test on i386. Known to compile on alpha and sparc64, but not tested. Otherwise untried.
* Gah, spell extern correctly. Do not trust cut/paste via old mozillapeter2002-10-041-2/+2
| | | | builds.
* List the IO SAPIC delivery mode definitions.peter2002-10-042-1/+8
|
* Declare itc_frequency and itm_reload.peter2002-10-041-0/+3
|
* Do a bit of rude hackery to get clock interrupts on all CPUs. Thispeter2002-10-044-11/+44
| | | | | | | | | | | is partly based on the Alpha system which duplicates the clock to each cpu, instead of doing a clock roundrobin like on i386. This means we get hz * ncpu clocks per second and so we have to seperate clock sampling from actual 'do the work' clock processing. The BSP runs the complete processing, the rest just sample state etc. Using the on-cpu interval timer is not ideal as it will drift. There is more to be done here, we should use an external clock source.
* Update stubs for post-kseIII.peter2002-10-041-18/+1
|
* Update for post-kseIIIpeter2002-10-041-1/+1
|
* Let kse_wakeup() take a KSE mailbox pointer argument.archie2002-10-022-2/+2
| | | | Reviewed by: julian
* Fix the same misinitialization of pmap_prefault_pageorder as on i386.phk2002-10-011-2/+2
| | | | Suggeste by: jake
OpenPOWER on IntegriCloud