Commit Graph

51690 Commits

Author SHA1 Message Date
jruoho
2ea8b86098 Add native P-state support for AMD family 10h and 11h processors. Both are
supported irrespective of XPSS. Family 10h tested by jakllsch@.
2010-08-19 18:30:24 +00:00
tsutsui
961a253c71 Fix device_t/softc split botches. PR port-hpcarm/43780 2010-08-19 15:17:53 +00:00
jmcneill
77b2a8365a VIA CPUs can have EST as well, so treat them the same as Intel 2010-08-19 11:08:33 +00:00
jruoho
e1be1909e4 Add sysctl-glue for interaction with the acpicpu(4). 2010-08-19 04:12:45 +00:00
jruoho
8116cea3d3 Use the idea from cegger@ and fill the (X)PSS structure during initialization. 2010-08-18 18:32:20 +00:00
jruoho
dd6aeafa08 Check the status of P- and T-state transformations on all CPUs. This is
still not ideal, as ACPI gives us information about "cross logical processor
dependencies". For instance, a single MSR call on one CPU may cause all other
CPUs in the same domain to follow the state shift. Thus, rather than using
xc_broadcast(9), we should xc_unicast(9) on per-domain or per-CPU-set basis.
2010-08-18 16:08:50 +00:00
jruoho
8302489936 Add MD support for the vendor-independent extended PSS. Some conforming AMD
systems are known to work. Alas, not all of them. We still need to deal with
the variety of different PowerNow! revisions.
2010-08-18 04:12:29 +00:00
jym
4d0d2a4c7b Use SYSCTL_DESCR() 2010-08-17 22:24:04 +00:00
jakllsch
3e117bf430 Match ichlpcib(4) on ICH0 (82801AB_LPC). 2010-08-17 01:45:51 +00:00
dyoung
f8c8042a13 Add pseudo-device drvctl. 2010-08-17 00:02:28 +00:00
jym
df8a7061db Add machdep.pae sysctl(7) for i386. Thanks to Paul and Joerg for their
reviews.

In kernel, it matches the 'i386_use_pae' variable (0: kernel does not use
PAE, 1: kernel uses PAE). Will be used by i386 kvm(3) to know the functions
that should get called for VA => PA translations.
2010-08-16 19:39:06 +00:00
mrg
78b04d8f54 only attach on SMT ID 0 cpus.
on my i7, cpus 0/4, 1/5, 2/6 and 3/7 have identical information and the
processor manual says that there are only 4 actual sensors.


this still doesn't attach (yet) on that system, due to a core solo/duo
errata being wrongly applied, but i haven't figured out the right way
to do that.
2010-08-15 08:45:20 +00:00
jruoho
1f0e85dcbd Move the PIIX4-quirk to the MD file and disable T-states for PIIX4. 2010-08-14 05:13:20 +00:00
jruoho
3d52b10fd5 Remove some unnecessary locking. Mainly a leftover from previous revisions
where the dynamic maximum/minimum was used also when retrieving the current
state. The state-array itself changes only in C-states.
2010-08-13 18:44:24 +00:00
jruoho
6b9ff1079c Merge T-state a.k.a. throttling support for acpicpu(4).
Remarks:

  1.    Native instructions are supported only on Intel. Native support for
        other x86 vendors will be investigated. By assumption, AMD and others
        use the I/O based approach.

  2.    The existing code, INTEL_ONDEMAND_CLOCKMOD, must be disabled in
        order to use acpicpu(4). Otherwise fatal MSR races may occur.
        Unlike with P-states, no attempt is done to disable the existing
        implementation.

  3.    There is no rationale to export controls to user land.

  4.    Throttling is an artefact from the past. T-states will not be used for
        power management per se. For CPU frequency management, P-states are
        preferred in all circumstances. No noticeable additional power savings
        were observed in various experiments. When the system has been scaled
        to the highest (i.e. lowest power) P-state, it is preferable to move
        from C0 to deeper C-states than it is to actively throttle the CPU.

  5.    But T-states need to be implemented for passive cooling via acpitz(4).
        As specified by ACPI and Intel documents, these can be used as the
        last line of defence against critical thermal conditions. Support
        for this will be added later.
2010-08-13 16:21:50 +00:00
haad
15b01eef79 dd dm driver to XEN configs because they do not have modules working yet.
This will enable using LVM by default on XEN DOM0 hostings running NetBSD.

Change suggested by Sam Fourman.
2010-08-12 20:16:27 +00:00
tsutsui
7049a3dc1c Add acphy(4), which can be found with aue(4). 2010-08-12 17:23:23 +00:00
macallan
50603223e7 look for DDC data in both EDID and edid properties so we can use firmware
provided data on my XVR-100
2010-08-11 19:14:26 +00:00
pgoyette
aa30923a4e Keep condvar wmesg within 8-char limit 2010-08-11 11:32:58 +00:00
pgoyette
343c435ecf Keep condvar wmesg within 8-char limit. 2010-08-11 11:31:45 +00:00
uwe
093ff704d4 Use empty do/while for no-op. 2010-08-09 23:08:59 +00:00
uwe
d9aafa85c7 Misc cosmetics. Refix __func__ fallout fixed in previous by
eliminating the temp completely (__func__ is already an array).

This has been sitting in my tree for years, and I forgot to commit it.
Compile-tested by compiling hpcsh GENERIC with options DEBUG.
2010-08-09 23:07:20 +00:00
jruoho
3d0f130a61 Revert the previous changes to EST. The used hack had an obvious flaw:
the acpicpu(4) driver should attach even if the existing frequency management
code fails to attach, mainly because ACPI is the only proper way to deal
with EST on new Intel system.

Use a more drastic hack to deal with this: when acpicpu(4) attachs, it tears
down any existing sysctl(8) controls and installs identical ones in place.
Upon detachment, the initialization function of the existing EST is called.
2010-08-09 15:46:17 +00:00
jruoho
af42249343 Remove a redundant function. 2010-08-09 13:41:38 +00:00
jruoho
c72ee2046d When retrieving the current frequency, scan all available P-states.
Only use the dynamic maximum when setting a frequency.
2010-08-09 04:27:07 +00:00
jruoho
cf677a3b1e Move the sysctl function pointers used by acpicpu(4) to x86/cpu.c.
Rename these so that the same pointers may be used in other parts.
2010-08-09 04:18:48 +00:00
chs
80ea2102a7 add more spdmem instances for HP xw-series workstations.
add se (scsi ethernet).
2010-08-08 20:04:54 +00:00
chs
2844384429 add more (commented-out) spdmem instances for HP xw-series workstations. 2010-08-08 20:04:24 +00:00
chs
4a968b527b merge sparc and sparc64 fsr.h into one file.
add the missing FSR_TT_* definitions.
fix FSR_FTT_MASK.  fix the V9 FCC fields.
2010-08-08 18:44:15 +00:00
chs
6b187f6957 add more (commented-out) spdmem instances for HP xw-series workstations. 2010-08-08 18:28:00 +00:00
chs
c426f57d8c update a comment. 2010-08-08 18:21:50 +00:00
chs
060a6ca0dc remove some unreachable debug code. 2010-08-08 18:19:56 +00:00
chs
f5b2ba770a enable DDB_HISTORY_SIZE since DDB is enabled. 2010-08-08 18:19:26 +00:00
chs
e7c3078b27 fix copy{in,out}{,str}() to return the error returned by uvm_fault().
part of PR 41813 that I missed earlier.
2010-08-08 18:18:58 +00:00
chs
0c9fb0464e Fix several panics that can be caused by applications using
bad segment register values with setcontext() or sigreturn().
2010-08-08 18:13:54 +00:00
jruoho
53e8f6c919 Merge P-state support for acpicpu(4).
Remarks:

  1.    All processors (x86 or not) for which the vendor has implemented
        ACPI I/O access routines are supported. Native instructions are
        currently supported only for Intel's "Enhanced Speedstep". Code for
        "PowerNow!" (AMD) will be merged later. Native support for VIA's
        "PowerSaver" will be investigated.

  2.    Backwards compatibility with existing userland code is maintained.
        Comparable to the case with cpu_idle(9), the ACPI CPU driver
        installs alternative functions for the existing sysctl(8) controls.
        The "native" behavior (if any) is restored upon detachment.

  3.    The dynamic nature of ACPI-provided P-states needs more investigation.
        The maximum frequency induced (but not forced) by the firmware may
        change dynamically. Currently, the sysctl(8) controls error out with
        a value larger than the dynamic maximum. The code itself does not
        however yet react to the notifications from the firmware by changing
        the frequencies in-place. Presumably the system administrator should
        be able to choose whether to use dynamic or static frequencies.
2010-08-08 16:58:41 +00:00
chs
be240ba6c0 make this compile with DIAGNOSTIC and PSH3TP_DEBUG. 2010-08-08 16:51:34 +00:00
chs
59de0085a0 fix build problem. 2010-08-08 16:27:30 +00:00
chs
7609aebff3 remove dup "options KTRACE". 2010-08-08 16:25:49 +00:00
chs
0570b110f8 make this compile with DIAGNOSTIC. 2010-08-08 16:23:40 +00:00
phx
daa6745796 Erroneously committed test code. Reverted to previous revision. 2010-08-08 11:58:26 +00:00
phx
ba6687ff1b Minor source cleanup. Suggested by Kiyohara. 2010-08-08 11:54:45 +00:00
tsutsui
f54755843c Add options PXA2X0_LCD_WRITETHROUGH to improve console speed. 2010-08-08 11:25:53 +00:00
tsutsui
0d803bc828 Allow pxa2x0_lcd driver mapping screen buffer memory cachable with
write-through map (i.e. map it without BUS_DMA_COHERENT) since
currently all DMA data transfers are memory to device only.

Disabled by default, but enabled by "options PXA2X0_LCD_WRITETHROUGH"
or setting pxa2x0_lcd_writethrough = 1 in a kernel binary.

Tested on WS003SH by me and on WS011SH by jun@, and console output speed
is improved ~three times faster than coherent (uncached) mapping.

XXX: should we have a flag like BUS_DMA_WRITETHROUGH in MI bus_dma(9)?
2010-08-08 11:24:52 +00:00
kiyohara
a21349fd63 Must disable LCD Controller in pxa2x0_lcd_attach_sub(), if already enabled.
We wait to become disable LCD in pxa2x0_lcd_initialize().
2010-08-08 09:33:35 +00:00
isaki
bec4c1ae51 Probe not only ctrl address but also bank window address.
This prevents the wrong matching when other boards like
Neptune-X exist.  Reported by Yasushi Oshima.
2010-08-08 09:30:29 +00:00
kiyohara
e053a5d619 Use EVBARM_BOARDTYPE to print 'NetBSD/evbarm(*)'. That defined to
std.gumstix and std.overo.
2010-08-08 09:00:15 +00:00
jym
1c41482e58 Some core i7 CPUs report model 0c. In this case, check for the extended
model value.

Required to avoid faulting on rdmsr(MSR_FSB_FREQ) early during boot.

Will ask for a pull-up. This affects GENERIC, and most likely, install iso
too.

XXX quick hack. Obtaining FSB through ACPI should be cleaner.
2010-08-08 00:48:46 +00:00
jym
fc57975766 Use aprint_debug_dev(). Caught thanks to coccinelle. 2010-08-07 22:31:57 +00:00
cegger
ca335a7d68 acpi_madt.h is gone 2010-08-07 21:58:34 +00:00