Commit Graph

48058 Commits

Author SHA1 Message Date
ad
48ced055d4 pci_intr_setattr(), allows PCI interrupts to be marked MPSAFE on x86, and
other platforms if the code is added.

pci_intr_map(...)
pci_intr_setattr(pc, ih, PCI_INTR_MPSAFE, 1);
pci_intr_establish(...)
2008-05-30 19:26:35 +00:00
ad
2839301d21 Add a 'known_mpsafe' argument to intr_establish(). 2008-05-30 19:03:10 +00:00
christos
6cb1513d20 - fix an amd cache entry.
- merge tables
- support phenom
from Paul Goyette
2008-05-30 18:49:03 +00:00
cegger
785a84e999 build fix: add missing prototype 2008-05-30 16:22:51 +00:00
kiyohara
9e26ff7373 Renewal GENERIC and files.bebox. 2008-05-30 16:03:01 +00:00
kiyohara
f34810b383 Remove unused prototype for function. 2008-05-30 15:56:32 +00:00
kiyohara
99539a09bc Support genfb console. 2008-05-30 15:54:50 +00:00
nisimura
ad5b6b45cd - add brdsetup.c left uncomitted over half month.
- fixes on tlp.c; more cautious about TCH/TER/RCH/RER usage and
avoid self-pointing TER.
- stylize structs and #define order to highlight similarities and
differences.
2008-05-30 14:54:16 +00:00
christos
f26920b377 PR/38722: Paul Goyette: Share cacheinfo information 2008-05-30 14:42:42 +00:00
ad
a5ece4c4ec PR kern/38663 Kernel preemption can't be enabled on x86 because of amd64
FPU handling

Adjust FPU trap handling to be preemption safe.
2008-05-30 12:17:11 +00:00
ad
f51106f90f Shuffle copyright. 2008-05-30 12:11:44 +00:00
ad
34ade0651a Avoid mispredicted branches. 2008-05-30 12:09:59 +00:00
ad
0a34921e9f fillw is dead. 2008-05-30 11:03:29 +00:00
ad
4a0f8c8fcf Since breakpoints don't work, dump basic info about the trap before
entering the debugger. Sometimes ddb only makes the situation worse.
2008-05-30 10:38:21 +00:00
ad
c51560fae0 Don't try to resolve pagefaults from interrupt mode; it can result in a
LOCKDEBUG panic, or the machine getting really confused. Instead, panic
at the earliest oppertunity.
2008-05-30 10:36:20 +00:00
joerg
f608e44ab1 Add a function to extract the primary bus number of PCI host bridges,
as far as specific code for this already existed.
2008-05-30 09:49:07 +00:00
mrg
04f2afbef7 convert the rest of my licenses to 2-clause, extracting myself out
from a group as necessary.

bozohttpd remains, but it will get fixed next time i update it.
2008-05-30 02:29:37 +00:00
mrg
c2b95373bf remove clause #3 from my license where there are no other
copyright holders involved.
2008-05-29 14:51:25 +00:00
tsutsui
8578fbdffa - also put a boot failure message to LCD
- fix botched (and unused) macro
- use struct lcd_message consistently
2008-05-29 14:25:00 +00:00
tsutsui
07c5a11f73 Include files.bluetooth. 2008-05-28 14:05:14 +00:00
tsutsui
0e88f65e18 Print boot banner and a loading kernel name onto LCD,
for users who don't have serial console.  Bump version.
2008-05-28 14:04:07 +00:00
ad
788aa3a3b0 Give it a private X86_MAXPROCS def. XXX 2008-05-28 12:48:21 +00:00
ad
0c8e56007e Remove X86_MAXPROCS. There is still a 32-cpu limit, but it's now using
the MI constants.
2008-05-28 11:50:01 +00:00
ad
1d6047e0d2 Another use of X86_MAXPROCS. 2008-05-28 11:45:15 +00:00
ad
3e01024d3f Kill use of X86_MAXPROCS. 2008-05-28 11:44:18 +00:00
hauke
9dd4931827 Add LOCKDEBUG option, commented out, so that people know it's there. 2008-05-28 10:20:02 +00:00
dyoung
71f2cf5b71 Make this compile again: don't use USBDEVNAME().
While I'm here, use device_t, device_private(), aprint_error_dev().
2008-05-27 21:24:15 +00:00
dyoung
975e7d5e74 Enlarge embedded symbol table. 2008-05-27 19:27:17 +00:00
nakayama
94692eb6bc Change my mail address to NetBSD's one. 2008-05-27 18:01:34 +00:00
explorer
d4ffc0c2dd print out the xen hypervisor's version number when attaching 2008-05-27 17:01:07 +00:00
hamajima
78c41e4bd3 - convert inline asm umull to C
- add "-march=armv4 -mtune=arm9" to CPUFLAGS

Relevant mailing list threads:
http://mail-index.netbsd.org/source-changes/2008/05/25/msg195537.html
http://mail-index.netbsd.org/port-arm/2008/05/26/msg000228.html
2008-05-27 14:31:36 +00:00
ad
8642ae8daf cpu_lwp_fork: set tf_trapno=T_ASTFLT in case the LWP gets an aston() before
returning to userspace for the first time.
2008-05-27 14:25:11 +00:00
ad
b18c28f549 PR kern/38763 "hanging in tty" bugfix breaks the build for vax (and
probably others)
2008-05-27 14:13:41 +00:00
hauke
409e8d93e6 Switch files I authored to two-clause BSD license. 2008-05-26 17:58:37 +00:00
kiyohara
33aaae50a1 Split boot/boot_com0/boot_vga.
boot supports framebuffer.
  boot_com0 supports com0.
  boot_vga supports vga, not frambuffer.
2008-05-26 16:28:39 +00:00
tsutsui
40f5425d58 Remove all initialization of obsolete ci_divisor_recip in
mips struct cpu_info and related macroes.
The member was prepared for a hack in MD microtime(9) implementation
but it has been superseded by MI timecounter(9).
2008-05-26 15:59:29 +00:00
ad
c0daf9414f Disable OSI networking. 2008-05-26 13:21:08 +00:00
he
e9c0b94535 Bump ramdisk size from 1.5M to 1.6M to compensate for recent bloat. 2008-05-26 12:25:34 +00:00
nisimura
540dfe3a95 - assign 2 clause TNF license to the files cited as my ownership.
- abandon and remove my copyright notice from the three files were
copied in order to adapt HW I don't have; pvr.c, pm.c and stic.c
2008-05-26 10:31:22 +00:00
jmcneill
35f1d3e7d0 Add uberry. 2008-05-26 00:33:37 +00:00
christos
6facb070dd Add uberry. 2008-05-26 00:25:32 +00:00
tsutsui
99f94fd98d Some KNF and cosmetics. 2008-05-25 23:37:05 +00:00
ad
5e4b324300 Properly fix the "hanging in tty" bug that was worked around with cv_wakeup()
some time again.
2008-05-25 19:22:21 +00:00
agc
2481b1e8b9 Re-enable INCLUDE_CONFIG_FILE in the GENERIC kernel config files for
i386, amd64 and usermode - it is necessary for retrieving information
on kernel configuration for running kernels - cf config -x.
2008-05-25 19:05:16 +00:00
joerg
ae85e6b957 Random underdocumented CPU facts:
AMD K8 and newer will trap when enabling the NX support outside PAE
paging mode. The AMD64 wake code was restoring the MSR EFER to switch to
Long Mode and naturally didn't have paging enabled at that point.
While this works fine with Intel CPUs, it resulted in an immediate
reboot with AMD processors.

Fixed by a joint brain storming session of jmcneill@, cegger@ and
myself, based on some input from the hardware developers.  This fixes
PR 38587.
2008-05-25 17:20:29 +00:00
kiyohara
4b5fb67334 Integrated to powerpc-mkbootimage. Obsoleted. 2008-05-25 16:27:56 +00:00
kiyohara
5039d4063f Integrated to powerpc-mkbootimage. Obsoleted. 2008-05-25 16:21:07 +00:00
jmcneill
43af10dd5c Remove unnecessary rdmsr when modifying MSR_EFER. 2008-05-25 16:17:37 +00:00
bouyer
02ac2b8d02 Add a KASSERT(): Xspllower() will reenable interrupts, so make sure it's
not wrong to do so.
2008-05-25 16:09:30 +00:00
bouyer
0fab1fb884 Fix pasto: CLI -> STI 2008-05-25 16:08:41 +00:00
chs
736ec52d87 remove unused macros. 2008-05-25 16:01:29 +00:00
chs
dfe6756df5 add IBM970MP (used in the last model of powermac G5). 2008-05-25 16:00:52 +00:00
chs
b2e9f679cb recognize the variant found in the last model of powermac G5. 2008-05-25 16:00:11 +00:00
chs
eedfb3cc28 fix profiling compilation. 2008-05-25 15:57:50 +00:00
chs
b9a7f48546 enable profiling of assembly functions, except for x86_pause().
profiling that one causes the system with profiling on to become so slow
that we get spinlock timeouts.
2008-05-25 15:56:57 +00:00
chs
6740bb5440 enable profiling of assembly functions. 2008-05-25 15:56:11 +00:00
chris
2b534265d6 Check for erratum 261 on AMD Family 10h Stepping 3 processors.
Also output any detected errata at verbose, rather than debug, level so
they can be seen with dmesg, and at least have a clue if a BIOS update
would fix the errata.
2008-05-25 15:52:07 +00:00
chris
a868834e61 Add detection of errata for AMD Family 10h steppings A and 2. Covering
errata:
254: Internal Resource Livelock Involving Cached TLB Reload
261: Processor May Stall Entering Stop-Grant Due to Pending Data
     Cache Scrub
298: L2 Eviction May Occur During Processor Operation To Set
     Accessed or Dirty Bit
309: Processor Core May Execute Incorrect Instructions on
     Concurrent L2 and Northbridge Response
2008-05-25 15:19:22 +00:00
chris
52c485503f Fix pxeboot's load tftp:miniroot.i386.kmod to work again.
We now wrapper the open call for a module with module_open.  It first
attempts to open the module_path munged path, if this fails it then tries
to open the original path.

This allows tftp files to be located correctly.
2008-05-25 11:54:33 +00:00
phx
436768b562 Better call it HID0_BTCD, as in prep, mvmeppc and rs6000 locore. 2008-05-25 10:52:08 +00:00
phx
9728e10361 Added HID0[BTAC] bit for the 604. 2008-05-25 10:16:04 +00:00
hamajima
fa8ddac44a fix gpio port direction for i2c_wait_for_scl(). Armadillo9 works again. 2008-05-25 04:03:31 +00:00
hamajima
87c715ebc7 fix countdown of "remaining" variable in delay(). Armadillo9 works again.
speed up an initial value  calculation of "remaining" variable in delay().
2008-05-25 03:57:22 +00:00
jmcneill
10f75496ad MI implementation of AcpiAcquireGlobalLock and AcpiReleaseGlobalLock. 2008-05-24 22:16:20 +00:00
jmcneill
43c510d39b Replace asm implementation of ACPI global lock functions with C equivalents. 2008-05-24 22:02:31 +00:00
phx
be85d6f928 Make oea_init() support systems with high-vector configurations (i.e exception
vectors at 0xfff00000), and trap_subr.S allows the kernel to be in a memory
region which is not reachable by absolute branch instructions (ba and bla).

High-vector support can be enabled by option PPC_HIGH_VEC, and long-branches
to the kernel are enabled by the option DISTANT_KERNEL.
2008-05-24 21:39:01 +00:00
he
77b766af04 Back out the removal of md(4) in order to permit this port to complete
a release build again.  The GENERIC kernel is used to build install media
in distrib/ibmnws/netboot/kernel, and without the md(4) area in place,
mdsetimage becomes unhappy.

Pointed out to rjs (who removed md(4) in revision 1.31), but now
committed due to feedback time-out, and because I've verified that
this fixes the build.
2008-05-24 19:24:48 +00:00
kiyohara
cd22853503 Fix some bugs for bebox. 2008-05-24 17:34:02 +00:00
bouyer
c8e9dd1af4 G/C dead code: remove now-unused softintr-related code. 2008-05-24 15:10:50 +00:00
bouyer
d491d792fd Remork the C implementation of spllower() in evtchn_do_event(), so that
callbacks are always called in decreasing IPL order. Although it's not
strictly a bug, it makes the code easier to read, and avoids processing
the whole IPL range several times.
2008-05-24 15:09:34 +00:00
jnemeth
96f8d450e2 add siisata(4) -- SiI SteelVine SATA2 2008-05-23 21:17:39 +00:00
tsutsui
31d6cdf996 Add simple help messages for MD machine commands on ddb(4).
PR port-mips/38306
2008-05-23 17:01:32 +00:00
isaki
5fc34baa9d Catch up with device_t/device_xname changes on MI USB part. 2008-05-23 13:27:40 +00:00
isaki
aedad66a44 Initialize IPL_SERIAL. Analysed by tsutsui@.
Fixed kern/38684 (and other many panics).
2008-05-23 13:07:44 +00:00
hauke
215d0dd444 Fix NetBSD version tag. 2008-05-23 10:46:10 +00:00
rjs
299a890abf Add call to pic_init(). Spotted by garbled. 2008-05-22 20:56:24 +00:00
hauke
f5ede5dc2e Added driver for the Creative Systems Inc. Hurdler CPI parallel printer card.
Timecounter support for the Z8536 counters A + B is not complete, yet.

Reviewed by Martin Husemann.
2008-05-22 19:49:43 +00:00
ad
d9b262b49d Mark x86_curlwp() with __attribute__ ((const)), so gcc can CSE it and know
that it does not clobber global data.
2008-05-22 13:55:51 +00:00
ad
1e62ed170b Remove unneeded playing about with kernel_lock. 2008-05-21 14:07:29 +00:00
ad
2a64c855d7 Fix build failure. 2008-05-21 13:36:45 +00:00
ad
76f1ed8cb3 PR port-amd64/38708 lkm_map issues on amd64
Don't plonk lkm_map right on top of the ISA ROM/video hole.
2008-05-21 03:50:42 +00:00
ad
22af427bf0 PR port-amd64/38708 lkm_map issues on amd64
lkm_map should not be marked pageable.
2008-05-21 03:04:35 +00:00
ad
94b6b18770 - Stop the twiddler going awry.
- Clear screen if on a glass tty (!).
2008-05-21 01:51:34 +00:00
ad
b79cb03e74 Do the errata patchup after identifying the CPU, to avoid badly formatted
output.
2008-05-21 01:18:00 +00:00
ad
ca4aa34cf5 Be a bit less pointed with the errata warning. 2008-05-21 01:16:20 +00:00
ad
abeeffe66f aprint_debug for the lapic ESR reports during startup. 2008-05-21 01:15:16 +00:00
ad
e91baf0908 verbose -> debug for # page colours 2008-05-21 01:14:17 +00:00
ad
41fb29c26c cpuctl shows the power management features. 2008-05-21 01:13:07 +00:00
uwe
3b6480932b Add semicolon that was lost some 5 years ago.
Reported missing by proper do-while macro hygiene in systm.h.
2008-05-20 20:43:30 +00:00
phx
ae1187f656 amiga/amiga/isr.h must not be included for __m68k__ only.
At the moment it is required by amigappc as well.
2008-05-20 18:28:56 +00:00
ad
e69aa3297c Take $MACHINE into account when looking for modules. 2008-05-20 16:04:08 +00:00
ad
79df4e6dbd PR kern/38694 module dependencies do not work as expected
If a given module name/path does not start with '/', assume it's a module
name and choose a default path based on the kernel version.
2008-05-20 14:46:54 +00:00
cegger
a8dd75a7ea correct comment copied from aiboost(4): envsys(4) wants uK 2008-05-20 14:45:22 +00:00
cegger
b112375268 envsys(4) expects values in mK and not the top of the range of possible temperature values.
Needed some time to figure this out after I saw negative temperature values on Griffin.
2008-05-20 13:58:32 +00:00
nakayama
d3e62669e3 Put "powered down" message in case of RB_POWERDOWN for consistency.
Useful for a serial console.
2008-05-20 11:44:14 +00:00
dogcow
49a3eaf487 due to changes in KERN_UNLOCK_ALL, now always define hold_count. 2008-05-20 09:29:33 +00:00
reinoud
6225111ee5 Remove double copyright message by me 2008-05-19 15:30:51 +00:00
martin
ee9ac5c71f Explicitly pass a "mpsafe" arg down to intr_establish, as at that point
we do not have the original ipl passed in around to check for mpsafeness.
Fixes PR port-sparc64/38673. Thanks to Andrew for pointing at the problem.
2008-05-18 22:40:14 +00:00
cegger
33e33b567c acpidalb(4): Driver for PNP0C32 Hotkeys aka "Direct Application Launch Buttons".
"awesome" jmcneill
2008-05-18 22:05:59 +00:00
mlelstv
1ea289c164 put back NetBSD tag 2008-05-18 13:18:19 +00:00
phx
1edc11edbf No longer used. 2008-05-18 12:14:08 +00:00
bjs
8e3ed2e6db second instance of PCI_INTR_FIXUP -> PCI_ADDR_FIXUP, change comment to
match.
2008-05-18 03:52:17 +00:00
jmcneill
865f9859cf Add commented out entries for PCI_BUS_FIXUP and PCI_ADDR_FIXUP 2008-05-18 02:10:10 +00:00
jmcneill
9709f2afe2 Add support for PCI_BUS_FIXUP and PCI_ADDR_FIXUP on amd64. 2008-05-18 02:06:14 +00:00
macallan
21ef3a53d1 more device_t-ification 2008-05-17 18:11:32 +00:00
macallan
266d000a3d struct device * -> device_t 2008-05-17 01:30:48 +00:00
macallan
edc658718f cosmetics:
- finally add my copyright, almost 3 year after the fact
- remove a comment that never applied to the NetBSD port of this driver,
  only the OpenBSD version
2008-05-17 01:00:19 +00:00
macallan
acb1cf42d5 struct device * -> device_t 2008-05-17 00:45:38 +00:00
bouyer
e0180214c9 call x86_cpu_idle_init(), avoid null function pointer call (cpu_idle()) when
scheduling starts.
cleanup printfs of vcpu
2008-05-16 17:20:01 +00:00
bouyer
e00df0805b Initialize cpuid_level for Xen too. 2008-05-16 17:18:25 +00:00
tsutsui
04f1cf0315 Fix intr name for irq5. Now both IPL_BIO and IPL_NET are aliases of IPL_VM.
XXX is it better to pass intrname strings to extintr_establish()?
2008-05-16 16:24:17 +00:00
he
88939bb817 Bump ramdisk size from 500k to 600k to compensate for recent bloat,
probably caused by ifconfig now needing proplib.
2008-05-16 15:16:15 +00:00
macallan
e369394198 sprinkle static 2008-05-16 03:49:54 +00:00
macallan
0a9283467c struct device * -> device_t 2008-05-16 03:11:09 +00:00
macallan
b6c6870c6d struct device * -> device_t 2008-05-16 02:41:50 +00:00
rjs
9a9e754190 Enable console on genfb(4). 2008-05-15 23:38:49 +00:00
rjs
89df53fa8e Enable DDB and INET6, remove use of md(4). 2008-05-15 23:36:47 +00:00
macallan
f147f68f57 listen to PMF volume control events
With this volume vontrol via keyboard works on my iBook G4.
2008-05-15 20:11:00 +00:00
macallan
7d61890be8 struct device -> device_t 2008-05-15 19:47:09 +00:00
nisimura
a63b802fd7 - cut half main.c and have brdsetup.c for cpu/board specifics.
- introduce match() routine to stylise the way to pickup a PCI
  device driver.
- fix tlp.c error in the previous commit.
2008-05-14 23:14:11 +00:00
tsutsui
b87210fa51 Normalize my licenses. 2008-05-14 13:29:27 +00:00
ad
bf1cf71fcd - cpu_attach: ensure that the boot processor is set up before trying to
initialize APs. We need the lapic set up and the boot processor may
  not be attached first.

- mp_cpu_start: write back and invalidate the data cache before starting the
  init IPI sequence. If a buggy BIOS has left the AP with cache disabled,
  it might not be able to participate in the cache coherency protocol.
2008-05-14 12:53:49 +00:00
he
30e1f3f935 Bump ramdisk size to compensate for recent bloat. 2008-05-14 08:08:31 +00:00
matt
082a2ff75b Back out SD/MMC inclusion which shouldn't have been comitted. 2008-05-14 01:58:29 +00:00
ad
5d1d928fe1 Be more conservative during AP startup. Don't let the AP access the lapic
or do any setup until the boot processor has finished the init sequence,
and add a few more delays.
2008-05-13 22:39:17 +00:00
ad
62118300c8 intr_string: don't bother printing the legacy irq number when using the
ioapic. It's confusing.
2008-05-13 20:19:26 +00:00
tsutsui
269bbddf81 Remove complete items (multi function PCI interrupts, zs on Qube2700). 2008-05-13 15:06:40 +00:00
joerg
816cef7d46 Restore the behaviour intended by rev 1.51 with the patch I actually
send out for testing. The wrong version ended up in the commit.
Original description:
Don't use the legacy interrupt when deciding how to route IOAPIC pins.
On some modern systems not all devices have the PCI interrupt line
set, typically the cardbus bridge is affected and it would result in
different interrupt vectors used for the same IOAPIC pin.
To allow this, simplify the code by checking for an existing match first
and only allocate a new entry if that doesn't exist. For the IOAPIC case
don't bother with the reserveration on the primary CPU for ISA
interrupts, just use them.
2008-05-13 14:29:17 +00:00
tsutsui
e04f8f6085 On netboot specify only FS_OPS(nfs) explicitly for file_system[] fs_ops.
Trying block device fs_ops like ext2fs on netboot could be problematic
on some conditions since not all libsa functions handle errors properly.
2008-05-13 14:26:20 +00:00
tsutsui
416b7a7683 Remove an unused extern declaration. 2008-05-13 14:20:58 +00:00
ad
6cd3bc13e5 PR port-amd64/38478 (panic on boot when attaching cpu17)
Don't 'sti' before returning from an interrupt that is masked in software.
We could recurse and burn stack.
2008-05-13 14:12:31 +00:00
ad
ef159c840a PR kern/35296 option PIC_DELAY not use 2008-05-13 13:43:47 +00:00
ad
5128f21c03 Back out 1.50 until the assumptions about NUM_LEGACY_IRQS are removed.
Until then there are not enough free interrupt sources on UP systems.
(Sorry Joerg.)
2008-05-13 12:14:06 +00:00
ad
25eae6f894 AMD and IDT/VIA strings were swapped. 2008-05-13 11:22:15 +00:00
ad
d3b40a28c7 - lapic_map: if we have an APIC MSR, ignore the supplied address and ask the
hardware where it is mapped. At least one ACPI implementation seems to lie
  about the physical address of the lapic.

- lapic_initclocks: be paranoid and issue an EOI.
2008-05-12 23:46:01 +00:00
ad
ce85d1b2a3 Some defs to describe the IA32_APIC_BASE MSR. 2008-05-12 18:36:20 +00:00
he
80dcfefbc7 Bump SYMTAB_SPACE so that it fits again. 2008-05-12 18:28:20 +00:00
tsutsui
6f98953d90 Remove one more dup line. I should have a cup of coffee before hasty commit..
XXX maybe it's better to sort by cai_desc to sync with the Intel docs.
2008-05-12 16:41:15 +00:00
ad
a1ba1eadd5 - Make cpu_number() return MI index, otherwise the pmap cannot work on
systems with lapic IDs > X86_MAXPROCS.
- Kill cpu_info[] array and use MI cpu_lookup_byindex().
2008-05-12 14:41:07 +00:00
ad
02ce2ed48b Don't crash if more than 32 cpus. Hopefully the boot processor will be
within the first 32 attached.
2008-05-12 14:29:06 +00:00
ad
453d5d4dc1 - Complain if unable to reset the lapic ID.
- Minor clean up.
2008-05-12 14:19:33 +00:00
ad
094788ba6d cpu_hatch: hack around problem with multiple CPUs spinning in i8254_delay. 2008-05-12 11:58:10 +00:00
nisimura
ba7dbc0c82 CAL cache alignment band-aid for BMR register. 2008-05-12 11:56:15 +00:00
mlelstv
17740d28a4 add support for booting a kernel by tftp. Syntax is similar
to other systems, e.g.: boot net tftp:netbsd
2008-05-12 11:16:31 +00:00
nisimura
21ef04a5a6 sprincle volatile attribute for struct desc on memory to ease the
target HW dependency on cache characteristic and load-store
serialization, and GCC compile time optimization strength.
2008-05-12 09:58:36 +00:00
nisimura
3352c438fc Assign copyright notices. 2008-05-12 09:29:56 +00:00
simonb
ce7bd7383b Only need to add some of the new cache descriptors once(!). 2008-05-12 03:58:47 +00:00
he
d565d6ce16 Bump SYMTAB_SPACE so it fits again. 2008-05-11 23:34:40 +00:00
cegger
79c3bfd61b remove one indent level. No functional change. 2008-05-11 23:05:45 +00:00
yamt
bf5accf9f6 tprof_backend_estimate_freq: ci_tsc_freq -> ci_data.cpu_cc_freq 2008-05-11 22:51:02 +00:00
ad
31c3804afc - Decouple the APIC ID from cpu_info[].
- Probe TSC frequency on each AP when hatching.
2008-05-11 22:26:59 +00:00
ad
0dc71691a0 Fix the qemu (?) problem. 2008-05-11 22:18:08 +00:00
ad
fff73dae94 splclock -> splhigh 2008-05-11 21:50:06 +00:00
ad
704c817f7a Use ci_cpumask. 2008-05-11 21:48:02 +00:00
cegger
c094da181a print L3 and TLB cache information for AMD Barcelona/Phenom 2008-05-11 21:19:17 +00:00
tsutsui
f256c15ff3 Update intel_cpuid_cache_info as per Intel's application note:
"AP-485 Intel(R) Processor Identification and the CPUID Instruction"
http://www.intel.com/design/processor/applnots/241618.htm

XXX1: should sort by cai_index or cai_desc?
XXX2: should also check L3CACHE for coloring?
2008-05-11 18:29:42 +00:00
tsutsui
ce7c3e5d1c Fix an indent. 2008-05-11 18:21:28 +00:00
ad
9188c0738a Wrap stuff in #ifdef _KERNEL 2008-05-11 16:57:43 +00:00
ad
a034c1c5e1 MP + apics are needed now so kill the #ifdefs 2008-05-11 16:26:56 +00:00
ad
bfff830416 Fix typo. 2008-05-11 16:25:46 +00:00
ad
b698c03c2c Don't reload LDTR unless a new value, which only happens for USER_LDT. 2008-05-11 16:23:05 +00:00
ad
5e605a64f7 Disable preemption across LDT mods. 2008-05-11 16:17:38 +00:00
ad
8250c8f097 Disable preemption over LDT modifications. 2008-05-11 16:13:34 +00:00
ad
3cd3c8ccbc Stop using APIC IDs to identify CPUs for software purposes. Allows for
APIC IDs beyond 31, which has been possible for some time now.
2008-05-11 15:59:50 +00:00
ad
f674d9678b Share cpu.h between the x86 ports. 2008-05-11 15:32:20 +00:00
ad
c5fb1571ad Update xen for identcpu changes. 2008-05-11 15:02:34 +00:00
ad
50d8ae9d14 Simplify x86 identcpu code, and share between i386/amd64. 2008-05-11 14:44:53 +00:00
ad
454ba0bbef Don't abuse ci_cpuid - in particular, ci_cpuid != ci_signature. 2008-05-11 14:39:49 +00:00
ad
f9a4f0750a Don't use ci_apicid to identify cpus in debug output. 2008-05-11 14:25:02 +00:00
ad
058b47f572 Re-base the cpu types at 0 so they can be used as an array index. 2008-05-11 13:36:33 +00:00
ad
da5bd37a49 Expose the 'cpu' variable.: 2008-05-11 13:33:54 +00:00
joerg
1ae05b2bbf Don't use the legacy interrupt when deciding how to route IOAPIC pins.
On some modern systems not all devices have the PCI interrupt line
set, typically the cardbus bridge is affected and it would result in
different interrupt vectors used for the same IOAPIC pin.
To allow this, simplify the code by checking for an existing match first
and only allocate a new entry if that doesn't exist. For the IOAPIC case
don't bother with the reserveration on the primary CPU for ISA
interrupts, just use them.
2008-05-11 13:18:25 +00:00
ad
cc7aa65fd4 +END(tsc_get_timecount) 2008-05-11 12:43:35 +00:00
ad
bd06c33f6e Fix a potential hang during skew detection (not observed). 2008-05-11 12:41:13 +00:00
chris
e4ea82cddb Add support to pxeboot to allow the loading of modules. Changes to main.c
are taken from boot/boot2.c.

This allows an install to be started by running:
load tftp:miniroot.kmod
boot tftp:netbsd-GENERIC

Note that the change to dev_net.c to comment out the network shutdown,
suggests we need to hook the network shutdown in the the common exec code.
If the network is shutdown, it fails to reinitialise and so fails to load
the module.
2008-05-11 11:42:02 +00:00
isaki
e33e7d58fd Increase ramdisk size. 2008-05-11 09:35:53 +00:00
cegger
2a9c1861c0 aprint_normal -> aprint_normal_dev
sizeof line -> sizeof(line)
2008-05-11 09:31:49 +00:00
kiyohara
2438bca8bf Split device_t/softc. 2008-05-11 08:23:17 +00:00
wrstuden
97003b024b Oops. These are supposed to come alive on the branch, not the head. 2008-05-11 00:18:09 +00:00
wrstuden
dbbab92bc9 Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
2008-05-10 23:48:44 +00:00
skrll
06decd2786 Add a cdboot prog.
Derived from OpenBSD.
2008-05-10 19:11:58 +00:00
skrll
a4c3fd710b Fix some debug printfs. 2008-05-10 19:05:59 +00:00
ad
bd60b91d0a If the boot processor's lapic has the wrong ID, reset it. 2008-05-10 17:23:54 +00:00
ad
47f99407d1 Assume that TSC is stable on P-II and P-III Xeons, since systems with those
CPUs are likely to have a TSC-friendly configuration.
2008-05-10 16:44:00 +00:00
ad
c328252caf TSC should also be enabled for intel f03. 2008-05-10 16:37:08 +00:00
ad
95a272a377 Make xen build after tsc changes. 2008-05-10 16:27:57 +00:00
ad
feb38f6706 Take skew into account for cpu_counter(). 2008-05-10 16:21:41 +00:00
ad
75ada79f33 Improve x86 tsc handling:
- Ditch the cross-CPU calibration stuff. It didn't work properly, and it's
  near impossible to synchronize the CPUs in a running system, because bus
  traffic will interfere with any calibration attempt, messing up the
  timings.

- Only enable the TSC on CPUs where we are sure it does not drift. If we are
  On a known good CPU, give the TSC high timecounter quality, making it the
  default.

- When booting CPUs, detect TSC skew and account for it. Most Intel MP
  systems have synchronized counters, but that need not be true if the
  system has a complicated bus structure. As far as I know, AMD systems
  do not have synchronized TSCs and so we need to handle skew.

- While an AP is waiting to be set running, try and make the TSC drift by
  entering a reduced power state. If we detect drift, ensure that the TSC
  does not get a high timecounter quality. This should not happen and is
  only for safety.

- Make cpu_counter() stuff LKM safe.
2008-05-10 16:12:32 +00:00
martin
5d1469bd77 Backout previous: the license sweep touched these files in error, so
restore the old license.
2008-05-10 15:31:03 +00:00
chris
fe50151584 Fix 9.5 year old buffer overflow.
It wasn't noticed till now as it wasn't overflowing onto anything
important (or was overwritten by the correct data).  Recent changes
meant irqstr was placed just before footbridge_intrq and so it trashed
the interrupt linked list, and so caused an alignment fault.

Note that cats still doesn't boot even with the change, as it hangs when
starting userland, I suspect an interrupt issue.
2008-05-10 15:29:25 +00:00
ad
9a48c061bc Remove tsc debugging code. 2008-05-10 15:05:01 +00:00
ad
9ab200719c Merge cpu_counter.h. 2008-05-10 14:53:54 +00:00
jmcneill
1c1d16a9e9 Use aprint_naive, cleanup error printing. 2008-05-10 13:38:34 +00:00
jmcneill
a6a2bdb866 Mhz -> MHz in aprint, use aprint_naive. 2008-05-10 13:35:56 +00:00
martin
b46765907d Minor typo in license 2008-05-10 11:49:37 +00:00
isaki
007dbd3e78 Make it retire, because no one refers.
arch/x68k/dev/spc.c includes <dev/ic/mb89352reg.h> instead of
this, since 1999.
2008-05-10 10:37:38 +00:00
cegger
d4e5a8360c Buildfix: Remove duplicate #defines. 2008-05-09 21:53:56 +00:00
joerg
f809e517f2 Only check for hlt on !Xen. This needs to be reviewed when Xen gets SMP
support.
2008-05-09 21:25:43 +00:00
ad
8b6686aea4 LAPIC_ID_MASK is 8 bits these days. 2008-05-09 21:23:48 +00:00
joerg
a790b941e6 Make cpu_idle a macro calling a function pointer on x86.
Select the Xen idle routine for Xen, mwait if supported by the CPU and
it is not AMD and halt otherwise. As reported by Christoph Egger,
AMD Barcelona keeps the CPU in C0 state with MWAIT, contrary to HLT,
which uses C1 and therefore much less power.
2008-05-09 18:11:28 +00:00