Commit Graph

1783 Commits

Author SHA1 Message Date
nonaka
e7c0cc5d9a Add NVMe command passthrough support. 2016-06-04 16:11:50 +00:00
bouyer
bdf10c852a The UART in the allwiner SoCs is not full-compatible with the 16550, and
it's not a 16750 either. Like the 16750 it has the IIR_BUSY interrupt,
which is triggered when writing to LCR while the chip
can't accept it. But unlike the 16750, it has a specific register,
HALT, to allow writing to the LCR and divisor registers, and then
commit the changes.
Tested on an A20 SoC, changing the baud rate while keeping the
tty device open and incoming data.
2016-05-27 20:01:49 +00:00
skrll
c0bc9f43b6 Clarify the intention here after discussing it with soda@ 2016-05-13 07:41:47 +00:00
soda
5407bb6145 - change major number limit for MI devices from 255 to 511,
because twe is already using 332
- clarify that new MI devices should go to this file
  instead of majors.{ws,usb,std,tty,storage}
- fix major number conflict about hdmicec vs tty

OKed by matt@
the expression "previously not MI" is suggested by matt@ too.
2016-05-13 02:00:36 +00:00
skrll
eb30461f6b Update with info about tty/storage reservations 2016-05-11 06:42:06 +00:00
nonaka
8b5163f01f Added nvme(4) for Non-Volatile Memory Host Controller Interface devices.
Ported from OpenBSD.
2016-05-01 10:21:01 +00:00
christos
021cd4d7f5 Add rt2860 now that it compiles. 2016-04-27 19:46:11 +00:00
skrll
9b8e5df7bf First pass at adapting SLHCI_DEBUG to USBHIST 2016-04-26 10:38:42 +00:00
skrll
ee8228cf5e Merge nick-nhusb (missed commit) 2016-04-23 12:50:35 +00:00
christos
66e4a9ed95 Add PAX_MPROTECT_DEBUG 2016-04-12 11:51:08 +00:00
riastradh
617d199e69 Use && to fail early if subcommands of kernel link fail.
(Remind me why we string together shell commands instead of just
using make targets?)
2016-04-09 18:51:44 +00:00
skrll
62976e3600 Move linux_work.c and workqueue.h from sys/external/bsd/drm2 to
sys/external/common so that they can be used by others.

LGTM from riastradh@

These should really live outside sys/external, but that can be decided
later
2016-02-24 22:04:15 +00:00
mrg
c662775e21 WELCOME 2016! 2015-12-31 15:23:07 +00:00
maxv
a1153902a9 Rename verified_exec.c -> veriexec.c.
The old log is now in Attic/.
2015-12-09 18:25:32 +00:00
jmcneill
bd0f8235ce Add basic clock device infrastructure. 2015-12-05 13:31:07 +00:00
christos
e77b077223 use commands() instead of target() because assym.mk creates all the targets
unconditionally.
2015-11-27 20:59:47 +00:00
christos
8089a0f85d PR/50483: David A. Holland: fix building of assym.d:
1. use += to add to DEPS
	2. move inclusion of rules mk. files before the rules are defined
	   so that variables are set.

Now we get on amd64:

	mkdep: ignoring acpi_wakeup_low.d: No such file or directory
	mkdep: ignoring amd64func.d: No such file or directory
	mkdep: ignoring busfunc.d: No such file or directory
	mkdep: ignoring copy.d: No such file or directory
	mkdep: ignoring cpu_in_cksum.d: No such file or directory
	mkdep: ignoring cpufunc.d: No such file or directory

because there are no rules to generate those, but it is harmless.
2015-11-27 20:33:55 +00:00
pgoyette
78da7b9d09 Always include the "vfs" attribute (module). Although all of the
ufs/xxx file systems depend on the vfs attribute, it is not required
that any file system actually be built-in to the kernel.  (At least
on some architectures, file system modules can be loaded at boot
time.)
2015-11-14 07:31:13 +00:00
pgoyette
7c02a5abd6 Whether or not the semaphore code is loaded as a module or built-in, its
sysctl data belongs with the module code.  Move it from kern/init_sysctl.c
to kern/uipc_sem.c

While here, add a new sysctl variable kern.posix.semcnt (current count of
semaphores) to complement the existing kern.posix.semmax (maximum number
of semaphores).
2015-11-09 01:21:18 +00:00
christos
8c1b3fd3c9 Expose struct kauth_cred for the benefit of the debugger. I can't convince gcc
to produce debug info for the structure if it does not appear in more than
one source file.
2015-10-06 22:13:39 +00:00
uebayasi
229ff8e5ba Clean up splash image build. Print messages when creating files. 2015-09-15 02:22:43 +00:00
uebayasi
edc287c6eb Fix build of SPLASHSCREEN without SPLASHSCREEN_IMAGE. Since there is no way
to change ALLFILES by makeoptions, build an empty splash_image.o.
2015-09-15 00:16:42 +00:00
uebayasi
960ec2b2e8 Handle splash image generation better. 2015-09-14 01:40:03 +00:00
nat
22a1d44f65 Fix splashscreen_image option to include splash_image.o
OK from christos@
2015-09-11 15:56:56 +00:00
uebayasi
133a84bb3c Indent. 2015-09-11 01:40:52 +00:00
uebayasi
a8bf1974db Fix dependency of *.d -> assym.h in `-S' mode. 2015-09-10 13:11:39 +00:00
uebayasi
1214c2c69c Simplify the dependency line further. 2015-09-10 09:30:01 +00:00
uebayasi
192b39cc22 Improve previous. 2015-09-09 03:27:15 +00:00
uebayasi
7c7453a6f8 Restore *.[sS] -> assym.h dependency in `-S' mode. 2015-09-09 03:16:14 +00:00
uebayasi
b04184e8d4 Preserve the order of files in ${ALLFILES} -> ${OBJS} conversion. 2015-09-07 15:55:06 +00:00
uebayasi
c009404037 More build ordering. 2015-09-06 15:20:59 +00:00
uebayasi
9e0fc0ebb7 Don't pass ``-DCOPY_SYMTAB'' to ${CC}; it's replaced with opt_copy_symtab.h. 2015-09-06 14:35:01 +00:00
uebayasi
2d76cceae9 Move ldscript related code out of Makefile.kern.inc. 2015-09-06 06:41:14 +00:00
uebayasi
ed2bed87de Clean up. Move assym.h/vers.c related code out of Makefile.kern.inc. 2015-09-06 06:13:16 +00:00
uebayasi
347749a8bd Clean up. Move SSP-specific adjustment out of Makefile.kern.inc. 2015-09-06 04:42:06 +00:00
uebayasi
472997e0ab Allow MD to link libraries. Build rules are written in MD makefiles until
config(1) will support library properly.
2015-09-06 02:05:11 +00:00
uebayasi
ce4642ec41 Make config(1) output only ${ALLFILES}, selected input files, and pass it to
Makefile.kern.inc, where files are filtered by suffix.
2015-09-04 06:10:47 +00:00
uebayasi
bc619545b7 Add generated *.c files (devsw.c and ioconf.c) to ${CFILES} by config(1)
internally.  ${MI_CFILES} in Makefile.kern.inc is no longer needed.
2015-09-03 14:23:52 +00:00
uebayasi
361a961386 Prepare for relative ${MD_OBJS}. 2015-09-03 12:31:16 +00:00
uebayasi
eaa72931c4 Move `all' target definition to Makefile.kern.inc. 2015-09-03 09:28:00 +00:00
uebayasi
caf44640e0 Kernel depends on swap<kernel>.o too. 2015-09-03 06:24:15 +00:00
uebayasi
fc3a975cb5 Sort dependendy to keep alphabetical build order. 2015-09-03 06:10:53 +00:00
uebayasi
d891b756ba Define kernel dependency in Makefile.kern.inc. 2015-09-03 06:09:46 +00:00
uebayasi
d01cbd6db6 Rename ${COMPILE.c} to ${KCOMPILE.c} to avoid potential conflicts with those
in sys.mk.  Define .go/.po suffix rules.
2015-09-03 04:17:55 +00:00
uebayasi
10a39df2f6 Refactor. 2015-09-03 03:47:25 +00:00
uebayasi
1d638ab7bf Simplify. Wrap long lines. 2015-09-03 01:40:06 +00:00
uebayasi
1587c3fa3a Stop ordering objects alphabetically now that I am sure I can fix fallouts. 2015-09-03 01:30:18 +00:00
uebayasi
185d99e39a Build conf/param.c normally. 2015-09-03 01:09:38 +00:00
uebayasi
4c17ec775b Fix link of kernels whose name don't start with "netbsd*". 2015-09-02 23:03:41 +00:00
uebayasi
350968d06a Build param.c under conf/ using suffix rules in `-S' mode. 2015-09-02 15:35:52 +00:00
uebayasi
4af08e031f Clean up `swap<kernel>.o' handling. 2015-09-02 15:29:23 +00:00
uebayasi
7a8426662a Define ${OBJS} in `Makefile.kern.inc'. Relative paths are not truncated
(a/b/c/x.c -> x.c) in `-S' mode.  Don't provide some explicit rules for `-S'
mode for safety.
2015-09-02 14:17:03 +00:00
uebayasi
558aab1be0 Output relative path for ${CFILES} and ${SFILES} in generated `Makefile'.
`Makefile.kern.inc' knows how to deal with $S prefix, so don't bother it in
config(1).
2015-09-02 13:42:14 +00:00
uebayasi
054cd04942 Add swap<kernel>.o to common ${SYSTEM_LD} as it is always linked. 2015-09-02 12:38:48 +00:00
uebayasi
d9bb176d5f Clean up some rules and make them less error prone. 2015-09-02 03:22:41 +00:00
uebayasi
1b2a74aeec Define suffix rules at the end to override system definitions. Provide them
only if ___USE_SUFFIX_RULES___ is defined (config -S).
2015-09-01 23:04:35 +00:00
uebayasi
e16ec3ea57 Experimental suffix-rules build (disabled by default). 2015-09-01 16:04:04 +00:00
uebayasi
1effbb59ae Fix "Define compile rules in sys/conf/Makefile.kern.inc ...".
Use `.if !commands(xxx)' to check if `xxx' has a defined, overriden rule,
instead of `.if !targets(xxx)'.  The latter evaluates as true even when `xxx'
has an empty rule to define a dependency.
2015-08-30 21:16:10 +00:00
uebayasi
ce0411ffa7 A makeoptions `DEFWARNINGS', forcibly disabling all ${CC} warnings, is only
used by hpcmips's NULLCONF, which doesn't even build for other causes.

If some source doen't build and needs a workaround, that should be deal with
by modifying per-file ${CC} options (e.g. COPTS.foo.c+=-fno-xxx).  Let's not
use DEFWARNINGS any longer.
2015-08-30 14:06:17 +00:00
uebayasi
b86d2cc9aa Generate opt_diagnostic.h for DIAGNOSTIC; define unused _DIAGNOSTIC until
thoroughly populated.
2015-08-30 07:52:30 +00:00
uebayasi
f5d8ce0f6b Typo. 2015-08-30 07:35:11 +00:00
uebayasi
8e50ed8849 Move splash logic, keep Makefile.kern.inc clean. 2015-08-30 07:33:53 +00:00
uebayasi
5e3f7c3b6d Put back MEMORY_DISK_IMAGE logic, but use generated opt_memory_root_image.h
and don't polute Makefile.kern.inc.
2015-08-30 05:24:03 +00:00
uebayasi
623bd6b2aa Define compile rules in sys/conf/Makefile.kern.inc except those overriden by
"file ... compile-with ...".  As rules are still explicit, be careful to not
override by checking .if !target(xxx.o).
2015-08-30 05:12:00 +00:00
uebayasi
c692eec272 Use makeoptions_COPY_SYMTAB via opt_copy_symtab.h in sources. Remove a hack
to set -DCOPY_SYMTAB from sys/conf/Makefile.kern.inc.  Remove unnecessary
dependencies too.
2015-08-30 01:46:02 +00:00
uebayasi
3f77c79895 Move less important part out of Makefile.kern.inc. 2015-08-29 16:27:07 +00:00
uebayasi
46effbfc86 Revert a mistakenly added file. 2015-08-29 16:10:01 +00:00
uebayasi
ac62c32d4d Define two suffix rules, .c -> .o and .S -> .o, using ${NORMAL_C} and
${NORMAL_S} respectively.  Use the .c rule to build devsw.c, ioconf.c, and
param.c.  Other .c/.S files have explicit rules in the generated `Makefile',
and unaffected.
2015-08-29 16:07:07 +00:00
uebayasi
43d2d6ab0b Now that MAXUSERS is in opt_param.h, param.o doesn't depend on Makefile. 2015-08-29 15:58:38 +00:00
uebayasi
eee4f24ac6 According to nxr.netbsd.org, nothing uses MEMORY_DISK_IMAGE. Retire it.
Premature design and its build rule bloats Makefile.kern.inc.  There are
other ways like MEMORY_DISK_DYNAMIC.

(When kernel will be built as relocatable, embedding binary data will be much
easier, and md(4), splash(4), and ksyms(4) will all benefit.)
2015-08-29 15:51:53 +00:00
uebayasi
c0c2ceb91f genassym.cf and machdep.c are _KERNEL_OPT'ed, don't depend on Makefile. 2015-08-29 15:37:18 +00:00
uebayasi
d9fd5c1975 conf.c doesn't exist.
autoconf.c exists, but it's just a C file, no need to depend on Makefile.
2015-08-29 15:06:35 +00:00
uebayasi
aaedd29630 I don't see how uipc_proto.c can change its content by Makefile, don't depend
on Makefile.  vfs_conf.c doesn't even exist, remove it too.
2015-08-29 14:43:38 +00:00
uebayasi
75298111a7 Convert MAXUSERS, take 2.
Define MAXUSERS in opt_param.h and include it from sys/param.h, for more
accurate dependency.  Don't define -DMAXUSERS and add it to ${CPPFLAGS}.
config(5)'s "maxusers" syntax doesn't change.

(The version just before revert was OK, but I had something bad in my obj
dirs.)
2015-08-29 14:07:45 +00:00
uebayasi
9d7c5e580c Revert MAXUSERS changes. Need fresh air. 2015-08-29 07:33:18 +00:00
uebayasi
4401376950 Define MAXUXERS in opt_param.h. Bump config(1) version. 2015-08-29 07:08:38 +00:00
uebayasi
aeabb302e9 Comment. 2015-08-29 05:03:36 +00:00
uebayasi
5c3e77010e Define some suffix rules. Not used and harmless, because all rules are
explicit now.
2015-08-29 05:02:43 +00:00
uebayasi
ba2a0d3e7c Specify explicit output (-o) to ${LINT} too. 2015-08-29 04:46:27 +00:00
uebayasi
c74142254f Specifiy explicit output (-o) to ${CC}. 2015-08-29 04:43:05 +00:00
uebayasi
0d89ac2159 netbsd depends on $S/kern/kern_ksyms_buf.c; rarely updated but better safe. 2015-08-27 06:28:09 +00:00
uebayasi
d6cc60697d Tweak previous. 2015-08-27 03:20:13 +00:00
uebayasi
33dfd38556 Echo exact objects (swap*.o etc.) when linking kernel. 2015-08-27 03:17:46 +00:00
uebayasi
54882650b0 Have MI genassym.cf. 2015-08-26 03:00:52 +00:00
uebayasi
282cd20ff5 Don't allow MD to override the assym.h generation rule.
(Nothing defines it except i386/bioscall/Makefile, but it is not part of
kernel build.)
2015-08-26 02:54:09 +00:00
uebayasi
13f4d6e07e Make <kernel>.ldscript ready to include assym.h. 2015-08-25 08:01:18 +00:00
uebayasi
ffe64fad53 Redo Rev. 1.188:
o Explicitly add dependency of `<kernel>' on `<kernel>.ldscript', instead of
  relying on ${SYSTEM_DEP}, which is evaluated much earlier than
  `sys/conf/Makefile.kern.inc' is included, to avoid evaluation ordering
  problems.
o Print a message when creating a `<kernel>.ldscript'.
o Trim empty lines in `<kernel>.ldscript'.
2015-08-25 02:57:32 +00:00
pooka
d8e04c9094 to garnish, dust with _KERNEL_OPT 2015-08-24 22:50:32 +00:00
christos
ef44aed886 Fix the build: provide compatibility with ports that define KERNLDSCRIPT to
a file?
2015-08-24 18:02:55 +00:00
uebayasi
40e3059a86 If a kernel linker script is provided, preprocess it by cpp(1).
Thus some constants (PAGE_SIZE, COHERENCY_UNIT, ...) can be replaced in linker
scripts without setting unnecessary temporary symbols, or doing ugly sed(1)
hacks.  No headers are included yet.
2015-08-24 15:50:47 +00:00
uebayasi
f0a73a3138 Fix vers.o dependency:
o Depend on ${SYSTEM_OBJ} instead of ${SYSTEM_DEP}.  The latter is obviously
  meant for kernels.
o Depend on Makefile instead of ${SYSTEM_SWAP_DEP}, which has existed since
  Rev. 1.1, but seems not used now.  Makefile is a file that must be updated
  after every config(1) run.  This is simpler than dependency on swap<kernel>.c.
2015-08-24 15:44:01 +00:00
uebayasi
db0ac56ebf Define ${LINKSCRIPT} in one place. 2015-08-24 14:04:24 +00:00
uebayasi
3117ff9dff Define CHILD_MAX/OPEN_MAX as parameters. 2015-08-21 07:19:39 +00:00
uebayasi
520a795665 Move dev/ definitions out of files.kern. 2015-08-21 02:18:18 +00:00
christos
5a80a6eeb2 bump config version 2015-08-20 09:44:53 +00:00
uebayasi
6ca37d6c33 If MD ldscript is generated, give it dependency on ${SYSTEM_OBJ}. 2015-08-19 05:46:11 +00:00
uebayasi
6019316b24 G/C defpseudo intrctl. 2015-08-18 09:43:38 +00:00
uebayasi
b318ac3975 G/C defpseudo fwiso. 2015-08-18 09:39:20 +00:00
knakahara
a604df282c Add kernel code to support intrctl(8). 2015-08-17 06:16:02 +00:00
jmcneill
72fc9317eb Add an API for HDMI CEC devices. HDMI Consumer Electronics Control (CEC) is
a protocol that provides high-level control functions between CEC-capable
connected devices.
2015-08-01 21:19:24 +00:00