Commit Graph

38293 Commits

Author SHA1 Message Date
simonb
45cc2456c0 Add promiscuous and multicast support.
From KIYOHARA Takashi in PR port-powerpc/23892.
2004-03-24 07:45:23 +00:00
dbj
647ebaa109 move my copyright statement up to new berkeley license 2004-03-24 02:20:09 +00:00
minoura
240b66c0fa Fix my bogus copyright notice. Pointed out by wiz. 2004-03-23 23:36:15 +00:00
drochner
ab2eb6de06 put the old and the very old syscall glue into appropriate
COMPAT_ conditionals
2004-03-23 19:39:42 +00:00
drochner
35b8d1d3ff initialize the old "int 0x80" syscall only for COMPAT_16/NETBSD32,
and the very old callgate for COMPAT_10/IBCS2
2004-03-23 19:35:16 +00:00
drochner
be0359e629 -don't refer to oosyscall() unless COMPAT_10 or COMPAT_IBCS2 is defined
-improve diagnostic message on bus errors in the TRAP_SIGDEBUG case
2004-03-23 19:09:01 +00:00
drochner
ea5ee473a8 bump default data size to 256M, enough to build a "-g" kernel 2004-03-23 18:54:32 +00:00
matt
a7913cb227 In alpha_ucode_to_ksiginfo, don't adjust ucode since that's already been
done in the FP_C_TO_NETBSD_MASK macro.  Constify a read-only static array.
This should fix regress/lib/libc/ieeefp/except failures.
2004-03-23 18:44:00 +00:00
pk
24bb95542f Add openfirmware() entry point. 2004-03-23 15:36:08 +00:00
pk
bfbcd7cff5 prom_pa_location: re-arrange code a bit; use u_long cast to make this compile on 64 bit systems; to do: openfirmware version of this. 2004-03-23 15:29:56 +00:00
kochi
2b5897d796 Don't use ACPI CA internal functions 2004-03-23 14:07:42 +00:00
martin
2a62a8f3dd The function prom_pa_location casts magic spells that probably won't
work on 64 bit kernels (and at least do not compile). Since this function
is not used there, #ifndef _LP64 it for now.
2004-03-23 11:40:29 +00:00
uwe
8333a3f671 Comment out RTC_OFFSET as now kernel pays attention to timezone
information passed by hpcboot.exe.
2004-03-23 03:48:39 +00:00
uwe
279286c1ad Pass the symbol table to the new kernel. /dev/ksyms now works after reboot. 2004-03-23 03:39:11 +00:00
uwe
7565621829 Set rtc_offset from bootinfo passed by hpcboot.exe unless overridden
with option RTC_OFFSET.  From hpcmips.
2004-03-23 03:36:32 +00:00
martin
dfd6258259 Replace intrcnts by evcnts. XXX - needs slight tweaking for MULTIPROCESSOR. 2004-03-23 00:17:12 +00:00
uwe
c1591b3e77 We cannot rely on bootinfo to remain valid after the 2nd stage boot
code has copied the new kernel in place, so pass a copy of bootinfo
to the new kernel via "page tags".

Restructure the code to fill "page tags" to make it more generic and
more natural to use (especially in anticipation of ksyms support).
2004-03-22 23:10:55 +00:00
pk
b744961066 Leverage the PROM's ability to identify the on-board location of a
physical memory address.
2004-03-22 12:37:43 +00:00
nakayama
83f4b465c2 Truncate values to 32-bit, not 40-bit. 2004-03-22 12:28:02 +00:00
nakayama
3a065cad6a Eliminate cast 64-bit address to u_long. 2004-03-22 12:24:37 +00:00
nakayama
323fc574b9 Make 32-bit kernels compile with options DEBUG. 2004-03-22 12:21:58 +00:00
nakayama
8b6b7ba030 Make 32-bit kernels compile with options DIAGNOSTIC. 2004-03-22 12:20:52 +00:00
nakayama
d1fa565f18 Make it compile again. 2004-03-22 12:19:49 +00:00
lukem
455da8e60b Move mbr_bootsel from offset 404 to offset 400 in struct mbr_sector to
leave 4 bytes for the Windows NT Drive Serial Number (DSN) at 440-443
(as mbr_sector.mbr_dsn).

Ensure that all the MBR & PBR code reserves space for mbr_sector.mbr_dsn.

Leave the bootsel magic number at 444-445 as mbr_sector.mbr_bootsel_magic
(instead of mbr_sector.mbr_bootsel.mbrbs_magic), but use 0xb5e1 (MBR_BS_MAGIC)
instead of 0xaa55 (MBR_MAGIC) to indicate that this change has occurred.

Rework MBR_BS_NEWMBR to mean "mbr_bootsel has moved to 400".

Modify fdisk(8) to automatically relocate the mbr_bootsel from 404 to 400
if mbr_bootsel_magic is the old value (0xaa55), and unset MBR_BS_NEWMBR
to flag that new mbr_bootsel code must be used if updating the MBR.


These changes fixes a problem where Windows 2000 or Windows XP would corrupt
the last 3 bytes + NUL of MBR partition 3's bootsel name if the bootsel name
was 5 characters long, replacing bytes 6-9 with the DSN.
Also, by explicitly reserving the space for the DSN we prevent problems in the
future if non bootsel MBR or PBR code had other information at bytes 440-443.
2004-03-22 07:11:00 +00:00
matt
833b325a66 Change default data size to 256MB.
(A native NetBSD build will no longer with a limit of 128MB).
2004-03-22 05:25:22 +00:00
martin
6582666bc7 Realy disable optimization for 32bit kernels when compiling uvm_bio.c. 2004-03-22 00:43:37 +00:00
martin
fe91b9b277 Create a symlink for <sparc/...> include paths as well, the new openfirm.h
needs it.
2004-03-21 23:41:21 +00:00
kim
92703eeedb AMD CPUID 0x6a0 is an Athlon XP processor model 10, revision A2.
http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/27532.pdf
2004-03-21 17:59:44 +00:00
pk
4021f0eb39 Use prom_getpropstring(). 2004-03-21 16:29:42 +00:00
itohy
7519b9aacf Add notice on "relocation truncated to fit: R_68K_16" errors of ld.
Cleanup consistency check.
2004-03-21 16:25:56 +00:00
pk
e8397400f7 Some more promlib interface conversions. 2004-03-21 16:09:13 +00:00
junyoung
2ed9c2c7b7 ANSIfy. 2004-03-21 15:37:02 +00:00
pk
7446de9195 Add sparc64 cell_t definitions.
Change OF_interpret() prototype to the unabridged version.
2004-03-21 15:12:35 +00:00
pk
3b45f4cb4c OF_stdin() and OF_stdout() are obsolete. 2004-03-21 15:09:25 +00:00
pk
05a2b2300b Use the promlib I/O routines. 2004-03-21 15:08:24 +00:00
pk
b865f2441c stdin' and stdout' are obsolete. 2004-03-21 15:07:00 +00:00
pk
107e759b1c Two commas went missing in last commit. 2004-03-21 14:28:47 +00:00
pk
2a26804b1a Reach over to the sparc openfirm & openprom implementation. 2004-03-21 14:25:51 +00:00
pk
f7fe3a3531 Partial switch to the promlib interface. 2004-03-21 14:22:52 +00:00
pk
f1bff50602 Mostly switch to promlib interface. Postpone the use of prom_makememarr()
since the sparc64 memory range properties aren't compatible yet.

Fix pmap_calculate_colors() in the process.
2004-03-21 14:19:30 +00:00
pk
0d449eda9b Switch to promlib interface. 2004-03-21 14:15:35 +00:00
pk
e0b67a7f3e Drop prom_printf() + some other unused stuff. 2004-03-21 14:13:15 +00:00
pk
6521621036 Switch to the sparc prom library. 2004-03-21 14:10:08 +00:00
pk
fb7560550b Add sparc/sparc/promlib.c. 2004-03-21 14:07:01 +00:00
pk
ef98c2defb Reach over to the sparc versions. 2004-03-21 14:05:43 +00:00
pk
afe147460e Add openfirmware() entry point, since it's no longer defined as a macro
in openfirm.c.
2004-03-21 14:04:30 +00:00
pk
b5a947488b * Add OF_claim() for sparc64.
* Change OF_interpret() to the unabridged version.
* Sync OF_sym2val() and OF_val2sym() with the psarc64 versions.
2004-03-21 14:02:39 +00:00
pk
4b86fd8eed opf_getboot{path,file,args}: return static storage so these can be used
in the early boot phase.

Define prom_interpret() to be a simple form of the Openfirmware OF_interpret().

Re-arrange OLDMON code in prom_getidprom() to make it compile on sparc64.
2004-03-21 13:57:58 +00:00
pk
d7d8742ed3 Turn members of `struct memarr' into long ints, to help sparc64 integration. 2004-03-21 13:52:00 +00:00
martin
d315780ef4 Disable optimization when compiling uvm_bio.c with a 32 bit compiler. 2004-03-21 13:12:30 +00:00
martin
55dfc16be5 Make sure prom_getprop is called with the size pointed to by nitem
initialized. (Some of these are more paranoia, but two were actual bugs.)
Print error codes in some panic messages.
2004-03-21 12:50:14 +00:00
dsl
54b6a75114 A better fix for PR kern/24809, old filesystems should work ok now! 2004-03-21 12:46:57 +00:00
simonb
84b7d801ac Only initialise ksi if we use it. 2004-03-21 10:56:24 +00:00
aymeric
0c43568c58 pmap_pinit(): improve the hash function in the case of collisions, the
previous version would easily make the low order bits oscillate between 0
and some other value.

Together with the previous change, this should make those
pmap_pinit: out of segments
panics even less likely.

We should really attempt a systematic search before panic()ing at the end.
2004-03-21 10:34:56 +00:00
aymeric
560cb79c0e . don't call VSID_TO_HASH() on a pmap.pm_vsid. It already holds the hash value.
This should fix PR #24754, as well as many of the hangs and process
  aborts reported on port-macppc@ in the last weeks.
  This error would cause the pmap's vsid never to be freed, and would
  occasionnally free a valid vsid used by another pmap, sometimes the kernel's.
. add a related KASSERT() to avoid regression
2004-03-21 10:25:59 +00:00
uwe
0589938ad6 s/r15/sp/ for clarity.
Whitespace nit.
2004-03-21 02:20:21 +00:00
uwe
43e4b74e81 Add _DPRINTFN. 2004-03-21 00:41:04 +00:00
he
e475443b64 Need <bsd.obj.mk> and <bsd.inc.mk> to support "obj" and "include" targets
now that we use <bsd.files.mk> instead of <bsd.prog.mk>.
2004-03-20 18:24:17 +00:00
dsl
9d06a8cddd When searching for the superblock, check that the fs_sblockloc field
matches the location we read it from to ensure we don't have one of the
alternate superblocks.
Fixes part of PR kern/24809
2004-03-20 14:09:44 +00:00
matt
bcc199a19c Add gt_dma_bus_mem_to_phys and gt_dma_phys_to_bus_mem. 2004-03-20 01:55:00 +00:00
petrov
2f1de3c8b2 More on fbnode to prom_stdout_node rename. 2004-03-19 21:10:31 +00:00
mhitch
1e8e2dc0c7 Add commented-out entries for the VS4000/(60,VLC} LCG graphics.
Add the wsmux psuedo-device to allow the keyboard to attach to the
wsdisplay device when the wsdisplay device is not the console.
2004-03-19 20:21:08 +00:00
matt
d06905d5ce Add CPU_INFO_INTERATOR/FOREACH support. 2004-03-19 20:17:51 +00:00
mhitch
3ff01ef842 Add the lcspx and lcg display drivers to the console table so they will
get properly probed and initialized.  This also fixes the problem of the
keyboard getting the console output and the keyboard port getting the wrong
serial baud rate.  The lcg driver is not currently present, but should be
"real soon now".
2004-03-19 20:15:21 +00:00
mhitch
a5e785cccf Don't map the framebuffer again when attaching the lcspx driver if it was
already mapped in the early console startup.

The software cursor isn't going to blink if we don't start it - set up the
callout when attaching.

Now that the cursor blink routine is actually called, blink the entire cursor
line rather than just the first pixel.

Don't try to clear the current cursor if the pointer to it hasn't been
initialized.  This seems to happen when using the display as console, but
not when using a serial console.

On early console startup, use the framebuffer sizes, not the character cell
size to compute how much to clear.

The lcspx display will now initialize when booting with the display console,
but the dz device is not detected and the keyboard will not work yet.  I
haven't tracked down why the dz device isn't found (it works fine when
using a serial console).
2004-03-19 20:12:07 +00:00
pk
d6f1cac110 zs_console_flags: use prom_getoption(). 2004-03-19 15:42:46 +00:00
pk
7417e05ce6 Drop fbnode & stdinnode. 2004-03-19 15:31:04 +00:00
pk
af0050c56b Drop optionsnode, fbnode and stdinnnode. 2004-03-19 15:22:43 +00:00
pk
6c02638ef2 Sync with sparc: rename
stdinnode => prom_stdin_node,
	fbnode => prom_stdout_node.
2004-03-19 15:21:42 +00:00
he
d085bb26a1 Fix an overlooked PROM_getprop*() => prom_getprop*() rename. 2004-03-19 14:50:53 +00:00
pk
90dbcf4919 Use prom_getoptionsnode(). 2004-03-19 14:42:01 +00:00
kleink
22df68d482 Mostly lifted from vax's rev. 1.16:
Fix == vs = typo in __va_copy; from David H. Gutteridge in PR misc/24847.
2004-03-19 08:46:25 +00:00
kleink
554392dedc Fix == vs = typo from rev. 1.13 in __va_copy; from David H. Gutteridge
in PR port-vax/24846.
2004-03-19 08:38:28 +00:00
jmc
6fe4ead562 Convert to usage of UUDECODE_FILES and standardize on filename extension 2004-03-19 08:07:22 +00:00
cgd
6c8994da82 convert descriptor add/remove pointers to integer array indices. 2004-03-19 07:11:33 +00:00
cgd
b79e782296 recognize PERIPH_REV3 DMA for BCM1250, too 2004-03-19 06:01:31 +00:00
pk
f72e36ac23 obp_v2_finddevice: bounds check on local char buffer.
prom_findnode: implement node name matching for device named containing
commas, cf. IEEE 1275, section 4.3.6.
2004-03-18 15:24:19 +00:00
pk
bb3bbfa647 Implement OPIOCFINDDEVICE. 2004-03-18 15:14:33 +00:00
pk
f52adf179f Remove unused `search_prom()' macro. 2004-03-18 15:13:59 +00:00
kleink
5ba92ad7be Normalize multiple inclusion protection symbol names. 2004-03-18 13:59:14 +00:00
hannken
ac4d48d92e Rename PROM_getpropstring* => prom_getpropstring* 2004-03-18 12:26:51 +00:00
sekiya
27be14d39c Checkpoint the GR2 wscons driver. Heavily derived from lonewolf@'s newport
driver.  Still some issues:

* framebuffer setup seems incomplete.  Some drawing primitives work 100%
  of the time, while others fail one in ten tries.  Perhaps my board is
  slightly broken, as the exact model as probed by ARCS seems to shift
  between Elan and XS24 from time to time.
* characters are drawn bottom-up rather than top-down (as the wsfont
  definitions expect).
2004-03-18 08:52:04 +00:00
sekiya
0ee588cc1c Add GR2. 2004-03-18 08:40:46 +00:00
sekiya
bf7ef66f3b Add console attach glue for GR2. 2004-03-18 08:40:24 +00:00
sekiya
a924cfbf24 Add register definitions and console prototype header for the SGI GR2 family
of framebuffers.
2004-03-18 08:39:17 +00:00
cgd
50d45978ec bump RX and TX ring sizes to 256 entries each. would be better to make
them larger, but then i'd need to tweak the allocation mechanism so they
were *guaranteed* to be physically contiguous.
2004-03-18 06:59:30 +00:00
cgd
49d5d889b3 in PERIPH_REV3 DMA code, fix calculation of pkt size (not that it matters
for <= 4k packets), and also interrupt on end of pkt only.  cuts tx intrs
by a factor of >3 for simon's fave 100Mbps ttcp test.
2004-03-18 06:30:03 +00:00
simonb
0c55ae72f4 Fix pass3 Tx DMA - when an mbuf spans a page boundary, make sure that
it either is sitting in contiguous physical RAM or split the mbuf
 into two Tx descriptors.  Not the prettiest patch, but works well in
 practice - gets about an 8% decrease on CPU time for a simple ttcp TCP
 Tx benchmark.  Thanks to Chris Demetriou for some debugging help.
Add some event counters.
Remove some #if 0'd debug code.
2004-03-18 05:57:58 +00:00
wrstuden
58472c3385 Have Locore zero out the bss (which includes our stack) BEFORE
we start calling into C code. Previously we called memset() in our
C code. Unfortunately the compiler would sometimes store local variables
on the statck, which got killed by the memset(). Oops!
2004-03-17 23:32:22 +00:00
wrstuden
86948e4bf1 Bump version to help track down issues with kernel loading. 2004-03-17 20:41:17 +00:00
scw
b4e83ea72c Re-enable COMPAT_NETBSD32 2004-03-17 20:24:40 +00:00
scw
fe2418e50c Add COMPAT_16. 2004-03-17 20:24:18 +00:00
scw
62a0c71155 Make COMPAT_NETBSD32 build again. 2004-03-17 20:23:28 +00:00
scw
fffcfa6444 Always check for the SHmedia entry point hack. The in-tree toolchain
doesn't need it, but SuperH's toolchain does.
2004-03-17 20:22:11 +00:00
scw
3b1323d3c7 Pass the ABI (32/64-bit) to the linker. 2004-03-17 20:20:43 +00:00
matt
f9730c006d Fix typo (pckbort -> pckbport) 2004-03-17 18:10:51 +00:00
pk
ea53363e84 Rename PROM_getprop*() => prom_getprop*(). 2004-03-17 17:04:58 +00:00
pk
fcac5c14aa Pass the buffer size to PROM_getpropstringA(), as in sparc. 2004-03-17 15:22:57 +00:00
pk
370bb883e5 Print the host Id in mainbus_attach() instead of clock_attach(). 2004-03-17 14:35:53 +00:00
pk
00aaee7ade Drop myetheraddr(); 2004-03-17 14:26:59 +00:00