Commit Graph

185915 Commits

Author SHA1 Message Date
dyoung
e3f50d6767 KNF: whitespace. 2009-12-01 01:03:54 +00:00
dyoung
7e597f6140 Cosmetic: fix indentation, change some spaces to tabs. 2009-12-01 01:01:34 +00:00
roy
3490b83a1f Protect getdelim when used internally. 2009-12-01 00:52:13 +00:00
martin
4bcbcf2131 Remove restriction that cpu0 has to attach first.
Make sure cpu0 attaches to the bootstrap cpu only (equivalent of previous
change but not restricted to UP kernels).
2009-12-01 00:06:31 +00:00
roy
755657be4b Remove __getdelim and just use getdelim.
fgetstr now works with strings up to SSIZE_MAX as a result, but may
reallocate buffers needlessly just like it used to when the buffer size
exceeds INT_MAX.
fgetstr converts errno EOVERFLOW to EINVAL on getdelim error.
2009-12-01 00:03:53 +00:00
roy
ec4d484515 Note that callers should use feof(3) or ferror(3) to distinguish between
EOF or an error.
2009-11-30 23:23:29 +00:00
roy
4cf0472d7d Note that EOF returns -1 when no characters are read.
Add code example.
2009-11-30 22:51:46 +00:00
dsl
1555a88fff Move relocation address to lower memory (0x1000) further away from the
BIOS 40:0 segment than previously but giving more room for heap that 0x8800.
2009-11-30 21:40:35 +00:00
dsl
e7bcc5c7fd Update 'oemname' to NetBSD60. 2009-11-30 21:37:16 +00:00
pooka
56a6edc13a Use getprogname() instead of hardcoding "mount_nfs" to get the
right info in rump_nfs.
2009-11-30 17:17:55 +00:00
skrll
7e531c1c6e KNF 2009-11-30 16:58:40 +00:00
tsutsui
5c63a432af Mention udl(4) USB display device support. 2009-11-30 16:22:33 +00:00
tsutsui
bd2a7b1b60 Add udl(4) and wsdisplay(4) as its child. 2009-11-30 16:19:55 +00:00
tsutsui
47f87355eb Add a driver for DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors.
Ported by FUKAUMI Naoki from OpenBSD with many modification.
No particular comments (except from me) on tech-kern@.

There are still many TODO even in MI wscons(4) API to handle this device:

 * No detach function for wsdisplay(9).
   Unpluging a device causes a panic. (should be trivial?)

 * ioctl() for X server support is currently commented out. ("notyet")
   OpenBSD allows device depedent ioctl()s and they introduced
   UDLIO_DAMAGE ioctl for the damage extension ops of X servers for udl(4).
   Before blindly pulling such ioctl(), probably we should discuss
   how such specific operations should be handled in MI wscons(4) API.

 * Screen text of wsemul tty could be mangled during large scroll ops.
   All tty output operations are invoked via ttstart() with the giant
   tty_lock mutex held, so we can't call cv_wait(9) to wait resources
   for data xfers via usbdi(9).h, then text output is silently discarded
   on resource shortage. To handle this without tty_lock reorganization,
   we have to change wsdisplay(9) APIs (especially wsdisplaystart()) to
   return a number of actually handled characters as OpenBSD does, but
   it may require whole API changes around child rasops(9) etc.

 * No MI API definition to convert mmap(9) cookie to physical address.
   The conversion is required to create a cookie which will be passed to
   pmap_phys_address(9) in uvm/uvm_device.c:udv_fault(). Most other
   drivers use bus_dmamem_mmap(9) or bus_space_mmap(9), but udl(4) uses
   kmem_alloc(9)'ed memory for bitmap data.
   Furthermore, pmap(9) man page says about pmap_phys_address(9):

     "This function is provided to accommodate systems which have
      physical address spaces larger than can be directly addressed
      by the platform's paddr_t type. The existence of this function is
      highly dubious, and it is expected that this function will be
      removed from the pmap API in a future release of NetBSD."

   As the man page says we have already had split paddr_t and vaddr_t,
   so it's time to remove such old ugly cookie and change all mmap(4)
   functions (mostly in MD bus_dma(9) and bus_space(9) APIs) to return
   simple physical address in paddr_t?

 * We need proper device names for wsdisplay1 (and more devices).
   Currently wsdisplay0 uses ttyE0 through ttyE253 (minor 0 to 253)
   for screens, ttyEstat (254) for status, and ttyEcfg (255) for config.
   The next wsdisplay1 will use 256 through 509 for screens, 510 for stat,
   and 511 for config but what names should we use for them? ttyFxxx?

 * How to handle multiple sets of wskbd/wsdisplay on a single machine.
   rc.d/wscons doesn't provide method to specify wscons control devices.
   There is no proper interface to specify which keyboard should be connected
   to which wsdisplay, etc.

 * And maybe more...
2009-11-30 16:18:34 +00:00
uebayasi
ce65c065ae Note "extsrc" support. 2009-11-30 16:16:53 +00:00
uebayasi
d166c4bf28 Support "extsrc", externally added programs and libraries. Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org.  (These sets are not included as TNF releases.)
2009-11-30 16:13:22 +00:00
he
4e1270dfab Cast a vaddr_t to void* before passing to memset, so that this builds again. 2009-11-30 16:09:14 +00:00
pooka
debaf78619 explicitly initialize static boolean 2009-11-30 15:37:56 +00:00
uebayasi
3a3e699038 Handle cases where database text files don't exist. 2009-11-30 14:34:17 +00:00
uebayasi
3650871eaa Correct CLEANFILES in the new style case. 2009-11-30 13:24:32 +00:00
uebayasi
ceb0a5e740 Enable the new style build if the new style generated makefiles exist. 2009-11-30 13:07:38 +00:00
pooka
d772942437 test for error in creating root vnode before using it 2009-11-30 12:32:13 +00:00
uebayasi
0f821b2360 Minor clean up. No functional changes. 2009-11-30 12:07:28 +00:00
uebayasi
ce87c08dd6 Minor clean-up for the coming changes. 2009-11-30 11:55:12 +00:00
uebayasi
f6ebb00c83 Wrapper generation rule for the new style libgcc reach-over. 2009-11-30 11:47:06 +00:00
pooka
051b421f3f Create CTL_HW before creating nodes on top of it (sysctl constructors
run in "random" order).
2009-11-30 11:28:35 +00:00
pooka
0c5879110f Use genfs_statvfs() for now. 2009-11-30 11:18:22 +00:00
pooka
ea0564ea28 fix comment 2009-11-30 11:14:58 +00:00
pooka
1643f3a7a1 Introduce genfs_statvfs() as pretty much a no-info statvfs and
convert several pseudo file systems to use it.
2009-11-30 10:59:19 +00:00
uebayasi
7099d05cc4 Snapshot of generated files. Makfile glue will come soon. 2009-11-30 10:26:36 +00:00
pooka
307d8134c0 support lookup of pathname component "." 2009-11-30 10:11:09 +00:00
uebayasi
d77ecd459a Call "template sources" as "tmplsrcs", not "tmpsrcs". Requested by mrg@. 2009-11-30 10:03:57 +00:00
uebayasi
970b30eb96 Prefix per-library *.mk files with libs.*. 2009-11-30 09:57:59 +00:00
uebayasi
d3180e0c9b Now that we know what sources are needed to build a given library, we need
the rules how to build those sources.  Generate makefiles defining ${COPTS},
${CPPFLAGS}, and ${SRCS} (== template).

Note that ${CPPFLAGS} is actually dfined as _CPPFLAGS like
	_CPPFLAGS.tmp___gcc_bcmp.c=-DL__gcc_bcmp
and used to generate wrapper files (e.g. tmp___gcc_bcmp.c).  Otherwise it's
automagically passed to ${CC} by bsd.*.mk.
2009-11-30 09:50:59 +00:00
nakayama
b0c0987db9 sparc64_ipi_flush_ctx and sparc64_ipi_flush_all have been removed,
so remove its event counters as well.
2009-11-30 09:34:39 +00:00
sborrill
57a76ebb19 Add support for Intel 3400 SATA 2009-11-30 09:33:48 +00:00
uebayasi
2c455e268f For each library, generate a makefile of the list of template sources too. 2009-11-30 09:33:36 +00:00
uebayasi
c91d9ec35a For each library, generate a list of sources (*.[cS]).
We create wrapper sources (tmp_*.[cS]) on-the-fly and compile them.  For
example, __gcc_bcmp() is compiled using tmp___gcc_bcmp.c, which #define's
L__gcc_bcmp and #include's libgcc2.c.
2009-11-30 09:32:13 +00:00
sborrill
c3a158ad84 Regen 2009-11-30 09:32:11 +00:00
sborrill
599b5d0177 Add Intel 3400 devices 2009-11-30 09:31:11 +00:00
uebayasi
15930f9770 Initial check-in of the new libgcc mknative analyzed files for mips64eb. 2009-11-30 08:25:47 +00:00
uebayasi
263a9a2c47 Move these analyzing functions into one place, get_libgcc_new_analyze(). 2009-11-30 08:20:23 +00:00
uebayasi
b98c239900 Typo. 2009-11-30 08:05:41 +00:00
uebayasi
1380d82f90 Generate lists of template sources ("tmpsrcs") for each libraries. We'll
need these to create wrappers of tmpsrcs and define correct dependencies.
2009-11-30 08:00:20 +00:00
uebayasi
141ef6c4d0 Generate *.o -> template *.[cS] ("tmpsrc") mapping.
Functions are built from a template (tmpsrc).  We create wrapper sources
(src) and define necessary defines and #include tmpsrc.
2009-11-30 07:19:58 +00:00
uebayasi
96a4ab5aed - Generate a list of CPP flags used to build *.o. Some files are build
repeatedly with different -DXXX to generate similar objects (e.g. different
  type size).

- Generate a list of other CC options to build *.o.

(See my sed-fu using hold space in get_libgcc_list_objs_xflags().)
2009-11-30 07:08:03 +00:00
he
c7e9631e11 Add a file to handle m68000 differently from m68k; m68000 doesn't
build fdformat.
2009-11-30 07:02:24 +00:00
uebayasi
7e684b1d37 - Generate a list of *.o -> lib*.{a,so} mapping. This is also known by
parsing dependency lines in libgcc.mk.

- Generate a list of *.o -> *.{c,S} mapping.  *.S files are known as
  ${LIB1ASMFUNCS}.  Assume other *.o files are built from *.c.  This information
  is needed to generated wrapper sources later.
2009-11-30 06:56:15 +00:00
uebayasi
12ee13e800 Generate lists of functions built in libgcc libraries. This is known by
pattern matching dependency lines in libgcc.mk.
2009-11-30 06:40:17 +00:00
uebayasi
00c7a5b61c Generate a list of functions provided as *.S. 2009-11-30 06:29:58 +00:00