110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/**
210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @file opd_interface.h
310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project *
410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Module / user space interface for 2.6 kernels and above
510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project *
610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @remark Copyright 2002 OProfile authors
710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @remark Read the file COPYING
810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project *
910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @author John Levon
1010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * @author Philippe Elie
1110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Modified by Aravind Menon for Xen
1210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * These modifications are:
1310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Copyright (C) 2005 Hewlett-Packard Co.
1410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */
1510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project
1610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#ifndef OPD_INTERFACE_H
1710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define OPD_INTERFACE_H
1810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project
1910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define CTX_SWITCH_CODE			1
2010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define CPU_SWITCH_CODE			2
2110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define COOKIE_SWITCH_CODE		3
2210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define KERNEL_ENTER_SWITCH_CODE	4
2310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define USER_ENTER_SWITCH_CODE		5
2410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define MODULE_LOADED_CODE		6
2510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define CTX_TGID_CODE			7
2610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define TRACE_BEGIN_CODE		8
2710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/* Code 9 used to be TRACE_END_CODE which is not used anymore  */
2810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/* Code 9 is now considered an unknown escape code             */
2910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define XEN_ENTER_SWITCH_CODE		10
3010e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project/*
3110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * Ugly work-around for the unfortunate collision between Xenoprof's
3210e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * DOMAIN_SWITCH_CODE (in use on x86) and Cell's SPU_PROFILING_CODE
3310e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project * (in use with Power):
3410e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project */
3510e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#if defined(__powerpc__)
3610e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define SPU_PROFILING_CODE		11
3710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define SPU_CTX_SWITCH_CODE		12
3810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#else
3910e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#define DOMAIN_SWITCH_CODE		11
405a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng/* Code 12 is now considered an unknown escape code */
4110e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif
425a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng
435a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng/* AMD's Instruction-Based Sampling (IBS) escape code */
445a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#define IBS_FETCH_SAMPLE		13
455a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#define IBS_OP_SAMPLE			14
465a4eb4eb367eccd4b976d1feae96cea96d2c50f2Ben Cheng#define LAST_CODE			15
4710e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project
4810e23eebca4175a8dfe3a788b2bebacb1fcfce54The Android Open Source Project#endif /* OPD_INTERFACE_H */
49