History log of /freebsd/sys/i386/include/cpu.h (Results 26 – 50 of 192)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e44af46e 07-Sep-2013 Justin T. Gibbs <gibbs@FreeBSD.org>

Implement PV IPIs for PVHVM guests and further converge PV and HVM
IPI implmementations.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Submitted by: gibbs (misc cleanup, table drive

Implement PV IPIs for PVHVM guests and further converge PV and HVM
IPI implmementations.

Submitted by: Roger Pau Monné
Sponsored by: Citrix Systems R&D
Submitted by: gibbs (misc cleanup, table driven config)
Reviewed by: gibbs
MFC after: 2 weeks

sys/amd64/include/cpufunc.h:
sys/amd64/amd64/pmap.c:
Move invltlb_globpcid() into cpufunc.h so that it can be
used by the Xen HVM version of tlb shootdown IPI handlers.

sys/x86/xen/xen_intr.c:
sys/xen/xen_intr.h:
Rename xen_intr_bind_ipi() to xen_intr_alloc_and_bind_ipi(),
and remove the ipi vector parameter. This api allocates
an event channel port that can be used for ipi services,
but knows nothing of the actual ipi for which that port
will be used. Removing the unused argument and cleaning
up the comments surrounding its declaration helps clarify
its actual role.

sys/amd64/amd64/mp_machdep.c:
sys/amd64/include/cpu.h:
sys/i386/i386/mp_machdep.c:
sys/i386/include/cpu.h:
Implement a generic framework for amd64 and i386 that allows
the implementation of certain CPU management functions to
be selected at runtime. Currently this is only used for
the ipi send function, which we optimize for Xen when running
on a Xen hypervisor, but can easily be expanded to support
more operations.

sys/x86/xen/hvm.c:
Implement Xen PV IPI handlers and operations, replacing native
send IPI.

sys/amd64/include/pcpu.h:
sys/i386/include/pcpu.h:
sys/i386/include/smp.h:
Remove NR_VIRQS and NR_IPIS from FreeBSD headers. NR_VIRQS
is defined already for us in the xen interface files.
NR_IPIS is only needed in one file per Xen platform and is
easily inferred by the IPI vector table that is defined in
those files.

sys/i386/xen/mp_machdep.c:
Restructure to more closely match the HVM implementation by
performing table driven IPI setup.

show more ...


# a29cc9a3 28-Jul-2013 Andriy Gapon <avg@FreeBSD.org>

Revert r253748,253749

This WIP should not have been committed yet.

Pointyhat to: avg


# 366d8bfb 28-Jul-2013 Andriy Gapon <avg@FreeBSD.org>

put contents of cpu.h under _KERNEL

no userland-serviceable parts inside

MFC after: 20 days


Revision tags: release/8.4.0, release/9.1.0, release/8.3.0_cvs, release/8.3.0, release/9.0.0
# 57af65d4 05-Apr-2011 Jung-uk Kim <jkim@FreeBSD.org>

Use cpu_ticks() for get_cyclecount(9) rather than checking existence of TSC
at run-time on i386. cpu_ticks() is set to use RDTSC early enough on i386
where it is available. Otherwise, cpu_ticks() i

Use cpu_ticks() for get_cyclecount(9) rather than checking existence of TSC
at run-time on i386. cpu_ticks() is set to use RDTSC early enough on i386
where it is available. Otherwise, cpu_ticks() is driven by the current
timecounter hardware as binuptime(9) does. This also avoids unnecessary
namespace pollution from <machine/cputypes.h>.

show more ...


# 2ffa4044 16-Mar-2011 Jung-uk Kim <jkim@FreeBSD.org>

Rework r219679. Always check CPU class at run-time to make it predictable.
Unfortunately, it pulls in <machine/cputypes.h> but it is small enough and
namespace pollution is minimal, I hope.

Pointed

Rework r219679. Always check CPU class at run-time to make it predictable.
Unfortunately, it pulls in <machine/cputypes.h> but it is small enough and
namespace pollution is minimal, I hope.

Pointed out by: bde
Pointy hat: jkim

show more ...


# 155438b4 16-Mar-2011 Marcel Moolenaar <marcel@FreeBSD.org>

Merge svn+ssh://svn.freebsd.org/base/head@219680


# 1f5cdd5a 15-Mar-2011 Jung-uk Kim <jkim@FreeBSD.org>

Partially revert r219672. After r198295, kernel need to seed randomness as
soon as possible for stack protector. However, dummy timecounter does not
have enough entropy and we don't need to sacrifi

Partially revert r219672. After r198295, kernel need to seed randomness as
soon as possible for stack protector. However, dummy timecounter does not
have enough entropy and we don't need to sacrifice Pentium class and later.

Pointed out by: Maxim Dounin (mdounin at mdounin dot ru)

show more ...


# b2b9331c 15-Mar-2011 Jung-uk Kim <jkim@FreeBSD.org>

Remove tsc_present from this file, really.


# d8ea2a49 15-Mar-2011 Jung-uk Kim <jkim@FreeBSD.org>

Unconditionally use binuptime(9) for get_cyclecount(9) on i386. Since this
function is almost exclusively used for random harvesting, there is no need
for micro-optimization. Adjust the manual page

Unconditionally use binuptime(9) for get_cyclecount(9) on i386. Since this
function is almost exclusively used for random harvesting, there is no need
for micro-optimization. Adjust the manual page accordingly.

show more ...


# eb14346a 15-Mar-2011 Jung-uk Kim <jkim@FreeBSD.org>

Make get_cyclecount(9) little bit more useful where binuptime(9) is used.


# 9b4fcf85 18-Feb-2011 Marcel Moolenaar <marcel@FreeBSD.org>

Merge svn+ssh://svn.freebsd.org/base/head@218816


Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0
# 6d4b9715 09-Dec-2010 Dimitry Andric <dim@FreeBSD.org>

Sync: merge r216133 through r216338 from ^/head.


# 61d14101 08-Dec-2010 Jung-uk Kim <jkim@FreeBSD.org>

Use int for 'tsc_present' instead of u_int. It is just a boolean.


# b17f9ad2 16-Aug-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Merge svn+ssh://svn.freebsd.org/base/head@211344


Revision tags: release/8.1.0_cvs, release/8.1.0
# 1003cfe9 13-Jul-2010 Warner Losh <imp@FreeBSD.org>

Remove obsolete undef of COPY_SIGCODE. It appears to have not been
used in FreeBSD in quite some time (maybe since before 4.4-lite :)

Submitted by: bde


Revision tags: release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0
# 5405ab48 11-May-2006 Poul-Henning Kamp <phk@FreeBSD.org>

Clean out sysctl machdep.* related defines.

The cmos clock related stuff should really be in MI code.


Revision tags: release/6.1.0_cvs, release/6.1.0
# b439e431 22-Dec-2005 John Baldwin <jhb@FreeBSD.org>

Tweak how the MD code calls the fooclock() methods some. Instead of
passing a pointer to an opaque clockframe structure and requiring the
MD code to supply CLKF_FOO() macros to extract needed values

Tweak how the MD code calls the fooclock() methods some. Instead of
passing a pointer to an opaque clockframe structure and requiring the
MD code to supply CLKF_FOO() macros to extract needed values out of the
opaque structure, just pass the needed values directly. In practice this
means passing the pair (usermode, pc) to hardclock() and profclock() and
passing the boolean (usermode) to hardclock_cpu() and hardclock_process().
Other details:
- Axe clockframe and CLKF_FOO() macros on all architectures. Basically,
all the archs were taking a trapframe and converting it into a clockframe
one way or another. Now they can just extract the PC and usermode values
directly out of the trapframe and pass it to fooclock().
- Renamed hardclock_process() to hardclock_cpu() as the latter is more
accurate.
- On Alpha, we now run profclock() at hz (profhz == hz) rather than at
the slower stathz.
- On Alpha, for the TurboLaser machines that don't have an 8254
timecounter, call hardclock() directly. This removes an extra
conditional check from every clock interrupt on Alpha on the BSP.
There is probably room for even further pruning here by changing Alpha
to use the simplified timecounter we use on x86 with the lapic timer
since we don't get interrupts from the 8254 on Alpha anyway.
- On x86, clkintr() shouldn't ever be called now unless using_lapic_timer
is false, so add a KASSERT() to that affect and remove a condition
to slightly optimize the non-lapic case.
- Change prototypeof arm_handler_execute() so that it's first arg is a
trapframe pointer rather than a void pointer for clarity.
- Use KCOUNT macro in profclock() to lookup the kernel profiling bucket.

Tested on: alpha, amd64, arm, i386, ia64, sparc64
Reviewed by: bde (mostly)

show more ...


Revision tags: release/6.0.0_cvs, release/6.0.0, release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0
# 2d68e3fb 16-Nov-2004 John Baldwin <jhb@FreeBSD.org>

Initiate deorbit burn sequence for 80386 support in FreeBSD: Remove
80386 (I386_CPU) support from the kernel.


Revision tags: release/5.3.0_cvs, release/5.3.0
# 9f1b87f1 03-Aug-2004 Maxime Henrion <mux@FreeBSD.org>

Instead of calling ia32_pause() conditionally on __i386__ or __amd64__
being defined, define and use a new MD macro, cpu_spinwait(). It only
expands to something on i386 and amd64, so the compiled c

Instead of calling ia32_pause() conditionally on __i386__ or __amd64__
being defined, define and use a new MD macro, cpu_spinwait(). It only
expands to something on i386 and amd64, so the compiled code should be
identical.

Name of the macro found by: jhb
Reviewed by: jhb

show more ...


# 4c5f10a6 20-Jun-2004 Bruce Evans <bde@FreeBSD.org>

Backed out previous commit. Blind substitution of dev_t by `struct cdev *'
was just wrong here because the dev_t's are user dev_t's.


# 89c9c53d 16-Jun-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Do the dreaded s/dev_t/struct cdev */
Bump __FreeBSD_version accordingly.


Revision tags: release/4.10.0_cvs, release/4.10.0
# f36cfd49 07-Apr-2004 Warner Losh <imp@FreeBSD.org>

Remove advertising clause from University of California Regent's
license, per letter dated July 22, 1999 and email from Peter Wemm,
Alan Cox and Robert Watson.

Approved by: core, peter, alc, rwatson


Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0
# 4d33ee7c 17-Dec-2003 Brian Feldman <green@FreeBSD.org>

Hey, how about we NOT make modules crash 486s?


Revision tags: release/4.9.0_cvs, release/4.9.0
# 26502503 16-Aug-2003 Marcel Moolenaar <marcel@FreeBSD.org>

Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI
prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to
cpu.h. This affects db_command.c and kern_shutdown.c.

ia64: mo

Further cleanup <machine/cpu.h> and <machine/md_var.h>: move the MI
prototypes of cpu_halt(), cpu_reset() and swi_vm() from md_var.h to
cpu.h. This affects db_command.c and kern_shutdown.c.

ia64: move all MD prototypes from cpu.h to md_var.h. This affects
madt.c, interrupt.c and mp_machdep.c. Remove is_physical_memory().
It's not used (vm_machdep.c).

alpha: the MD prototypes have been left in cpu.h with a comment
that they should be there. Moving them is left for later. It was
expected that the impact would be significant enough to be done in
a seperate commit.

powerpc: MD prototypes left in cpu.h. Comment added.

Suggested by: bde
Tested with: make universe (pc98 incomplete)

show more ...


Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0
# 553ebddc 05-Feb-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Make get_cyclecount() use binuptime() when no tsc is available: it is cheaper.


12345678