summaryrefslogtreecommitdiffstats
path: root/sys/boot/forth
Commit message (Collapse)AuthorAgeFilesLines
* Add new loader console type: "spinconsole". This console selects thesobomax2009-11-271-2/+7
| | | | | | | | video console which doesn't take any input from keyboard and hides all output replacing it with ``spinning'' character (useful for embedded products and custom installations). Sponsored by: Sippy Software, Inc.
* lindev(4) [1] is supposed to be a collection of linux-specific pseudobz2009-09-261-0/+1
| | | | | | | | | | | | | | | | | | | devices that we also support, just not by default (thus only LINT or module builds by default). While currently there is only "/dev/full" [2], we are planning to see more in the future. We may decide to change the module/dependency logic in the future should the list grow too long. This is not part of linux.ko as also non-linux binaries like kFreeBSD userland or ports can make use of this as well. Suggested by: rwatson [1] (name) Submitted by: ed [2] Discussed with: markm, ed, rwatson, kib (weeks ago) Reviewed by: rwatson, brueffer (prev. version) PR: kern/68961 MFC after: 6 weeks
* Update epair(4) to the new netisr implementation and polishbz2009-07-261-0/+1
| | | | | | | | | | | | | | | | things a bit: - use dpcpu data to track the ifps with packets queued up, - per-cpu locking and driver flags - along with .nh_drainedcpu and NETISR_POLICY_CPU. - Put the mbufs in flight reference count, preventing interfaces from going away, under INVARIANTS as this is a general problem of the stack and should be solved in if.c/netisr but still good to verify the internal queuing logic. - Permit changing the MTU to virtually everythinkg like we do for loopback. Hook epair(4) up to the build. Approved by: re (kib)
* Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductormarius2009-06-151-0/+1
| | | | | | | | | | | | DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware. Approved by: re (kib) MFC after: 2 weeks
* Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernetyongari2009-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had. HW donated by: Atheros Communications, Inc.
* Improve the accf_dns_load description.brueffer2009-05-171-1/+1
|
* Add an entry for the uath(4) module.weongyo2009-04-071-0/+1
|
* Remove the uscanner(4) driver, this follows the removal of the kernel scannerthompsa2009-03-191-1/+0
| | | | | | | driver in Linux 2.6. uscanner was just a simple wrapper around a fifo and contained no logic, the default interface is now libusb (supported by sane). Reviewed by: HPS
* Chase the k8temp->amdtemp rename in NOTES and loader.conf.dchagin2009-03-161-1/+1
| | | | Approved by: kib (mentor)
* Add an entry for the urtw(4) module.weongyo2009-01-231-0/+1
|
* comment out some debugging messages that slipped in by mistake.luigi2009-01-131-4/+3
| | | | MFC after: 3 days
* 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
* PROBLEM: putting in a loader config file a line of the formluigi2008-12-071-26/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | loader_conf_files="foo bar baz" should cause loading the files listed, and then resume with the remaining config files (from previous values of the variable). Unfortunately, sometimes the line was ignored -- actually even modifying the line in /boot/default/loader.conf sometimes doesn't work. ANALYSIS: After much investigation, turned out to be a bug in the logic. The existing code detected a new assignment by looking at the address of the the variable containing the string. This only worked by pure chance, i.e. if the new string is longer than the previous value then the memory allocator may return a different address to store the string hence triggering the detection. SOLUTION: This commit contains a minimal change to fix the problem, without altering too much the existing structure of the code. However, as a step towards improving the quality and reliability of this code, I have introduced a handful of one-line functions (strget, strset, strfree, string= ) that could be used in dozens of places in the existing code. HOWEVER: There is a much bigger problem here. Even though I am no Forth expert (as most fellow src committers) I can tell that much of the forth code (in support.4th at least) is in severe need of a review/refactoring: + pieces of code are replicated multiple times instead of writing functions (see e.g. set_module_*); + a lot of stale code (e.g. "structure" definitions for preloaded_files, kernel_module, pnp stuff) which is not used or at least belongs elsewhere. The code bload is extremely bad as the loader runs with very small memory constraints, and we already hit the limit once (see http://svn.freebsd.org/viewvc/base?view=revision&revision=185132 Reducing the footprint of the forth files is critical. + two different styles of coding, one using pure stack functions (maybe beautiful but surely highly unreadable), one using high level mechanisms to give names to arguments and local variables (which leads to readable code). Note that this code is used by default by all FreeBSD installations, so the fragility and the code bloat are extremely damaging. I will try to work fixing the three items above, but if others have time, please have a look at these issues. MFC after: 4 weeks
* Add ale(4), a driver for Atheros AR8121/AR8113/AR8114 PCIe ethernetyongari2008-11-121-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | controller. The controller is also known as L1E(AR8121) and L2E(AR8113/AR8114). Unlike its predecessor Attansic L1, AR8121/AR8113/AR8114 uses completely different Rx logic such that it requires separate driver. Datasheet for AR81xx is not available to open source driver writers but it shares large part of Tx and PHY logic of L1. I still don't understand some part of register meaning and some MAC statistics counters but the driver seems to have no critical issues for performance and stability. The AR81xx requires copy operation to pass received frames to upper stack such that ale(4) consumes a lot of CPU cycles than that of other controller. A couple of silicon bugs also adds more CPU cycles to address the known hardware bug. However, if you have fast CPU you can still saturate the link. Currently ale(4) supports the following hardware features. - MSI. - TCP Segmentation offload. - Hardware VLAN tag insertion/stripping with checksum offload. - Tx TCP/UDP checksum offload and Rx IP/TCP/UDP checksum offload. - Tx/Rx interrupt moderation. - Hardware statistics counters. - Jumbo frame. - WOL. AR81xx PCIe ethernet controllers are mainly found on ASUS EeePC or P5Q series of ASUS motherboards. Special thanks to Jeremy Chadwick who sent the hardware to me. Without his donation writing a driver for AR81xx would never have been possible. Big thanks to all people who reported feedback or tested patches. HW donated by: koitsu Tested by: bsam, Joao Barros <joao.barros <> gmail DOT com > Jan Henrik Sylvester <me <> janh DOT de > Ivan Brawley < ivan <> brawley DOT id DOT au >, CURRENT ML
* - Add ae(4) to loader.conf.stas2008-10-041-0/+1
| | | | | Approved by: kib (mentor) MFC after: 1 week
* Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches andjhb2008-09-101-0/+1
| | | | | | the driver worked ok with them. Tested by: friends of yar
* Add geom_journalmatteo2008-08-261-0/+1
| | | | | PR: conf/126829 MFC after: 2 days
* Add an entry for the upgt(4) module.weongyo2008-08-111-0/+1
|
* Add coretemp(4) and k8temp(4).rpaulo2008-08-041-0/+2
| | | | MFC after: 1 day
* Add an accept filter for TCP based DNS requests. It waits until thedwmalone2008-07-181-0/+1
| | | | whole first request is present before returning from accept.
* Remove the sbni(4) driver. No one responded to calls to test it onjhb2008-07-041-1/+0
| | | | current@ and stable@.
* Remove the oltr(4) driver. No one responded to calls for testing onjhb2008-07-041-2/+0
| | | | | | | | current@ and stable@ for the locking patches. The driver can always be revived if someone tests it. This driver also sleeps in its if_init routine, so it likely doesn't really work at all anyway in modern releases.
* Add an entry for the jme(4) module.yongari2008-05-271-0/+1
|
* Add an entry for the age(4) module.yongari2008-05-191-0/+1
|
* Add a couple of missing wireless NIC driver modules.weongyo2008-04-081-0/+5
| | | | Approved by: thompsa (mentor)
* Add a couple of missing NIC driver modules.brueffer2008-03-281-0/+6
| | | | | Approved by: rwatson (mentor) MFC after: 3 days
* Bump manpage date for rev 1.27keramida2008-01-161-1/+1
| | | | MFC after: 3 days
* Document that loader(8) stops reading `loader.conf' when itkeramida2008-01-161-0/+10
| | | | | | | | encounters a syntax error, and add a tip about adding first the `vital' options and then experimental ones. PR: docs/119658 Submitted by: Julian Stacey, jhs at berklix.org
* Allow negative values to be specified in the loader.ambrisko2007-12-191-0/+2
|
* Mention that autoboot_delay also accepts the "NO" value.ru2007-09-261-1/+2
| | | | Approved by: re (kensmith)
* - Remove UMAP filesystem. It was disconnected from build three years ago,rafan2007-06-251-1/+0
| | | | | | | and it is seriously broken. Discussed on: freebsd-arch@ Approved by: re (mux)
* Add zfs_load here.pjd2007-04-091-0/+1
| | | | Reminded by: bmah
* Always try to load zpool.cache instead of trying to find good place topjd2007-04-091-0/+7
| | | | document it. When there is no such file, it's invisible for the user.
* Document the init_chroot and init_script variables.imp2007-02-041-0/+3
| | | | | | # I didn't check the markup too closely, so doc people, please check Submitted by: Oliver Fromme
* o Wrap long lines.maxim2007-01-141-8/+16
|
* o Typo: note -> node.maxim2007-01-141-1/+1
| | | | | | PR: misc/107906 Submitted by: Alex Keda MFC after: 3 days
* o Move the comment to the correct place.maxim2007-01-141-1/+1
| | | | | PR: misc/107904 MFC after: 3 days
* Add an entry for the msk(4) module.yongari2006-12-131-0/+1
|
* Replace a rarely used "depuration" with "debugging".ru2006-10-131-1/+1
| | | | | | PR: docs/85127 Submitted by: Gary W. Swearingen (partially) MFC after: 3 days
* Add module loading option for Intel High Definition Audio Controllerariff2006-10-011-0/+1
| | | | - snd_hda(4)
* Add snd_envy24ht and remove the snd_ak4* module.netchild2006-09-301-1/+2
|
* Wordsmithing on the ixgb(4) and mxge(4) descriptions.brueffer2006-08-181-2/+2
| | | | Suggested by: ru (ixgb)
* Add more modules, correct alphabetical order.brueffer2006-08-181-1/+3
|
* Several updates:brueffer2006-08-141-14/+21
| | | | | | | | - Added missing file system/network/sound module entries - Removed obsolete network module entries - Capitalized (Fast|Gigabit) Ethernet MFC after: 1 week
* Add snd_emu10kx_loadache2006-07-261-0/+1
|
* Add an entry for the stge(4) module.yongari2006-07-251-1/+1
| | | | | While I'm here remove a stale wx(4) entry which was removed 4 years, 9 months ago.
* - Replace the entry for the no longer existing lnc(4) module with anmarius2006-05-141-2/+3
| | | | | | entry for the replacement le(4) module. - Add an entry for the gem(4) module. - Remove gratuitous whitespace in the description of the hme(4) entry.
* Remove more Alpha bits from the boot code including fixing severaljhb2006-05-121-12/+0
| | | | stale comments.
* Remove the USB keyboard hack now that KBDMUX is enabled by default. Allowscottl2006-03-311-11/+1
| | | | it to be disabled if Safe Mode is selected.
* Add kernel module loading option for snd_atiixp(4).ariff2005-12-011-0/+1
|
OpenPOWER on IntegriCloud