|
Revision tags: release/12.2.0, release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
| #
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <[email protected]> |
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0, release/10.0.0, release/9.2.0, release/8.4.0, release/9.1.0, release/8.3.0, release/7.4.0, release/8.2.0, release/8.1.0, release/7.3.0 |
|
| #
74794d0d |
| 13-Jan-2010 |
Marius Strobl <[email protected]> |
MFC: r200926
Recognize the NS16552 found in PCIe-based sun4u machines.
|
| #
dc15eac0 |
| 02-Jan-2012 |
Ed Schouten <[email protected]> |
Use strchr() and strrchr().
It seems strchr() and strrchr() are used more often than index() and rindex(). Therefore, simply migrate all kernel code to use it.
For the XFS code, remove an empty lin
Use strchr() and strrchr().
It seems strchr() and strrchr() are used more often than index() and rindex(). Therefore, simply migrate all kernel code to use it.
For the XFS code, remove an empty line to make the code identical to the code in the Linux kernel.
show more ...
|
| #
c71dacd1 |
| 15-May-2011 |
Marius Strobl <[email protected]> |
Recognize the SAB 82532 found in Fujitsu PRIMEPOWER650 and 900.
|
| #
d5dba21c |
| 10-Apr-2010 |
Marius Strobl <[email protected]> |
Add sbbc(4), a driver for the BootBus controller found in Serengeti and StarCat systems which provides time-of-day services for both as well as console service for Serengeti, i.e. Sun Fire V1280. Whi
Add sbbc(4), a driver for the BootBus controller found in Serengeti and StarCat systems which provides time-of-day services for both as well as console service for Serengeti, i.e. Sun Fire V1280. While the latter is described with a device type of serial in the OFW device tree, it isn't actually an UART. Nevertheless the console service is handled by uart(4) as this allowed to re-use quite a bit of MD and MI code. Actually, this idea is stolen from Linux which interfaces the sun4v hypervisor console with the Linux counterpart of uart(4).
show more ...
|
| #
48533564 |
| 23-Dec-2009 |
Marius Strobl <[email protected]> |
Recognize the NS16552 found in PCIe-based sun4u machines.
|
|
Revision tags: release/8.0.0, release/7.2.0, release/7.1.0, release/6.4.0, release/7.0.0, release/6.3.0 |
|
| #
f8100ce2 |
| 02-Apr-2007 |
Marcel Moolenaar <[email protected]> |
Don't expose the uart_ops structure directly, but instead have it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to refere
Don't expose the uart_ops structure directly, but instead have it obtained through the uart_class structure. This allows us to declare the uart_class structure as weak and as such allows us to reference it even when it's not compiled-in. It also allows is to get the uart_ops structure by name, which makes it possible to implement the dt tag handling in uart_getenv(). The side-effect of all this is that we're using the uart_class structure more consistently which means that we now also have access to the size of the bus space block needed by the hardware when we map the bus space, eliminating any hardcoding.
show more ...
|
|
Revision tags: release/6.2.0, release/5.5.0, release/6.1.0 |
|
| #
ea227b49 |
| 04-Feb-2006 |
Marius Strobl <[email protected]> |
- Add support for using LOM (Lights Out Management) and RSC (Remote System Control) devices as console. These are microcontrollers which are either on-board or part of an add-on card and provide
- Add support for using LOM (Lights Out Management) and RSC (Remote System Control) devices as console. These are microcontrollers which are either on-board or part of an add-on card and provide terminal server, remote power switch and monitoring functionality. For console usage these are connected to the rest of the system via a SCC or an UART. This commit adds support for the following variants (corresponds to what 'input-device' and 'output-device' have to be set to): rsc found on-board in E250 and supposedly some Netra, connected via a SAB82532, com. parameters can be determined via OFW rsc-console RSC card found in E280R, Fire V4x0, Fire V8x0, connected via a NS16550, hardwired to 115200 8N1 lom-console LOMlite2 card found in Netra 20/T4, connected via a NS16550, hardwired to 9600 8N1
- Add my copyright to uart_cpu_sparc64.c as I've rewritten about one third of that file over time.
Tested on: E250, E280R Thanks to: dwhite@ for providing access to an E280R OK'ed by: marcel MFC after: 1 week
show more ...
|
|
Revision tags: release/6.0.0 |
|
| #
1b279bfb |
| 15-Aug-2005 |
Marius Strobl <[email protected]> |
- Change the code that determines whether to use a serial console and which serial device to use in that case respectively to not rely on the OFW names of the input/output and stdin/stdout device
- Change the code that determines whether to use a serial console and which serial device to use in that case respectively to not rely on the OFW names of the input/output and stdin/stdout devices. Instead check whether input and output refers to the same device and is of type serial (uart(4) was already doing this) and for the fallback to a serial console in case a keyboard is the selected input device but unplugged do the same for stdin and stdout in case the input device is nonexistent (PS/2 and USB keyboards) or has a 'keyboard' property (RS232 keyboards). Additionally also check whether the OFW did a fallback to a serial console in the same way in case the output device is nonexistent. While at it save on some variables and for sys/boot/sparc64/loader/metadata.c move the code in question to a new function md_bootserial() so it can be kept in sync with uart_cpu_getdev_console() more easily. This fixes selecting a serial console and the appropriate device when using a device path for the 'input-device' and 'output-device' OFW environment variables instead of an alias for the serial device to use or when using a screen alias that additionally denotes a video mode (like e.g. 'screen:r1024x768x60') but no keyboard is plugged in (amongst others). It also makes the code select a serial console in case the OFW did the same due to a misconfiguration like both 'input-device' and 'output-device' set to 'keyboard' or to a nonexisting device (whether the OFW does a fallback to a serial console in case of a misconfiguration or one ends up with just no console at all highly depends on the OBP version however). - Reduce the size of buffers that only ever need to hold the string 'serial' accordingly. Double the size of buffers that may need to hold a device path as e.g. '/pci@8,700000/ebus@5/serial@1,400000:a' exceeds 32 chars. - Remove the package handle of the '/options' node from the argument list of uart_cpu_getdev_dbgport() as it's unused there and future use is also unlikely.
MFC after: 1 week
show more ...
|
| #
079f9edf |
| 07-Aug-2005 |
Marius Strobl <[email protected]> |
Recognize the SAB82532 in USIII machines.
|
| #
ecf42695 |
| 04-Jun-2005 |
Marius Strobl <[email protected]> |
Change the semantics of uart_cpu_getdev_keyboard() to only match SCCs/ UARTs used to connect keyboards and not also PS/2 keyboards and only return their package handle in case the keyboard is the pre
Change the semantics of uart_cpu_getdev_keyboard() to only match SCCs/ UARTs used to connect keyboards and not also PS/2 keyboards and only return their package handle in case the keyboard is the preferred one according to the OFW but otherwise still regardless of whether the keyboard is used for stdin or not. This is simply achieved by looking at the 'keyboard' alias and returning the corresponding package handle in case it refers to a SCC/UART. This is change is done in order to give the keyboard which the OFW or the user selected in OFW on boards that support additional types of keyboards besides the RS232 ones also preference in FreeBSD. It will be also used to determine on Sun AXi and Sun AXmp boards whether a PS/2 or a RS232 is to be used as these are sort of mutual exclusive there (see upcoming commit to uart_bus_ebus.c). Note that Tatung AXi boards have the same issue but the former code happened to already give the PS/2 keyboard preference by not identifying the respective UART as keyboard system device there because the PS/2 keyboard node precedes the keyboard UART one in the OFW device tree of these boards (which isn't the case for the Sun AXi).
Ok'ed by: marcel
show more ...
|
|
Revision tags: release/5.4.0 |
|
| #
082c4344 |
| 12-Mar-2005 |
Marius Strobl <[email protected]> |
In uart_cpu_getdev_console() when determinig whether we should use a serial console anyway because input-device is set to keyboard and output-device is set to screen but no keyboard is plugged in don
In uart_cpu_getdev_console() when determinig whether we should use a serial console anyway because input-device is set to keyboard and output-device is set to screen but no keyboard is plugged in don't assume that a device node for the input-device alias exists. While this is true for RS232 keyboards (the node of the SCC and UART respectively which controls the keyboard doesn't disappear when no keyboard is plugged in) this assumption breaks for USB keyboards. It's most likely also not true for PS/2 keyboards but OFW doesn't reliably switch to a serial console when the potential keyboard is a PS/2 one which isn't plugged in so this couldn't be verified properly.
Reported by: Will Andrews <[email protected]>, obrien MFC after: 1 week
show more ...
|
| #
2b2250b1 |
| 12-Feb-2005 |
Marius Strobl <[email protected]> |
- Re-write OF_decode_addr() with a bus-neutral approach, adding support for nodes hanging off of Central (untested), FireHose (untested) and PCI (tested) busses. - Add an additional parameter to
- Re-write OF_decode_addr() with a bus-neutral approach, adding support for nodes hanging off of Central (untested), FireHose (untested) and PCI (tested) busses. - Add an additional parameter to OF_decode_addr() which specifies the index of the register bank to decode.
These should allow to eventually add support for the Z8530 hanging off of FireHose to uart(4) and to write support for PCI-based graphics adapters.
Suggested by: tmm (back in '03)
show more ...
|
|
Revision tags: release/4.11.0 |
|
| #
098ca2bd |
| 06-Jan-2005 |
Warner Losh <[email protected]> |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
| #
36bdb858 |
| 28-Nov-2004 |
Marius Strobl <[email protected]> |
- Don't blindly use the return value of uart_cpu_channel() to calculate the address of a channel on a SCC, it returns 0 on failure. [1] - Hardcode channel 1 for the keyboard on Z8530, the informati
- Don't blindly use the return value of uart_cpu_channel() to calculate the address of a channel on a SCC, it returns 0 on failure. [1] - Hardcode channel 1 for the keyboard on Z8530, the information present in the Open Firmware device tree doesn't allow to determine this via uart_cpu_channel(). This makes the keyboard (if one backs out rev. 1.5 of sys/dev/puc/puc_sbus.c and has both keyboard and mouse plugged in to avoid the hang that revision works around) and consequently syscons(4) on Ultra 2 work. There's a problem with the keyboard LEDs similar to the one on Ultra 60 (LEDs don't get lit under X) though, instead of lighting just a specific single one all get lit and can't be turned off again. [1] - Add comments about what uart_cpu_channel() and uart_cpu_getdev_keyboard() do and their constraints. - Improve the comments about what uart_cpu_getdev_[console,dbgport]() do, they don't return an address (as in bus) but an Open Firmware package handle.
Reviewed by: marcel (modulo the comments) [1]
show more ...
|
| #
37f37506 |
| 17-Nov-2004 |
Marius Strobl <[email protected]> |
Remove the whole uart_cpu_identify() stuff again. Now that it's no longer used on sparc64 they are only stubs on all architectures and it doesn't look like if we would need it in the near future agai
Remove the whole uart_cpu_identify() stuff again. Now that it's no longer used on sparc64 they are only stubs on all architectures and it doesn't look like if we would need it in the near future again.
Ok'ed by: marcel
show more ...
|
| #
8ff995cc |
| 17-Nov-2004 |
Marius Strobl <[email protected]> |
o sparc64/isa/isa.c: - The claim in the commit log of rev. 1.11 of dev/uart/uart_cpu_sparc64.c etc. that UARTs are the only relevant ISA devices on sparc64 turned out to be false. While the
o sparc64/isa/isa.c: - The claim in the commit log of rev. 1.11 of dev/uart/uart_cpu_sparc64.c etc. that UARTs are the only relevant ISA devices on sparc64 turned out to be false. While there are sparc64 models where UARTs are the only devices on the ISA bus there are in fact also low-cost models where all devices traditionally found on the EBus are hooked up to the ISA bus. There are also models that use a mix between EBus and ISA devices with things like an AT keyboard controller and other rather interesting devices that we might want to support in the futute hook up to the ISA bus. In order to not need to add sparc64 specific device_identify methods to all of the respective ISA drivers and also not add OFW specific code to the common ISA code make the sparc64 ISA bus code fake up PnP devices so most ISA drivers probe their devices without further changes. Unfortunately Sun doesn't adhere to the ISA bindings defined in IEEE 1275-1994 for the properties of most of the ISA devices which would allow to obtain the vendor and logical IDs from their properties. So we we just use a simple table which maps the name properties to PnP IDs. This could be done in a more sophisticated way but I courrently don't see the need for this. [1] - Add the children with fully mapped and specified resources (in the OFW sense) similar to what is done in the EBus code for the IRQ resources of the children as adjusting the resources and the resource list entries respectively in isa_alloc_resource() as done perviously causes trouble with drivers which use rman_get_start(), pass-through or allocate and release resources multiple times, etc. Adjusting the resources might be better off in a bus_activate_resource method but the common ISA code currently doesn't allow for an isa_activate_resource(). [2] With this change: - ppbus(4) and lpt(4) attach and work (modulo ECP mode, which requires real ISADMA code but it currently only consists of stubs on sparc64). - atkbdc(4) and atkbdc(4) attach, no further testing done. - fdc(4) itself attaches but causes a hang while attaching fd0 also when is DMA disabled, further work in fdc(4) is required here as e.g. fd0 uses the address of fd1 on sparc64 (not sure if sparc64 supports more than one floppy drive at all). All of these drivers previously caused panics in the sparc64 ISA code. - Minor changes, e.g. use __FBSDID, remove a dupe word in a comment and declare one global variable which isn't used outside of isa.c static. o dev/uart/uart_cpu_sparc64.c and modules/uart/Makefile: - Remove the code for registering the UARTs on the ISA bus from the sparc64 uart_cpu_identify() again and rely on probing them via PnP.
Original idea by: tmm [1] No objections by: tmm [1], [2]
show more ...
|
|
Revision tags: release/5.3.0 |
|
| #
115e9ac6 |
| 15-Aug-2004 |
Marius Strobl <[email protected]> |
Fix a style(9) bug (variable definitions inside a nested scope) a patch of mine introduced in revision 1.10.
Approved by: marcel Prodded by: marcel
|
| #
efa79eb7 |
| 14-Aug-2004 |
Marius Strobl <[email protected]> |
- Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c and that can be used as an identify function for all kinds of busses on a certain platform. Expect for sparc64 these a
- Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c and that can be used as an identify function for all kinds of busses on a certain platform. Expect for sparc64 these are only stubs right now. [1] - For sparc64, add code to its uart_cpu_identify() for registering the on- board ISA UARTs and their resources based on information obtained from Open Firmware. It would be better if this would be done in the OFW ISA code. However, due to the common FreeBSD ISA code and PNP-IDs not always being present in the properties of the ISA nodes there seems to be no good way to implement that. Therefore special casing UARTs as the sole really relevant ISA devices on sparc64 seemed reasonable. [2]
Approved by: marcel Discussed with: marcel [1], tmm [2] Tested by: make universe
show more ...
|
|
Revision tags: release/4.10.0 |
|
| #
f987d8d1 |
| 04-Apr-2004 |
Marcel Moolenaar <[email protected]> |
To quote submitter: "... uart_cpu_sparc64.c currently only looks at /options if ttyX is the selected console. However, there's one case where it should additionally look at /chosen. If "keyboard" is
To quote submitter: "... uart_cpu_sparc64.c currently only looks at /options if ttyX is the selected console. However, there's one case where it should additionally look at /chosen. If "keyboard" is the selected input- device and "screen" the output-device (both via /options) but the keyboard is unplugged, OF automatically switches to ttya for the console. It even prints a line telling so on "screen". Solaris respects this behaviour and uses ttya as the console in this case and people probably expect FreeBSD to do the same (it's also very handy to temporarily switch consoles)..."
Submitted by: Marius Strobl <[email protected]> Has no doubt the change is correct: marcel
show more ...
|
| #
16283d13 |
| 02-Apr-2004 |
Marcel Moolenaar <[email protected]> |
Allow the selection of a debug port with hw.uart.dbgport. Unlike other architectures (like ia64), the variable has to be set to an OpenFirmware device name.
|
| #
2ae4f1fd |
| 20-Mar-2004 |
Marcel Moolenaar <[email protected]> |
Introduce the hw.uart.console and hw.uart.dbgport environment variables to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hi
Introduce the hw.uart.console and hw.uart.dbgport environment variables to select a serial console and debug port (resp). On ia64 these replace the use of hints completely and take precedence over hints on alpha, amd64 and i386. On sparc64 these variables are not yet recognised.
The reasons for introducing these variables are: 1. Hints have side-effects. They reserve the unit number for use by isa or acpi devices and therefore cannot be used to select a pci device. Also, the use of a unit number to select a device prior to bus enumeration is nonsense. The new variables have no side- effects and are not based on unit numbers. 2. Hints don't have the expression power to allow the sysadmin to select UARTs that are not legacy PC devices and need the support of compile-time constants to give the sysadmin some level of flexibility.
The hw.uart.console and hw.uart.dbgport variables specify a list of attributes. An attribute is a tag-value pair, seperated by a colon. Attributes are seperated by a comma. Where possible, tags are the same as those in /etc/remote (only br and pa in practice). Details can be found in the manpage (not part of this commit).
Not tested on: amd64, pc98
show more ...
|
|
Revision tags: release/5.2.1, release/5.2.0 |
|
| #
d8c43e4c |
| 11-Nov-2003 |
Jake Burkholder <[email protected]> |
Allow uart to attach to keyboards that are not the firmware's notion of stdin, such as when using a serial console. We must recognize these devices here so that we can override the tty attach routin
Allow uart to attach to keyboards that are not the firmware's notion of stdin, such as when using a serial console. We must recognize these devices here so that we can override the tty attach routine.
show more ...
|
|
Revision tags: release/4.9.0 |
|
| #
2eaa4957 |
| 28-Sep-2003 |
Jake Burkholder <[email protected]> |
Set the baud rate to 1200 if the device is a keyboard.
|
| #
875f70db |
| 26-Sep-2003 |
Marcel Moolenaar <[email protected]> |
Revert the introduction of iobase in struct uart_bas. Both the SAB82532 and the Z8530 drivers used the I/O address as a quick and dirty way to determine which channel they operated on, but formalizin
Revert the introduction of iobase in struct uart_bas. Both the SAB82532 and the Z8530 drivers used the I/O address as a quick and dirty way to determine which channel they operated on, but formalizing this by introducing iobase is not a solution. How for example would a driver know which channel it controls for a multi-channel UART that only has a single I/O range?
Instead, add an explicit field, called chan, to struct uart_bas that holds the channel within a device, or 0 otherwise. The chan field is initialized both by the system device probing (i.e. a system console) or it is passed down to uart_bus_probe() by any of the bus front-ends. As such, it impacts all platforms and bus drivers and makes it a rather large commit.
Remove the use of iobase in uart_cpu_eqres() for pc98. It is expected that platforms have the capability to compare tag and handle pairs for equality; as to determine whether two pairs access the same device or not. The use of iobase for pc98 makes it impossible to formalize this and turn it into a real newbus function later. This commit reverts uart_cpu_eqres() for pc98 to an unimplemented function. It has to be reimplemented using only the tag and handle fields in struct uart_bas.
Rewrite the SAB82532 and Z8530 drivers to use the chan field in struct uart_bas. Remove the IS_CHANNEL_A and IS_CHANNEL_B macros. We don't need to abstract anything anymore.
Discussed with: nyan Tested on: i386, ia64, sparc64
show more ...
|