summaryrefslogtreecommitdiffstats
path: root/sys/conf/files.ia64
Commit message (Collapse)AuthorAgeFilesLines
* Fix switching to physical mode as part of calling into EFI runtimemarcel2011-03-211-0/+1
| | | | | | | | | | | | | | | | | services or PAL procedures. The new implementation is based on specific functions that are known to be called in certain scenarios only. This in particular fixes the PAL call to obtain information about translation registers. In general, the new implementation does not bank on virtual addresses being direct-mapped and will work when the kernel uses PBVM. When new scenarios need to be supported, new functions are added if the existing functions cannot be changed to handle the new scenario. If a single generic implementation is possible, it will become clear in due time. While here, change bootinfo to a pointer type in anticipation of future development.
* Provide groundwork for 32-bit binary compatibility on non-x86 platforms,nwhitehorn2010-03-111-10/+10
| | | | | | | | | for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32 option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts of the kernel and enhances the freebsd32 compatibility code to support big-endian platforms. Reviewed by: kib, jhb
* Remove the usb2_input_kbd directive that was missed during the renaming of ↵brucec2010-02-081-1/+1
| | | | | | the drivers in the usb2 stack. Approved by: rrs (mentor)
* Use io(4) for I/O port access on ia64, rather than through sysarch(2).marcel2010-01-111-0/+2
| | | | | | | | | | | | | | | | | I/O port access is implemented on Itanium by reading and writing to a special region in memory. To hide details and avoid misaligned memory accesses, a process did I/O port reads and writes by making a MD system call. There's one fatal problem with this approach: unprivileged access was not being prevented. /dev/io serves that purpose on amd64/i386, so employ it on ia64 as well. Use an ioctl for doing the actual I/O and remove the sysarch(2) interface. Backward compatibility is not being considered. The sysarch(2) approach was added to support X11, but support for FreeBSD/ia64 was never fully implemented in X11. Thus, nothing gets broken that didn't need more work to begin with. MFC after: 1 week
* Revamp bus_space access functions:marcel2009-12-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | o Optimize for memory mapped I/O by making all I/O port acceses function calls and marking the test for the IA64_BUS_SPACE_IO tag with __predict_false(). Implement the I/O port access functions in a new file, called bus_machdep.c. o Change the bus_space_handle_t for memory mapped I/O to the virtual address rather than the physical address. This eliminates the PA->VA translation for every I/O access. The handle for I/O port access is still the port number. o Move inb(), outb(), inw(), outw(), inl(), outl(), and their string variants from cpufunc.h and define them in bus.h. On ia64 these are not CPU functions at all. In bus.h they are merely aliases for the new I/O port access functions defined in bus_machdep.h. o Handle the ACPI resource bug in nexus_set_resource(). There we can do it once so that we don't have to worry about it whenever we need to write to an I/O port that is really a memory mapped address. The upshot of this change is that the KBI is better defined and that I/O port access always involves a function call, allowing us to change the actual implementation without breaking the KBI. For memory mapped I/O the virtual address is abstracted, so that we can change the VA->PA mapping in the kernel without causing an KBI breakage. The exception at this time is for bus_space_map() and bus_space_unmap(). MFC after: 1 week.
* SYnc with amd64:marcel2009-12-261-2/+0
| | | | De-support adv_isa.c and aic_isa.c
* Reimplement the lazy FP context switching:marcel2009-10-311-0/+1
| | | | | | | | | | | | | | | | | | | o Move all code into a single file for easier maintenance. o Use a single global lock to avoid having to handle either multiple locks or race conditions. o Make sure to disable the high FP registers after saving or dropping them. o use msleep() to wait for the other CPU to save the high FP registers. This change fixes the high FP inconsistency panics. A single global lock typically serializes too much, which may be noticable when a lot of threads use the high FP registers, but in that case it's probably better to switch the high FP context synchronuously. Put differently: cpu_switch() should switch the high FP registers if the incoming and outgoing threads both use the high FP registers.
* Move libteken out of the syscons directory.ed2009-09-031-1/+0
| | | | | | | | | | I initially committed libteken to sys/dev/syscons/teken, but now that I'm working on a console driver myself, I noticed this was not a good decision. Move it to sys/teken to make it easier for other drivers to use a terminal emulator. Also list teken.c in sys/conf/files, instead of listing it in all the files.arch files separately.
* Add trivial implementation for the freebsd32_sysarch on ia64.kib2009-04-011-0/+1
| | | | | | Fix comapt32 and LINT build on ia64. Discussed with: jhb
* Add memmove() to the kernel, making the kernel compile with Clang.ed2009-02-281-0/+1
| | | | | | | | | | | | When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove(). Discussed on: arch@ Reviewed by: rdivacky
* Pull in kbd.c with usb2_input_kbd, just like ukbd.thompsa2009-02-151-1/+1
|
* Replace syscons terminal renderer by a new renderer that uses libteken.ed2009-01-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some time ago I started working on a library called libteken, which is terminal emulator. It does not buffer any screen contents, but only keeps terminal state, such as cursor position, attributes, etc. It should implement all escape sequences that are implemented by the cons25 terminal emulator, but also a fair amount of sequences that are present in VT100 and xterm. A lot of random notes, which could be of interest to users/developers: - Even though I'm leaving the terminal type set to `cons25', users can do experiments with placing `xterm-color' in /etc/ttys. Because we only implement a subset of features of xterm, this may cause artifacts. We should consider extending libteken, because in my opinion xterm is the way to go. Some missing features: - Keypad application mode (DECKPAM) - Character sets (SCS) - libteken is filled with a fair amount of assertions, but unfortunately we cannot go into the debugger anymore if we fail them. I've done development of this library almost entirely in userspace. In sys/dev/syscons/teken there are two applications that can be helpful when debugging the code: - teken_demo: a terminal emulator that can be started from a regular xterm that emulates a terminal using libteken. This application can be very useful to debug any rendering issues. - teken_stress: a stress testing application that emulates random terminal output. libteken has literally survived multiple terabytes of random input. - libteken also includes support for UTF-8, but unfortunately our input layer and font renderer don't support this. If users want to experiment with UTF-8 support, they can enable `TEKEN_UTF8' in teken.h. If you recompile your kernel or the teken_demo application, you can hold some nice experiments. - I've left PC98 the way it is right now. The PC98 platform has a custom syscons renderer, which supports some form of localised input. Maybe we should port PC98 to libteken by the time syscons supports UTF-8? - I've removed the `dumb' terminal emulator. It has been broken for years. It hasn't survived the `struct proc' -> `struct thread' conversion. - To prevent confusion among people that want to hack on libteken: unlike syscons, the state machines that parse the escape sequences are machine generated. This means that if you want to add new escape sequences, you have to add an entry to the `sequences' file. This will cause new entries to be added to `teken_state.h'. - Any rendering artifacts that didn't occur prior to this commit are by accident. They should be reported to me, so I can fix them. Discussed on: current@, hackers@ Discussed with: philip (at 25C3)
* Add freebsd32 compat shims for ioctl(2)obrien2008-09-221-0/+1
| | | | MDIOCATTACH, MDIOCDETACH, MDIOCQUERY, and MDIOCLIST requests.
* Break out stack(9) from ddb(4):rwatson2007-12-021-0/+1
| | | | | | | | | | | | | | | | | | | | - Introduce per-architecture stack_machdep.c to hold stack_save(9). - Introduce per-architecture machine/stack.h to capture any common definitions required between db_trace.c and stack_machdep.c. - Add new kernel option "options STACK"; we will build in stack(9) if it is defined, or also if "options DDB" is defined to provide compatibility with existing users of stack(9). Add new stack_save_td(9) function, which allows the capture of a stacktrace of another thread rather than the current thread, which the existing stack_save(9) was limited to. It requires that the thread be neither swapped out nor running, which is the responsibility of the consumer to enforce. Update stack(9) man page. Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)
* Align.obrien2007-10-251-1/+1
|
* Commit the change from FAST_IPSEC to IPSEC. The FAST_IPSECgnn2007-07-031-3/+2
| | | | | | | | option is now deprecated, as well as the KAME IPsec code. What was FAST_IPSEC is now IPSEC. Approved by: re Sponsored by: Secure Computing
* LINT on ia64 requires memset symbol too. Make fire it is present by addingkan2007-04-091-0/+1
| | | | it to libkern on this architecture.
* Move "device splash" back to MI NOTES and "files", it's MI.ru2006-10-231-1/+0
|
* Move MI parts of syscons into MI "files".ru2006-10-231-7/+0
|
* Move default GEOM classes from files.ia64, where they were markedmarcel2006-07-171-5/+0
| | | | standard, to the DEFAULTS file.
* Partial support for branch long emulation. This only emulates themarcel2006-06-291-0/+1
| | | | | branch long jump and not the branch long call. Support for that is forthcoming.
* o Move ISA specific code from ppc.c to ppc_isa.c -- a bus front-marcel2006-04-241-2/+0
| | | | | | | | | | | | | | end for isa(4). o Add a seperate bus frontend for acpi(4) and allow ISA DMA for it when ISA is configured in the kernel. This allows acpi(4) attachments in non-ISA configurations, as is possible for ia64. o Add a seperate bus frontend for pci(4) and detect known single port parallel cards. o Merge PC98 specific changes under pc98/cbus into the MI driver. The changes are minor enough for conditional compilation and in this form invites better abstraction. o Have ppc(4) usabled on all platforms, now that ISA specifics are untangled enough.
* Retire NETSMBCRYPTO as a kernel option and make its functionalityyar2006-03-051-1/+1
| | | | | | | | | | | | | | | enabled by default in NETSMB and smbfs.ko. With the most of modern SMB providers requiring encryption by default, there is little sense left in keeping the crypto part of NETSMB optional at the build time. This will also return smbfs.ko to its former properties users are rather accustomed to. Discussed with: freebsd-stable, re (scottl) Not objected by: bp, tjr (silence) MFC after: 5 days
* Make config(8) understand ORed dependecies in "files*" andru2005-11-271-10/+5
| | | | improve tracking of known devices. Bump config(8) version.
* 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.
OpenPOWER on IntegriCloud