diff options
| author | David S. Miller <davem@kernel.bkbits.net> | 2003-02-11 01:33:57 -0800 |
|---|---|---|
| committer | David S. Miller <davem@kernel.bkbits.net> | 2003-02-11 01:33:57 -0800 |
| commit | c409074316d9df04ff74e9ba3ada70a664f82b13 (patch) | |
| tree | 827fbce157885654e6aa1996b101ab66fb8c8028 /include | |
| parent | 7aaaac17c1734a4467b3f56fbaff0f6747154ee1 (diff) | |
| parent | 29b1ac58ff0f22bbc40fc0db88b21c152cab5b01 (diff) | |
Merge davem@nuts.ninka.net:/home/davem/src/BK/sparc-2.5
into kernel.bkbits.net:/home/davem/sparc-2.5
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-i386/msr.h | 84 | ||||
| -rw-r--r-- | include/linux/oprofile.h | 23 | ||||
| -rw-r--r-- | include/linux/sched.h | 3 |
3 files changed, 98 insertions, 12 deletions
diff --git a/include/asm-i386/msr.h b/include/asm-i386/msr.h index 6e7572e46d1f..a87fcba929f1 100644 --- a/include/asm-i386/msr.h +++ b/include/asm-i386/msr.h @@ -93,6 +93,90 @@ #define MSR_IA32_MC0_ADDR 0x402 #define MSR_IA32_MC0_MISC 0x403 +/* Pentium IV performance counter MSRs */ +#define MSR_P4_BPU_PERFCTR0 0x300 +#define MSR_P4_BPU_PERFCTR1 0x301 +#define MSR_P4_BPU_PERFCTR2 0x302 +#define MSR_P4_BPU_PERFCTR3 0x303 +#define MSR_P4_MS_PERFCTR0 0x304 +#define MSR_P4_MS_PERFCTR1 0x305 +#define MSR_P4_MS_PERFCTR2 0x306 +#define MSR_P4_MS_PERFCTR3 0x307 +#define MSR_P4_FLAME_PERFCTR0 0x308 +#define MSR_P4_FLAME_PERFCTR1 0x309 +#define MSR_P4_FLAME_PERFCTR2 0x30a +#define MSR_P4_FLAME_PERFCTR3 0x30b +#define MSR_P4_IQ_PERFCTR0 0x30c +#define MSR_P4_IQ_PERFCTR1 0x30d +#define MSR_P4_IQ_PERFCTR2 0x30e +#define MSR_P4_IQ_PERFCTR3 0x30f +#define MSR_P4_IQ_PERFCTR4 0x310 +#define MSR_P4_IQ_PERFCTR5 0x311 +#define MSR_P4_BPU_CCCR0 0x360 +#define MSR_P4_BPU_CCCR1 0x361 +#define MSR_P4_BPU_CCCR2 0x362 +#define MSR_P4_BPU_CCCR3 0x363 +#define MSR_P4_MS_CCCR0 0x364 +#define MSR_P4_MS_CCCR1 0x365 +#define MSR_P4_MS_CCCR2 0x366 +#define MSR_P4_MS_CCCR3 0x367 +#define MSR_P4_FLAME_CCCR0 0x368 +#define MSR_P4_FLAME_CCCR1 0x369 +#define MSR_P4_FLAME_CCCR2 0x36a +#define MSR_P4_FLAME_CCCR3 0x36b +#define MSR_P4_IQ_CCCR0 0x36c +#define MSR_P4_IQ_CCCR1 0x36d +#define MSR_P4_IQ_CCCR2 0x36e +#define MSR_P4_IQ_CCCR3 0x36f +#define MSR_P4_IQ_CCCR4 0x370 +#define MSR_P4_IQ_CCCR5 0x371 +#define MSR_P4_ALF_ESCR0 0x3ca +#define MSR_P4_ALF_ESCR1 0x3cb +#define MSR_P4_BPU_ESCR0 0x3b2 +#define MSR_P4_BPU_ESCR1 0x3b3 +#define MSR_P4_BSU_ESCR0 0x3a0 +#define MSR_P4_BSU_ESCR1 0x3a1 +#define MSR_P4_CRU_ESCR0 0x3b8 +#define MSR_P4_CRU_ESCR1 0x3b9 +#define MSR_P4_CRU_ESCR2 0x3cc +#define MSR_P4_CRU_ESCR3 0x3cd +#define MSR_P4_CRU_ESCR4 0x3e0 +#define MSR_P4_CRU_ESCR5 0x3e1 +#define MSR_P4_DAC_ESCR0 0x3a8 +#define MSR_P4_DAC_ESCR1 0x3a9 +#define MSR_P4_FIRM_ESCR0 0x3a4 +#define MSR_P4_FIRM_ESCR1 0x3a5 +#define MSR_P4_FLAME_ESCR0 0x3a6 +#define MSR_P4_FLAME_ESCR1 0x3a7 +#define MSR_P4_FSB_ESCR0 0x3a2 +#define MSR_P4_FSB_ESCR1 0x3a3 +#define MSR_P4_IQ_ESCR0 0x3ba +#define MSR_P4_IQ_ESCR1 0x3bb +#define MSR_P4_IS_ESCR0 0x3b4 +#define MSR_P4_IS_ESCR1 0x3b5 +#define MSR_P4_ITLB_ESCR0 0x3b6 +#define MSR_P4_ITLB_ESCR1 0x3b7 +#define MSR_P4_IX_ESCR0 0x3c8 +#define MSR_P4_IX_ESCR1 0x3c9 +#define MSR_P4_MOB_ESCR0 0x3aa +#define MSR_P4_MOB_ESCR1 0x3ab +#define MSR_P4_MS_ESCR0 0x3c0 +#define MSR_P4_MS_ESCR1 0x3c1 +#define MSR_P4_PMH_ESCR0 0x3ac +#define MSR_P4_PMH_ESCR1 0x3ad +#define MSR_P4_RAT_ESCR0 0x3bc +#define MSR_P4_RAT_ESCR1 0x3bd +#define MSR_P4_SAAT_ESCR0 0x3ae +#define MSR_P4_SAAT_ESCR1 0x3af +#define MSR_P4_SSU_ESCR0 0x3be +#define MSR_P4_SSU_ESCR1 0x3bf /* guess: not defined in manual */ +#define MSR_P4_TBPU_ESCR0 0x3c2 +#define MSR_P4_TBPU_ESCR1 0x3c3 +#define MSR_P4_TC_ESCR0 0x3c4 +#define MSR_P4_TC_ESCR1 0x3c5 +#define MSR_P4_U2L_ESCR0 0x3b0 +#define MSR_P4_U2L_ESCR1 0x3b1 + /* AMD Defined MSRs */ #define MSR_K6_EFER 0xC0000080 #define MSR_K6_STAR 0xC0000081 diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h index 8e7422a320ed..5d906c21103f 100644 --- a/include/linux/oprofile.h +++ b/include/linux/oprofile.h @@ -21,14 +21,6 @@ struct super_block; struct dentry; struct file_operations; -enum oprofile_cpu { - OPROFILE_CPU_PPRO, - OPROFILE_CPU_PII, - OPROFILE_CPU_PIII, - OPROFILE_CPU_ATHLON, - OPROFILE_CPU_TIMER -}; - /* Operations structure to be filled in */ struct oprofile_operations { /* create any necessary configuration files in the oprofile fs. @@ -42,20 +34,23 @@ struct oprofile_operations { int (*start)(void); /* Stop delivering interrupts. */ void (*stop)(void); + /* CPU identification string. */ + char * cpu_type; }; /** * One-time initialisation. *ops must be set to a filled-in - * operations structure. oprofile_cpu_type must be set. + * operations structure. * Return 0 on success. */ -int oprofile_arch_init(struct oprofile_operations ** ops, enum oprofile_cpu * cpu); +int oprofile_arch_init(struct oprofile_operations ** ops); /** * Add a sample. This may be called from any context. Pass * smp_processor_id() as cpu. */ -extern void oprofile_add_sample(unsigned long eip, unsigned long event, int cpu); +extern void oprofile_add_sample(unsigned long eip, unsigned int is_kernel, + unsigned long event, int cpu); /** * Create a file of the given name as a child of the given root, with @@ -81,6 +76,12 @@ struct dentry * oprofilefs_mkdir(struct super_block * sb, struct dentry * root, char const * name); /** + * Write the given asciz string to the given user buffer @buf, updating *offset + * appropriately. Returns bytes written or -EFAULT. + */ +ssize_t oprofilefs_str_to_user(char const * str, char * buf, size_t count, loff_t * offset); + +/** * Convert an unsigned long value into ASCII and copy it to the user buffer @buf, * updating *offset appropriately. Returns bytes written or -EFAULT. */ diff --git a/include/linux/sched.h b/include/linux/sched.h index b99d2eb57a82..5432eb4765fc 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -616,7 +616,8 @@ extern void __exit_sighand(struct task_struct *); extern NORET_TYPE void do_group_exit(int); extern void reparent_to_init(void); -extern void daemonize(void); +extern void daemonize(const char *, ...); +extern int allow_signal(int); extern task_t *child_reaper; extern int do_execve(char *, char **, char **, struct pt_regs *); |
