summaryrefslogtreecommitdiffstats
path: root/src/daemon/main.c
diff options
context:
space:
mode:
authorArun Raghavan <arun.raghavan@collabora.co.uk>2010-09-14 15:21:49 +0530
committerArun Raghavan <arun.raghavan@collabora.co.uk>2010-09-23 17:17:03 +0530
commitab4223e9cffbc21399c0468dd89a2e57122fbfee (patch)
treef8111c47778ff5f8b0f42f0dd60cda7fb9193625 /src/daemon/main.c
parentffcf3c8a6c3f8a98eaa9bad5b9b573fa843da9cb (diff)
cpu: Add CPU information to pa_core
This retains CPU information (processor type and supported features) in pa_core, so that this information can be used by modules at init time to figure out what optimisations may be used.
Diffstat (limited to 'src/daemon/main.c')
-rw-r--r--src/daemon/main.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c
index 9bea2aee..0e7b54a5 100644
--- a/src/daemon/main.c
+++ b/src/daemon/main.c
@@ -934,11 +934,6 @@ int main(int argc, char *argv[]) {
pa_memtrap_install();
- if (!getenv("PULSE_NO_SIMD")) {
- pa_cpu_init_x86();
- pa_cpu_init_arm();
- }
-
pa_assert_se(mainloop = pa_mainloop_new());
if (!(c = pa_core_new(pa_mainloop_get_api(mainloop), !conf->disable_shm, conf->shm_size))) {
@@ -964,6 +959,14 @@ int main(int argc, char *argv[]) {
c->server_type = conf->local_server_type;
#endif
+ c->cpu_info.cpu_type = PA_CPU_UNDEFINED;
+ if (!getenv("PULSE_NO_SIMD")) {
+ if (pa_cpu_init_x86(&(c->cpu_info.flags.x86)))
+ c->cpu_info.cpu_type = PA_CPU_X86;
+ if (pa_cpu_init_arm(&(c->cpu_info.flags.arm)))
+ c->cpu_info.cpu_type = PA_CPU_ARM;
+ }
+
pa_assert_se(pa_signal_init(pa_mainloop_get_api(mainloop)) == 0);
pa_signal_new(SIGINT, signal_callback, c);
pa_signal_new(SIGTERM, signal_callback, c);