aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/pc98/libpc98
Commit message (Collapse)AuthorAgeFilesLines
* Remove sys/boot/pc98 accidentally restored in r313575Ed Maste2017-02-1110-2861/+0
| | | | | | | Reported by: rpokala Notes: svn path=/head/; revision=313576
* makefs: make the buffer functions look exactly like the kernel onesEd Maste2017-02-1110-0/+2861
| | | | | | | | | | | | | | | | | | | | | From NetBSD christos Sat Jan 26 00:19:39 2013 +0000 make the buffer functions look exactly like the kernel ones and add other cruft to make the kernel files compile. ffs.c 1.54 ffs/buf.c 1.13 ffs/buf.h 1.3 ffs/ffs_alloc.c 1.21 ffs/ffs_balloc.c 1.15 Reviewed by: marcel, ngie Obtained from: NetBSD Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8404 Notes: svn path=/head/; revision=313575
* Remove pc98 support completely.Yoshihiro Takahashi2017-01-2810-2861/+0
| | | | | | | | | I thank all developers and contributors for pc98. Relnotes: yes Notes: svn path=/head/; revision=312910
* dosfs support in libstand is broken since r298230Toomas Soome2016-12-302-11/+10
| | | | | | | | | | | | | | | | | | | | | | Apparently the libstand dosfs optimization is a bit too optimistic and did introduce possible memory corruption. This patch is backing out the bad part and since this results in dosfs reading full blocks now, we can also remove extra offset argument from dv_strategy callback. The analysis of the issue and the backout patch is provided by Mikhail Kupchik. PR: 214423 Submitted by: Mikhail Kupchik Reported by: Mikhail Kupchik Reviewed by: bapt, allanjude Approved by: allanjude (mentor) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D8644 Notes: svn path=/head/; revision=310850
* lsdev device name section headers should be printed by dv_print callback.Toomas Soome2016-11-192-0/+14
| | | | | | | | | | | | | | | | | | | lsdev command does walk over devsw list, prints list element name and will use dv_print() callback to print the device list. Unfortunately this approach will add unneeded noise when there are no particular devices detected. To remove "empty" device section headers, the dv_print() callback should print the header instead. In addition, fixed dv_print callback for md module. Reviewed by: imp Approved by: imp (mentor) Differential Revision: https://reviews.freebsd.org/D8551 Notes: svn path=/head/; revision=308827
* Loader paged/pageable data is not always paged.Toomas Soome2016-11-082-21/+19
| | | | | | | | | | | | | | | | | | | This change does modify devsw dv_print() to return the int value, enabling walkers to interrupt the walk on non zero value from dv_print(). This will allow the pager_print actually to stop displaying data on user input, and additionally pager is used in various *dev_print callbacks, where it was missing. For test, lsdev [-v] command should display data by screenfuls and should stop when the key 'q' is pressed on pager prompt. Reviewed by: allanjude Approved by: allanjude (mentor) Differential Revision: https://reviews.freebsd.org/D5461 Notes: svn path=/head/; revision=308434
* Create a new linker set, Xficl_compile_set which contains a list ofWarner Losh2016-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | functions to call at the appropriate time to register new forth words. In the past we've done this with ifdef soup, but now if the file is included in the build, we'll get the new forth words. Use this new functionality to move the pci bios stuff out of loader.c by moving it to biospci.c. Move the pnp functionality to common/pnp.c. Move the inb/outb forth words to the i386 sysdep.c file where their implementation is defined. Adjust the efi linker scripts and build machinery to cope. his should be an invisible change to forth scripts and user experience. Differential Revision: https://reviews.freebsd.org/D8145 Notes: svn path=/head/; revision=307324
* Fix several instances where the boot loader ignored pager_outputWarner Losh2016-05-182-17/+27
| | | | | | | | | | return value when it could return 1 (indicating we should stop). Fix a few instances of pager_open() / pager_close() not being called. Actually use these routines for the environment variable printing code I just committed. Notes: svn path=/head/; revision=300117
* Fix more pc98 build issues re: bcache changeAllan Jude2016-04-221-2/+2
| | | | | | | Reported by: bz, emaste Notes: svn path=/head/; revision=298478
* Fix pc98 build error introduced in r298230Allan Jude2016-04-191-2/+2
| | | | | | | | | Submitted by: Toomas Soome <tsoome@me.com> Spotted by: bz Differential Revision: https://reviews.freebsd.org/D6002 Notes: svn path=/head/; revision=298275
* A new implementation of the loader block cacheAllan Jude2016-04-183-9/+64
| | | | | | | | | | | | | | | | | | | | The block cache implementation in loader has proven to be almost useless, and in worst case even slowing down the disk reads due to insufficient cache size and extra memory copy. Also the current cache implementation does not cache reads from CDs, or work with zfs built on top of multiple disks. Instead of an LRU, this code uses a simple hash (O(1) read from cache), and instead of a single global cache, a separate cache per block device. The cache also implements limited read-ahead to increase performance. To simplify read ahead management, the read ahead will not wrap over bcache end, so in worst case, single block physical read will be performed to fill the last block in bcache. Booting from a virtual CD over IPMI: 0ms latency, before: 27 second, after: 7 seconds 60ms latency, before: over 12 minutes, after: under 5 minutes. Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: delphij (previous version), emaste (previous version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D4713 Notes: svn path=/head/; revision=298230
* Fix remaining direct tests of the carry flag in the v86 %eflags via aJohn Baldwin2015-12-241-3/+3
| | | | | | | | | | | | | | | magic number to use V86_CY() instead. These should have been fixed as part of the cleanup in r226746 but were missed. The md5 sums of the object files were unchanged, so there should be no functional change. PR: 205424 Submitted by: Alexander Kuleshov <kuleshovmail@gmail.com> MFC after: 1 week Notes: svn path=/head/; revision=292682
* Since clang 3.6.0 now implements the archetype 'freebsd_kprintf' forDimitry Andric2015-01-281-2/+2
| | | | | | | | | | | | | | | | | __attribute__((format(...))), and the -fformat-extensions flag was removed, introduce a new macro in bsd.sys.mk to choose the right variant of compile flag for the used compiler, and use it. Also add something similar to kern.mk, since including bsd.sys.mk from that file will anger Warner. :-) Note that bsd.sys.mk does not support the MK_FORMAT_EXTENSIONS knob used in kern.mk, since that knob is only available in kern.opts.mk, not in src.opts.mk. We might want to add it later, to more easily support external compilers for building world (in particular, sys/boot). Notes: svn path=/projects/clang360-import/; revision=277842
* MFi386: r268974Yoshihiro Takahashi2014-09-281-0/+3
| | | | | | | Supress clang warning for FreeBSD printf %b and %D formats. Notes: svn path=/head/; revision=272255
* Make comconsole options set before its activation to be remembered.Alexander Motin2014-01-201-4/+4
| | | | | | | | MFC after: 2 weeks Sponsored by: iXsystems, Inc. Notes: svn path=/head/; revision=260949
* Change <sys/diskpc98.h> to not redefine the same symbols that areMarcel Moolenaar2013-08-071-5/+5
| | | | | | | | | | | | | | | | | | | being defined in <sys/diskmbr.h>. Instead give the symbols here a "PC98_" prefix. This way, both <sys/diskmbr.h> and <sys/diskpc98.h> can be included in the same C source file. The renaming is trivial. The only gotcha is that DOSBBSECTOR is also redefined from 0 to 1. This because DOSBBSECTOR was always used in conjunction with an addition of 1. The PC98_BBSECTOR symbol is defined as 1 and the expression is simplified. Note: it is not believed that ports are seriously impacted; or at all for that matter. Approved by: nyan@ Notes: svn path=/head/; revision=254015
* MFi386: revision 245848Yoshihiro Takahashi2013-06-011-18/+7
| | | | | | | Always update the hw.uart.console hint. Notes: svn path=/head/; revision=251223
* Don't pad disk partition sizes with leading zeros. This was alreadyJohn Baldwin2013-05-071-1/+1
| | | | | | | | | | fixed in a different way by the new disk code used for other platforms. MFC after: 1 week Notes: svn path=/head/; revision=250333
* MFi386: r241300Yoshihiro Takahashi2012-11-101-14/+22
| | | | | | | | | | | i386 comconsole: don't loop forever if hardware doesn't respond - clear capability flags when hw timeouts - retire comc_started status variable and directly use c_flags to see if comconsole is selected for use Notes: svn path=/head/; revision=242864
* Reduce diffs against i386.Yoshihiro Takahashi2012-08-051-1/+2
| | | | Notes: svn path=/head/; revision=239069
* libpc98: unbreak after zfs-related changes in libi386 codeAndriy Gapon2012-05-131-0/+2
| | | | | | | | Pointyhat to: avg MFC after: 1 month Notes: svn path=/head/; revision=235395
* i386 boot: consolidate MAXBDDEV definitionAndriy Gapon2012-05-091-1/+0
| | | | | | | MFC after: 1 month Notes: svn path=/head/; revision=235155
* MFi386: revision 229435Yoshihiro Takahashi2012-01-041-31/+188
| | | | | | | | | | Add special loader environment variables 'comconsole_port' and 'comconsole_pcidev'. MFC after: 2 weeks Notes: svn path=/head/; revision=229463
* Consolidate duplicate definitions of V86_CY() and V86_ZR() which check forJohn Baldwin2011-10-252-3/+1
| | | | | | | | the carry and zero flags being set, respectively, in <btxv86.h> and use them throughout the x86 boot code. Notes: svn path=/head/; revision=226746
* Now there is no functional difference from i386 version.Yoshihiro Takahashi2010-11-131-35/+0
| | | | | | | So use i386 version. Notes: svn path=/head/; revision=215246
* Add setting machine type support to the loader.Yoshihiro Takahashi2009-12-313-1/+108
| | | | | | | MFC after: 2 week Notes: svn path=/head/; revision=201339
* Fix debug messages of bd_io().Yoshihiro Takahashi2009-12-171-4/+4
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=200631
* MFi386: revision 200219Yoshihiro Takahashi2009-12-081-2/+15
| | | | | | | | | | Improve the algorithm the loader uses to choose a memory range for its heap when using a range above 1MB. MFC after: 1 week Notes: svn path=/head/; revision=200255
* MFi386: revision 200216Yoshihiro Takahashi2009-12-081-2/+1
| | | | | | | Various small whitespace and style fixes. Notes: svn path=/head/; revision=200253
* Oops, fix the previous change.Yoshihiro Takahashi2009-03-201-3/+3
| | | | Notes: svn path=/head/; revision=190147
* MFi386: r189749Yoshihiro Takahashi2009-03-201-33/+69
| | | | | | | | Teach the BIOS CD driver to use bounce buffers when the destination address is > 1 MB. Notes: svn path=/head/; revision=190146
* Merge the missing changes from i386.Yoshihiro Takahashi2009-03-201-12/+49
| | | | | | | Teach the loader about the FAT partitions. Notes: svn path=/head/; revision=190127
* MFi386: the part of r179825 to reduce diffs against i386.Yoshihiro Takahashi2009-03-201-10/+21
| | | | Notes: svn path=/head/; revision=190126
* Reduce diffs against i386.Yoshihiro Takahashi2009-03-191-2/+3
| | | | Notes: svn path=/head/; revision=190046
* Use the common PC98_MID_* defines instead of a magic number.Yoshihiro Takahashi2009-03-191-4/+4
| | | | Notes: svn path=/head/; revision=190029
* MFi386: revision 1.43Yoshihiro Takahashi2008-02-291-0/+7
| | | | | | | Do not attempt to make an NFS rpc call if using tftp Notes: svn path=/head/; revision=176656
* MFi386: revision 1.55.Yoshihiro Takahashi2008-02-291-4/+27
| | | | | | | Tweak the verbose disk printing a bit. Notes: svn path=/head/; revision=176654
* MFi386: part of 1.52Yoshihiro Takahashi2007-10-251-32/+33
| | | | | | | | Split the pc98_partition specific routine in bd_opendisk() into bd_open_pc98(). Notes: svn path=/head/; revision=172968
* MFi386: part of revision 1.51Yoshihiro Takahashi2007-10-251-161/+83
| | | | | | | | | | | | Rework the read/write support in the bios disk driver some to cut down on duplicated code. - All of the bounce buffer and retry logic duplicated in bd_read() and bd_write() are merged into a single bd_io() routine that takes an extra direction argument. bd_read() and bd_write() are now simple wrappers around bd_io(). Notes: svn path=/head/; revision=172965
* MFi386: revision 1.50Yoshihiro Takahashi2007-10-241-39/+30
| | | | | | | Reindent the read/write code of bd_realstrategy() so it is more readable. Notes: svn path=/head/; revision=172925
* Slightly cleanup the 'bootdev' concept on x86 by changing the variousJohn Baldwin2007-10-242-6/+3
| | | | | | | | | | | macros to treat the 'slice' field as a real part of the bootdev instead of as hack that spans two other fields (adaptor (sic) and controller) that are not used in any modern FreeBSD boot code. MFC after: 1 week Notes: svn path=/head/; revision=172921
* Add a stub of bios_addsmapdata(). PC98 does not have BIOS SMAP.Yoshihiro Takahashi2006-11-091-0/+38
| | | | Notes: svn path=/head/; revision=164115
* Extend struct devdesc with a unit field, called d_unit. Promote theMarcel Moolenaar2006-11-022-11/+11
| | | | | | | | | | | | device (kind) specific unit field to the common field. This change allows a future version of libefi to work without requiring anything more than what is defined in struct devdesc and as such makes it possible to compile said version of libefi for different platforms without requiring that those platforms have identical derivatives of struct devdesc. Notes: svn path=/head/; revision=163897
* Add a bootable CD support.Yoshihiro Takahashi2006-05-141-0/+344
| | | | Notes: svn path=/head/; revision=158559
* Drop the gateA20() function in the loader as it is unused. All the otherJohn Baldwin2006-04-112-43/+1
| | | | | | | | boot loaders that load the loader already handle A20. In fact, they are required to do so in order to setup the environment that btxldr expects. Notes: svn path=/head/; revision=157668
* MFi386: revision 1.8.Yoshihiro Takahashi2005-12-211-2/+2
| | | | Notes: svn path=/head/; revision=153599
* MFi386: revision 1.46.Yoshihiro Takahashi2005-12-211-15/+10
| | | | Notes: svn path=/head/; revision=153598
* Unbreak pc98 after my last changes to i386.Maxim Sobolev2005-12-201-0/+3
| | | | Notes: svn path=/head/; revision=153551
* MFi386: revision 1.11.Yoshihiro Takahashi2005-09-131-9/+108
| | | | Notes: svn path=/head/; revision=150073
* Remove ifdef PC98.Yoshihiro Takahashi2005-05-087-797/+9
| | | | Notes: svn path=/head/; revision=146011