Why is PCE not set in CR4?

From: Shill (devnull_at_kma.eu.org)
Date: 09/30/03

  • Next message: F. Even: "re: upgrading 4.0 to stable"
    Date: Tue, 30 Sep 2003 00:18:19 +0200
    To: freebsd-questions@freebsd.org
    
    

    Hello all,

    I've been playing with my Athlon's timestamp counter for a while,
    and I would like to experiment with the performance-monitoring
    counters now.

    I can execute the RDTSC instruction from ring 3 because the TSD
    (TimeStamp Disable) bit in CR4 (Control Register 4) is cleared.

    However, I am not allowed to use the RDPMC instruction from ring 3
    because the PCE (Performance-monitoring Counters Enable) bit is not set.

    Is there a reason (security? performance? other?) why FreeBSD does
    not set PCE at boot time?

    On a related subject, is there a way for a kernel module to catch a
    general-protection fault caused by an application trying to execute
    RDMSR or WRMSR, and have the kernel module execute the instruction
    for the application? Or is it cleaner to register two new system
    calls to achieve the same thing?

    Thank you for reading me.

    _______________________________________________
    freebsd-questions@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-questions
    To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.org"


  • Next message: F. Even: "re: upgrading 4.0 to stable"

    Relevant Pages