summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.ia64
Commit message (Collapse)AuthorAgeFilesLines
* Merge db_interface.c and db_trace.c into db_machdep.c.marcel2005-09-101-2/+1
|
* Move the ia32_sigcode structure from ia32_sigtramp.c to ia32_signal.c.marcel2005-09-101-1/+0
| | | | It's a bit excessive to have it in a file of its own.
* Jumbo-commit to enhance 32 bit application support on 64 bit kernels.peter2005-06-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | This is good enough to be able to run a RELENG_4 gdb binary against a RELENG_4 application, along with various other tools (eg: 4.x gcore). We use this at work. ia32_reg.[ch]: handle the 32 bit register file format, used by ptrace, procfs and core dumps. procfs_*regs.c: vary the format of proc/XXX/*regs depending on the client and target application. procfs_map.c: Don't print a 64 bit value to 32 bit consumers, or their sscanf fails. They expect an unsigned long. imgact_elf.c: produce a valid 32 bit coredump for 32 bit apps. sys_process.c: handle 32 bit consumers debugging 32 bit targets. Note that 64 bit consumers can still debug 32 bit targets. IA64 has got stubs for ia32_reg.c. Known limitations: a 5.x/6.x gdb uses get/setcontext(), which isn't implemented in the 32/64 wrapper yet. We also make a tiny patch to gdb pacify it over conflicting formats of ld-elf.so.1. Approved by: re
* Include the puc(4) bus frontend for ppc(4) when both ppc and puc aremarcel2005-06-141-0/+1
| | | | | | | | | configured. PR: kern/80737 Submitted by: David Taylor &lt davidt-fbsd at yadt dot co dot uk &gt Approved by: re (scottl) MFC after: 5 days
* Refactor the NETSMBCRYPTO option so that it does the same on allmarcel2005-06-121-0/+1
| | | | | | | | platforms. ARM is excluded as it doesn't yet have any crypto sources. Approved by: re (dwhite) MFC after: 1 day
* - Hook up the new locations of the atkbdc(4), atkbd(4) and psm(4) sourcemarius2005-06-101-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | files after they were repo-copied to sys/dev/atkbdc. The sources of atkbdc(4) and its children were moved to the new location in preparation for adding an EBus front-end to atkbdc(4) for use on sparc64; i.e. in order to not further scatter them over the whole tree which would have been the result of adding atkbdc_ebus.c in e.g. sys/sparc64/ebus. Another reason for the repo-copies was that some of the sources were misfiled, e.g. sys/isa/atkbd_isa.c wasn't ISA-specific at all but for hanging atkbd(4) off of atkbdc(4) and was renamed to atkbd_atkbdc.c accordingly. Most of sys/isa/psm.c, i.e. expect for its PSMC PNP part, also isn't ISA-specific. - Separate the parts of atkbdc_isa.c which aren't actually ISA-specific but are shareable between different atkbdc(4) bus front-ends into atkbdc_subr.c (repo-copied from atkbdc_isa.c). While here use bus_generic_rl_alloc_resource() and bus_generic_rl_release_resource() respectively in atkbdc_isa.c instead of rolling own versions. - Add sparc64 MD bits to atkbdc(4) and atkbd(4) and an EBus front-end for atkbdc(4). PS/2 controllers and input devices are used on a couple of Sun OEM boards and occur on either the EBus or the ISA bus. Depending on the board it's either the only on-board mean to connect a keyboard and mouse or an alternative to either RS232 or USB devices. - Wrap the PSMC PNP part of psm.c in #ifdef DEV_ISA so it can be compiled without isa(4) (e.g. for EBus-only machines). This ISA-specific part isn't separated into its own source file, yet, as it requires more work than was feasible for 6.0 in order to do it in a clean way. Actually philip@ is working on a rewrite of psm(4) so a more comprehensive clean-up and separation of hardware dependent and independent parts is expected to happen after 6.0. Tested on: i386, sparc64 (AX1105, AXe and AXi boards) Reviewed by: philip
* MFP4:jkoshy2005-06-091-0/+1
| | | | | | | | | | | | | | | | - Implement sampling modes and logging support in hwpmc(4). - Separate MI and MD parts of hwpmc(4) and allow sharing of PMC implementations across different architectures. Add support for P4 (EMT64) style PMCs to the amd64 code. - New pmcstat(8) options: -E (exit time counts) -W (counts every context switch), -R (print log file). - pmc(3) API changes, improve our ability to keep ABI compatibility in the future. Add more 'alias' names for commonly used events. - bug fixes & documentation.
* Sanity the RTC code:marcel2005-04-221-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | o Remove the clock interface. Not only does it conflict with the MI version when device genclock is added to the kernel, it was also not possible to have more than 1 clock device. This of course would have been a problem if we actually had more than 1 clock device. In short: we don't need a clock interface and if we do eventually, we should be using the MI one. o Rewrite inittodr() and resettodr() to take into account that: 1) We use the EFI interface directly. 2) time_t is 64-bit and we do need to make sure we can determine leap years from year 2100 and on. Add a nice explanation of where leap years come from and why. 3) This rewrite happened in 2005 so any date prior to 1/1/2005 (either M/D/Y or D/M/Y) is bogus. Reprogram the EFI clock with 1/1/2005 in that case. 4) The EFI clock has a high probability of being correct, so only (further) correct the EFI clock when the file system time is larger. That should never happen in a time-synchronised world. Complain when EFI lost 2 days or more. Replace the copyright notice now that I (pretty much) rewrote all of this file.
* Divorce critical sections from spinlocks. Critical sections as denoted byjhb2005-04-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | critical_enter() and critical_exit() are now solely a mechanism for deferring kernel preemptions. They no longer have any affect on interrupts. This means that standalone critical sections are now very cheap as they are simply unlocked integer increments and decrements for the common case. Spin mutexes now use a separate KPI implemented in MD code: spinlock_enter() and spinlock_exit(). This KPI is responsible for providing whatever MD guarantees are needed to ensure that a thread holding a spin lock won't be preempted by any other code that will try to lock the same lock. For now all archs continue to block interrupts in a "spinlock section" as they did formerly in all critical sections. Note that I've also taken this opportunity to push a few things into MD code rather than MI. For example, critical_fork_exit() no longer exists. Instead, MD code ensures that new threads have the correct state when they are created. Also, we no longer try to fixup the idlethreads for APs in MI code. Instead, each arch sets the initial curthread and adjusts the state of the idle thread it borrows in order to perform the initial context switch. This change is largely a big NOP, but the cleaner separation it provides will allow for more efficient alternative locking schemes in other parts of the kernel (bare critical sections rather than per-CPU spin mutexes for per-CPU data for example). Reviewed by: grehan, cognet, arch@, others Tested on: i386, alpha, sparc64, powerpc, arm, possibly more
* It appears that 'kbd' device has never been used and isn't needed.imp2004-11-231-1/+0
| | | | | Build tests show that this isn't used for GENERIC or LINT, and nobody seemed to know why they existed.
* Move the IA-32 trap handling from trap() to ia32_trap(). Move themarcel2004-09-251-0/+1
| | | | | ia32_syscall() function along with it to ia32_trap.c. When COMPAT_IA32 is not defined, we'll raise SIGEMT instead.
* Catch up with the drive-by renaming of IA32 to COMPAT_IA32. It mustmarcel2004-08-161-7/+7
| | | | | | | | | | have been rush hour... While here, move COMPAT_IA32 from opt_global.h to opt_compat.h like on amd64. Consequently, it's unsafe to use the option in pcb.h. We now unconditionally have the ia32 specific registers in the PCB. This commit is untested.
* Break out the MI part of the /dev/[k]mem and /dev/io drivers intomarkm2004-08-011-1/+1
| | | | | | | | their own directory and module, leaving the MD parts in the MD area (the MD parts _are_ part of the modules). /dev/mem and /dev/io are now loadable modules, thus taking us one step further towards a kernel created entirely out of modules. Of course, there is nothing preventing the kernel from having these statically compiled.
* Hook the GDB backend into the build.marcel2004-07-101-1/+1
|
* Move acpi_if.m to files.{amd64,i386,ia64}. This should fix the alpha build.njl2004-06-301-0/+1
| | | | Pointed out by: gallatin
* o De-support fdc(4). No ia64 has ever been made with PC floppy andmarcel2004-05-171-3/+0
| | | | | the likelyhood of one ever being made is nil. o While here, de-support sio(4).
* Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files wereimp2004-05-171-1/+1
| | | | | | | | repocopied. Soon there will be additional bus attachments and specialization for isa, acpi and pccard (and maybe pc98's cbus). This was approved by nate, joerg and myself. bde dissented on the new location, but appeared to be OK after some discussion.
* Remove unwinder files that are commented-out.marcel2004-05-071-3/+0
|
* - Add uiomove_fromphys() implementations to alpha and ia64. These onlyalc2004-03-201-0/+1
| | | | | differ trivially from amd64. - Correct a spelling error in a comment.
* Add ffsl(), fls() flsl() to platforms that don't already have them.des2004-01-131-0/+3
|
* Assimilate ia64 back into the fold with the common freebsd32/ia32 code.peter2003-12-111-3/+6
| | | | | | | | The split-up code is derived from the ia64 code originally. Note that I have only compile-tested this, not actually run-tested it. The ia64 side of the force is missing some significant chunks of signal delivery code.
* Use gcc's superior ffs() builtin.peter2003-12-101-1/+0
|
* Remove unused file. db_disasm() has been implemented in db_interface.cmarcel2003-10-241-1/+0
| | | | now.
* Hook-up the new disassembler.marcel2003-10-231-0/+3
|
* Move uma_small_alloc() and uma_small_free() to uma_machdep.c. Thesemarcel2003-09-201-0/+1
| | | | | | | | | | | functions reference UMA internals from <vm/uma_int.h>, which makes them highly unwanted in non-UMA specific files. While here, prune the includes in pmap.c and use __FBSDID(). Move the includes above the descriptive comment. The copyright of uma_machdep.c is assigned to the project and can be reassigned to the foundation if and when when such is preferrable.
* Hook-up the uart(4) driver to the build. For a detailed descriptionmarcel2003-09-061-0/+1
| | | | | | | | | | | | | | | of what uart(4) is and/or is not see the initial commit log of one of the files in sys/dev/uart (or see share/man/man4/uart.4). Note that currently pc98 shares the MD file with i386. This needs to change when pc98 support is fleshed-out to properly support the various UARTs. A good example is sparc64 in this respect. We build uart(4) as a module on all platforms. This may break the ppc port. That depends on whether they do actually build modules. To use uart(4) on alpha, one must use the NO_SIO option.
* Add rules for font.h and ukbdmap.h. Needed for LINT.marcel2003-08-231-0/+10
|
* Add ptrace_machdep.c.marcel2003-08-151-0/+1
|
* Fix ordering bug created by previous commit. While here, make ppc(4)marcel2003-08-011-1/+1
| | | | dependent on isa.
* Add printer support to puc(4) driver.ambrisko2003-08-011-1/+1
| | | | | | | | | | | - Move isa/ppc* to sys/dev/ppc (repo-copy) - Add an attachment method to ppc for puc - In puc we need to walk the chain of parents. Still to do, is to make ppc(4) & puc(4) work on other platforms. Testers wanted. PR: 38372 (in spirit done differently) Verified by: Make universe (if I messed up a platform please fix)
* The .s files were repo-copied to .S files.ru2003-07-021-7/+7
| | | | | Approved by: marcel Repocopied by: joe
* Revamp of the syscall path, exception and context handling. Themarcel2003-05-161-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | prime objectives are: o Implement a syscall path based on the epc inststruction (see sys/ia64/ia64/syscall.s). o Revisit the places were we need to save and restore registers and define those contexts in terms of the register sets (see sys/ia64/include/_regset.h). Secundairy objectives: o Remove the requirement to use contigmalloc for kernel stacks. o Better handling of the high FP registers for SMP systems. o Switch to the new cpu_switch() and cpu_throw() semantics. o Add a good unwinder to reconstruct contexts for the rare cases we need to (see sys/contrib/ia64/libuwx) Many files are affected by this change. Functionally it boils down to: o The EPC syscall doesn't preserve registers it does not need to preserve and places the arguments differently on the stack. This affects libc and truss. o The address of the kernel page directory (kptdir) had to be unstaticized for use by the nested TLB fault handler. The name has been changed to ia64_kptdir to avoid conflicts. The renaming affects libkvm. o The trapframe only contains the special registers and the scratch registers. For syscalls using the EPC syscall path no scratch registers are saved. This affects all places where the trapframe is accessed. Most notably the unaligned access handler, the signal delivery code and the debugger. o Context switching only partly saves the special registers and the preserved registers. This affects cpu_switch() and triggered the move to the new semantics, which additionally affects cpu_throw(). o The high FP registers are either in the PCB or on some CPU. context switching for them is done lazily. This affects trap(). o The mcontext has room for all registers, but not all of them have to be defined in all cases. This mostly affects signal delivery code now. The *context syscalls are as of yet still unimplemented. Many details went into the removal of the requirement to use contigmalloc for kernel stacks. The details are mostly CPU specific and limited to exception_save() and exception_restore(). The few places where we create, destroy or switch stacks were mostly simplified by not having to construct physical addresses and additionally saving the virtual addresses for later use. Besides more efficient context saving and restoring, which of course yields a noticable speedup, this also fixes the dreaded SMP bootup problem as a side-effect. The details of which are still not fully understood. This change includes all the necessary backward compatibility code to have it handle older userland binaries that use the break instruction for syscalls. Support for break-based syscalls has been pessimized in favor of a clean implementation. Due to the overall better performance of the kernel, this will still be notived as an improvement if it's noticed at all. Approved by: re@ (jhb)
* Sort lines.marcel2003-04-291-44/+44
|
* Separate the encoding/decoding functions for struct disklabel into aphk2003-04-171-0/+1
| | | | separate source file which can be used from both kernel and userland code.
* Move the functions for encoding decoding struct dos_partition intophk2003-04-121-0/+1
| | | | a separate .c file so they can be used from userland as well.
* Standardize handling of locore.[sS] etc. files.ru2003-02-281-3/+1
| | | | Submitted by: jake, bde, ru
* Remove special casing for running in the simulator from the kernelmarcel2003-02-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | and instead add platform, firmware and EFI stubs to the loader. The net effect of this change is that besides a special console and disk driver, the kernel has no knowledge of the simulator. This has the following advantages: o Simulator support is much harder to break, o It's easier to make use of more feature complete simulators. This would only need a change in the simulator specific loader, o Running SMP kernels within the simulator. Note that ski at this time does not simulate IPIs, so there's no way to start APs. The platform, firmware and EFI stubs describe the following hardware: o 4 CPU Itanium, o 128 MB RAM within the 4GB address space, o 64 MB RAM above the 4GB address space. NOTE: The stubs in the skiloader describe a machine that should in parts be defined by the simulator. Things like processor interrupt block and AP wakeup vector cannot be choosen at random because they require interpretation by the simulator. Currently the simulator is ignorant of this. This change introduces an unofficial SSC call SSC_SAL_SET_VECTORS which is ignored by the simulator. Tested with: ski (version 0.943 for linux)
* Remove entries for files we don't have.phk2003-01-301-3/+0
| | | | Approved by: peter
* NO_GEOM cleanup: subr_disklabel.c no longer needed.phk2003-01-281-1/+0
|
* ia64 didn't need subr_diskslice.c and subr_diskmbr.c either.phk2003-01-171-2/+0
|
* Move subr_disklabel.c and subr_diskslice.c from being MI to MD files,phk2003-01-171-0/+2
| | | | so that they can be left out where they are unneeded.
* Improve the way that an elf image activator for an alternate word size isjake2003-01-041-0/+1
| | | | | | | | | | | included in the kernel. Include imgact_elf.c in conf/files, instead of both imgact_elf32.c and imgact_elf64.c, which will use the default word size for an architecture as defined in machine/elf.h. Architectures that wish to build an additional image activator for an alternate word size can include either imgact_elf32.c or imgact_elf64.c in files.${ARCH}, which allows it to be dependent on MD options instead of solely on architecture. Glanced at by: peter
* Rename 'device acpica' to 'device acpi'.jhb2002-10-241-4/+4
| | | | Approved by: msmith, iwasaki
* Make the unwind functions standard and not optional on ddb. Theymarcel2002-10-191-1/+1
| | | | will eventually be used for ktrace(2) too.
* geom_mbr.c and geom_bsd.c would be kinda useful here too, at leastpeter2002-10-101-0/+2
| | | | for a while.
* NB: This commit does *NOT* make GEOM the default in FreeBSDphk2002-10-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* hookup new crypto support to the config/build processsam2002-10-041-0/+2
|
* de-count atkbdc and sc. Folks, remove the '1' from 'device sc 1' andpeter2002-08-191-2/+2
| | | | 'device atkbdc 1'.
* Move sio_isa.c back to MD files files due to PC98 brain damage.jhb2002-07-241-0/+1
|
* Infrastructure tweaks to allow having both an Elf32 and an Elf64 executablepeter2002-07-201-1/+2
| | | | | | | | | | | | | | | 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).
OpenPOWER on IntegriCloud