2 #include "../port/lib.h"
24 if((cp = getconf("*nomp")) != nil && strtol(cp, 0, 0) != 0)
27 if (cp = getconf("*ncpu")) {
28 ncpu = strtol(cp, 0, 0);
33 for (i = 1; i < ncpu; i++) {
34 sprint(node, "cpu/%d/availability", i);
35 if (xenstore_read(node, buf, sizeof buf) <= 0)
37 print("%s: %s\n", node, buf);
38 if (strcmp(buf, "online") == 0) {
44 print("Sorry, SMP not supported yet: 1 of %lud CPUs startd\n", conf.nmach);
52 HYPERVISOR_shutdown(1);
55 extern int xenintrassign(Vctl *v);
56 extern void xentimerinit(void);
57 extern void xentimerenable(void);
58 extern uvlong xentimerread(uvlong*);
59 extern void xentimerset(uvlong);
66 .intrassign= xenintrassign,
67 .clockinit= xentimerinit,
68 .clockenable= xentimerenable,
69 .fastclock= xentimerread,
70 .timerset= xentimerset,
74 * Placeholders to satisfy external references in devarch.c
76 ulong getcr4(void) { return 0; }
78 int inb(int) { return 0; }
79 ushort ins(int) { return 0; }
80 ulong inl(int) { return 0; }
81 void outb(int, int) {}
82 void outs(int, ushort) {}
83 void outl(int, ulong) {}
85 int mtrrprint(char*, long) { return 0; }
86 char* mtrr(uvlong, uvlong, char *) { return nil; }
87 void mtrrsync(void) {}