summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
...
* Addresses Roberts comments on comments. Also addsrrs2009-01-062-18/+12
| | | | | | | the KASSERT and checks suggested. Reviewed by: The udp tunneling was discussed on net@ under the thread entitled "Heads up -- Thinking about UDP and tunneling"
* Adds flags for SCTP checksum offload. Preprrs2009-01-061-0/+2
| | | | | for support for new Intel NIC's that have this feature.
* Add the ability of an alternate transport protocolrrs2009-01-063-10/+133
| | | | | | to easily tunnel over udp by providing a hook function that will be called instead of appending to the socket buffer.
* Further cleanup protosw.h:bz2009-01-061-21/+5
| | | | | | | | | | | | - Remove unused typedefs to avoid confusion and ease in merging ip6protosw with protosw. - Correct a few comments. - Remove most of a comment about usrreq. [1] - Use tabs instead of spaces for consistency. Submitted by: rwatson [1] Reviewed by: rwatson MFC after: 3 weeks
* Add workaround for Parallels 4.0. Without it, ehci and uhci driverstrasz2009-01-062-0/+14
| | | | | | | | would fail to attach due to unsupported USB revision. It should have no effect when running on a real hardware. Reviewed by: imp Approved by: rwatson (mentor)
* Don't enforce an upper-bound to the number of sectors or headsmarcel2009-01-061-4/+2
| | | | | that that the provider has. The limits we imposed were PC BIOS specific and not always applicable.
* remove the ath_rate module dependency; it's all bundledsam2009-01-061-1/+0
|
* Add a new quirk type so that the MacIO driver will assign memory resourcesnwhitehorn2009-01-061-2/+8
| | | | | | | | belonging to a devices children, in analogy to the way we handle interrupts for SCC serial devices. This is required to counteract overly deep nesting on onboard audio devices. Submitted by: Marco Trillo
* remove module glue, it's not used any moresam2009-01-063-81/+0
|
* Import yet some more small fixes to libteken sources:ed2009-01-053-0/+25
| | | | | | | | | | | - Implement NP (ASCII 12, Form Feed). When used with cons25, it should clear the screen and place the cursor at the top of the screen. When used with xterm, it should just simulate a newline. - When we want to use xterm emulation, make teken_demo set TERM to xterm. Spotted by: Paul B. Mahol <onemda@gmail.com>
* Add Centaur/IDT/VIA vendor ID for Nano family, which has long mode support.jkim2009-01-054-4/+4
|
* First cut at fixing memory mapping botch. Nobody must use the ray(4)imp2009-01-051-16/+29
| | | | | | driver since it couldn't have worked with NEWCARD w/o these fixes. This should allow selecting 16-bit memory width as well (which was what was broken).
* Define bits for memory mapping house keeping by bridges.imp2009-01-051-0/+4
|
* Switch the last protosw* structs to C99 initializers.bz2009-01-052-17/+25
| | | | | Reviewed by: ed, julian, Christoph Mallon <christoph.mallon@gmx.de> MFC after: 2 weeks
* This patch introduces a number of simplifications to the Forthluigi2009-01-053-511/+315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions used in the bootloader. The goal is to make the code more readable and smaller (especially because we have size issues in the loader's environment). High level description of the changes: + define some string manipulation functions to improve readability; + create functions to manipulate module descriptors, removing some duplicated code; + rename the error codes to ESOMETHING; + consistently use set_environment_variable (which evaluates $variables) when interpreting variable=value assignments; I have tested the code, but there might be code paths that I have not traversed so please let me know of any issues. Details of this change: --- loader.4th --- + add some module operators, to remove duplicated code while parsing module-related commands: set-module-flag enable-module disable-module toggle-module show-module --- pnp.4th --- + move here the definition related to the pnp devices list, e.g. STAILQ_* , pnpident, pnpinfo --- support.4th --- + rename error codes to capital e.g. ENOMEM EFREE ... and do obvious changes related to the renaming; + remove unused structures (those relevant to pnp are moved to pnp.4th) + various string functions - strlen removed (it is an internal function) - strchr, defined as the C function - strtype -- type a string to output - strref -- assign a reference to the string on the stack - unquote -- remove quotes from a string + remove reset_line_buffer + move up the 'set_environment_variable' function (which now uses the interpreter, so $variables are evaluated). Use the function in various places + add a 'test_file function' for debugging purposes MFC after: 4 weeks
* Add commented out options KDTRACE_HOOKS and, for amd64, KDRACE_FRAME,rwatson2009-01-052-0/+3
| | | | | | | to GENERIC configuration files. This brings what's in 8.x in sync with what is in 7.x, but does not change any current defaults. Possibly they should now be enabled in head by default?
* Add the missing PRU_FLUSH and 'FLUSH' defines noticedrrs2009-01-051-2/+3
| | | | by rwatson. Opps..
* Fix rendering glitch in cons25 emulation.ed2009-01-041-0/+12
| | | | | | | | | | | Because we now have cons25-style linewrapping, we must also use cons25- style reverse linewrapping. This means that a ^H on column 0 will move the cursor one line up. Also fix a small regression: if the user invokes a RIS (Reset to Initial State), we must show the cursor again. Spotted by: Paul B. Mahol <onemda gmail com>
* Fix non-C99 initialization for protosw initializing pr_ousrreq.rwatson2009-01-041-1/+0
|
* Unlike with struct protosw, several instances of struct ip6protoswrwatson2009-01-042-2/+0
| | | | | | | did not use C99-style sparse structure initialization, so remove NULL assignments for now-removed pr_usrreq function pointers. Reported by: Chris Ruiz <yr.retarded at gmail.com>
* struct ip6protosw is a copy of struct protosw, so remove pr_usrreq thererwatson2009-01-041-5/+0
| | | | | | to reflect removal from struct protosw. Spotted by: ed
* Remove Giant locking from domains list.ed2009-01-041-9/+9
| | | | | | | | | | | | | | During boot, the domain list is locked with Giant. It is not possible to register any protocols after the system has booted, so the lock is only used to protect insertion of entries. There is already a mutex in uipc_domain.c called dom_mtx. Use this mutex to lock the list, instead of using Giant. It won't matter anything with respect to performance, but we'll never get rid of Giant if we don't remove from places where we don't need it. Approved by: rwatson MFC after: 3 weeks
* Remove two further uses (debugging and NULLing) of pr_ousrreq, missed duerwatson2009-01-042-3/+0
| | | | | | to svn commit in the wrong directory. Spotted by: bz
* Remove now-unused pr_ousrreq from struct protosw. It may not have beenrwatson2009-01-041-2/+0
| | | | used since the last millenia.
* Do not incorrectly add the low 5 bits of the offset to the resultingkib2009-01-041-1/+1
| | | | | | | position of the found zero bit. Submitted by: Jaakko Heinonen <jh saunalahti fi> MFC after: 2 weeks
* Back out r186615; the sanitizing of the pointers in the error casebz2009-01-041-2/+0
| | | | | | is not needed and seems that it will not be needed either. Pointy hat: mine, mine, mine and not pho's
* Improve probing.marcel2009-01-041-5/+9
| | | | | | | | | o Don't check the dummy fields. o The entry is unused if either dp_mid is 0 or dp_sid is 0. o The start or end cylinder cannot be 0. o The start CHS cannot be equal to the end CHS. Submitted by: nyan
* Print control characters, even though they are normally not visible.ed2009-01-042-1/+7
| | | | | | | | With cons25, there are printable characters below 0x1B. This is not the case with ASCII, UTF-8, etc. but in this case we just have to. Also don't set LC_CTYPE to UTF-8 when libteken is compiled without UTF-8 in the demo-application.
* Sync with usb4bsd:alfred2009-01-0447-840/+2426
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | src/lib/libusb20/libusb20_desc.c Make "libusb20_desc_foreach()" more readable. src/sys/dev/usb2/controller/*.[ch] src/sys/dev/usb2/core/*.[ch] Implement support for USB power save for all HC's. Implement support for Big-endian EHCI. Move Huawei quirks back into "u3g" driver. Improve device enumeration. src/sys/dev/usb2/ethernet/*[ch] Patches for supporting new AXE Gigabit chipset. src/sys/dev/usb2/serial/*[ch] Fix IOCTL return code. src/sys/dev/usb2/wlan/*[ch] Sync with old USB stack. Submitted by: hps
* Resolve some regressions related to tabs and linewrap handling.ed2009-01-034-2/+34
| | | | | | | | | | | | | | | | | | | | It turns out I was looking too much at mimicing xterm, that I didn't take the differences of cons25 into account. There are some differences between xterm and cons25 that are important. Create a new #define called TEKEN_CONS25 that can be toggled to switch between cons25 and xterm mode. - Don't forget to redraw the cursor after processing a forward/backward tabulation. - Implement cons25-style (WYSE?) autowrapping. This form of autowrapping isn't that nice. It wraps the cursor when printing something on column 80. xterm wraps when printing the first character that doesn't fit. - In cons25, a \t shouldn't overwrite previous contents, while xterm does. Reported by: Garrett Cooper <yanefbsd gmail com>
* Fix the OFW interrupt map parser to use its own idea of the number of interruptnwhitehorn2009-01-038-49/+35
| | | | | | | | | cells in the map, instead of using a value passed to it and then panicing if it disagrees. This fixes interrupt map parsing for PCI bridges on some Apple Uninorth PCI controllers. Reported by: marcel Tested on: G4 iBook, Sun Ultra 5
* Reapply the intpin correction part of r146420 which somehowmarius2009-01-031-0/+7
| | | | got lost.
* Added section type SHT_GNU_HASH. GNU-style .hash section is a newkaiw2009-01-031-0/+1
| | | | | style of hash section with better performace than the original SYSV hash. It can be generated by newer binutils.
* Extend the struct vm_page wire_count to u_int to avoid the overflowkib2009-01-033-6/+14
| | | | | | | | | | | | | | | | of the counter, that may happen when too many sendfile(2) calls are being executed with this vnode [1]. To keep the size of the struct vm_page and offsets of the fields accessed by out-of-tree modules, swap the types and locations of the wire_count and cow fields. Add safety checks to detect cow overflow and force fallback to the normal copy code for zero-copy sockets. [2] Reported by: Anton Yuzhaninov <citrin citrin ru> [1] Suggested by: alc [2] Reviewed by: alc MFC after: 2 weeks
* Allow the IP_MINTTL socket option to be set to 0 so that it can berwatson2009-01-031-1/+1
| | | | | | | | | disabled entirely, which is its default state before set to a non-zero value. PR: 128790 Submitted by: Nick Hilliard <nick at foobar dot org> MFC after: 3 weeks
* Call pcn_start_locked() instead of pcn_start() where the softc lock isbrueffer2009-01-031-1/+1
| | | | | | | already held. Approved by: rwatson (mentor) MFC after: 3 weeks
* Some modules such as SCTP supplies a valid route entry as an input argumentqingli2009-01-032-37/+17
| | | | | | | | | | | | | | | to ip_output(). The destionation is represented in a sockaddr{} object that may contain other pieces of information, e.g., port number. This same destination sockaddr{} object may be passed into L2 code, which could be used to create a L2 entry. Since there exists a L2 table per address family, the L2 lookup function can make address family specific comparison instead of the generic bcmp() operation over the entire sockaddr{} structure. Note in the IPv6 case the sin6_scope_id is not compared because the address is currently stored in the embedded form inside the kernel. The in6_lltable_lookup() has to account for the scope-id if this storage format were to change in the future.
* Fix a corner case in my previous commit.ed2009-01-021-1/+2
| | | | | Even though there are not many setups that have absolutely no console device, make sure a close() on a TTY doesn't dereference a null pointer.
* Don't let /dev/console be revoked if the TTY below is being closed.ed2009-01-021-0/+7
| | | | | | | | | | | During startup some of the syscons TTY's are used to set attributes like the screensaver and mouse options. These actions cause /dev/console to be rendered unusable. Fix the issue by leaving the TTY opened when it is used as the console device. Reported by: imp
* The log message should terminate with a newline insteadqingli2009-01-021-1/+1
| | | | of a tab character.
* Remove an unneeded assertion in libteken.ed2009-01-011-1/+0
| | | | | | The cursor is only inside the scrolling region when we are in origin mode. In that case, it should use originreg instead of scrollreg. It is completely valid to place the cursor outside the scrolling region.
* White space and comment tweaks.rwatson2009-01-011-2/+2
| | | | MFC after: 3 weeks
* Temporary workaround for the limitations of the mbuf flowid field: zerorwatson2009-01-011-0/+2
| | | | | | the field in the mbuf constructors, since otherwise we have no way to tell if they are valid. In the future, Kip has plans to add a flag specifically to indicate validity, which is the preferred model.
* - Currently the PMAP code is laid out to let the kernel TSB cover themarius2009-01-013-2/+29
| | | | | | | | | | | whole KVA space using one locked 4MB dTLB entry per GB of physical memory. On Cheetah-class machines only the dt16 can hold locked entries though, which would be completely consumed for the kernel TSB on machines with >= 16GB. Therefore limit the KVA space to use no more than half of the lockable dTLB slots, given that we need them also for other things. - Add sanity checks which ensure that we don't exhaust the (lockable) TLB slots.
* Replace syscons terminal renderer by a new renderer that uses libteken.ed2009-01-0124-989/+3117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Back out a non-style(9) change from r186668 to unbreak the kernels.bz2009-01-011-1/+1
|
* style(9)obrien2009-01-011-1/+1
| | | | Verfied with: svn diff -x -Bbw file.h showing empty diff
* style(9)obrien2009-01-012-12/+11
| | | | Differences from 'svn diff -x -Bbw' are trivially verifiable as only style(9).
* style(9)obrien2009-01-012-22/+22
| | | | Verified with: svn diff -x -Bbw elf_generic.h elf64.h
* style(9)obrien2009-01-011-315/+315
| | | | Verified with: svn diff -x -Bbw elf_common.h
OpenPOWER on IntegriCloud