Commit Graph

185892 Commits

Author SHA1 Message Date
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
uebayasi b0edbfb088 Define paths of newly generated files. 2009-11-30 06:13:37 +00:00
uebayasi ffa99e7e3a Start implementing the new style libgcc "mknative" converter which generates
BSD makefiles to build libgcc.  The goal is to build all functions rather
than managing the set of functions in gnu/lib/libgcc/Makefile.in by hand.

Because of the complexity of the build procedure, I leave not only generated
makefiles but also intermediate, analyzed data so that people can verify that
the conversion is done correctly.
2009-11-30 05:50:07 +00:00
nakayama f34ea74dc9 sp_tlb_flush_pte for cheetah:
- restore interrupts properly in case of %tl > 0.
2009-11-30 05:22:55 +00:00
mrg 7f874d886b convert pci_intr_map() into a chipset tag function pointer, and implement
the schizo version slightly differently.

pull out the schizo's IGN from the upaid, not the apparently broken device
ID register.  from openbsd.

with this i appear to have valid working interrupts on the SB2500.

tested on U60 and SB2500.


XXX: we can probably kill (*spc_find_ino)() now that pci_intr_map() itself
XXX: is no longer a first class function.
2009-11-30 05:00:58 +00:00
mrg 38758338a8 stablize UP USIII support by blocking interrupts around sp_tlb_flush_pte()
i was seeing stack corruption while taking an interrupt in this function.

get USIII SMP mostly working by implementing the cheetah version of
sparc64_ipi_flush_pte().


SMP support is still not entirely stable.  i can reproducably get a:

	panic: fpusave_lwp ipi didn't

while running build.sh, when an awk process is exiting.  other simple
heavy work loads do not crash for me right now.
2009-11-30 01:58:49 +00:00
mrg 6cbc3ad468 delete some no longer used code:
- smp_tlb_flush_ctx()
- smp_tlb_flush_all()
- sparc64_ipi_flush_ctx()
- sparc64_ipi_flush_all()
- sp_tlb_flush_ctx()
2009-11-30 01:45:04 +00:00
pooka 43b36d0f59 Don't build rump kernel with -mno-abicalls, because it's effectively
"no pic".
(should be used only for shared lib rump kernel, but this is just
bandaid for now)
2009-11-29 23:46:41 +00:00
cegger 63ec7a18dd Introduce acpi_eval_set_integer().
Use it in various acpi drivers to simplify code.
Patch presented on tech-kern@:
http://mail-index.netbsd.org/tech-kern/2009/11/28/msg006552.html

No comments.

XXX Is there an acpi(9) manpage?
2009-11-29 21:32:50 +00:00
abs 442fa3d8f5 remove edlabel reference from a commented out line 2009-11-29 20:56:01 +00:00
martin 9b2736b301 On non-multiprocessor kernels, when running on SMP machines, make sure to
attach cpu0 (the one and only cpu* ever) to the firmware node describing
the cpu we are currently running on.
Otherwise we will have a mismatch on the UPA-ID in the cpuinfo and
eventually allocate a second cpuinfo overriding all the initializations
done early for the boot cpu.
2009-11-29 19:38:45 +00:00
uebayasi c197134fb4 Remove a debug printf(). 2009-11-29 18:08:22 +00:00
rmind bc342a4b10 Make lwp_getpcb() C89-happy by using __inline. 2009-11-29 16:23:49 +00:00
uebayasi 1dfaf75755 Remove an unneeded test (.if defined(V)) in .for v in ${V} ... .endfor.
Tested by running build.sh distribution.
2009-11-29 16:00:00 +00:00
pooka 0fb0ab1101 Fix kernel build on platforms which define __BROKEN_CONFIG_UNIT_USAGE
and therefore don't take config_alldevs_lock() in config_devalloc().
2009-11-29 15:17:30 +00:00
pooka bd6b01eb46 Initialize before set. 2009-11-29 15:13:22 +00:00
pooka bae7babb36 fix build. (hi rmind) 2009-11-29 15:06:40 +00:00
skrll ab92e61f58 Add a cast so that this actually compiles. oops. 2009-11-29 13:51:33 +00:00
plunky 7f5b5a7b01 fix a potential leak on tap device close, purging the send queue
did not actually release the dequeued mbufs.

pointed out by Paul Forgey on tech-net
2009-11-29 10:44:23 +00:00
skrll ae1172385c Use fdcache instead of inline assembler. 2009-11-29 10:33:56 +00:00
skrll f194e4ddc0 Signal EOI correctly rather than deferencing NULL. 2009-11-29 10:30:07 +00:00
kiyohara 7e526c7d4b Fix "+ 0x100" instead of "| 0x100" in the case ID 0x11[5678]A. 2009-11-29 10:17:01 +00:00
skrll 3fd8ce65d9 Use lci. 2009-11-29 10:15:07 +00:00
skrll 3e3c89b2ca Add lci to get coherence index for an address. 2009-11-29 10:09:54 +00:00