parlib: have 2LS libraries #include parlib/stdio.h
authorBarret Rhoden <brho@cs.berkeley.edu>
Thu, 11 Apr 2019 21:06:06 +0000 (17:06 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 11 Apr 2019 21:13:44 +0000 (17:13 -0400)
For painful reasons, if you call any functions related to printf from
vcore context or from a uthread with notifs disabled, you need to use
our special fprintf macros.  You get those via parlib/stdio.h, which
also #includes the real stdio.h.

Most code that this could happen to come from parlib, pthread, or vmm.
This commit just changes all of their headers to include parlib/stdio.h.

This is far from the best approach, but it stops the bleeding.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
39 files changed:
user/parlib/alarm.c
user/parlib/ceq.c
user/parlib/core_set.c
user/parlib/debug.c
user/parlib/hexdump.c
user/parlib/include/parlib/riscv/bitmask.h
user/parlib/net.c
user/parlib/opts.c
user/parlib/printf-ext.c
user/parlib/pvcalarm.c
user/parlib/signal.c
user/parlib/slab.c
user/parlib/sysinfo.c
user/parlib/timing.c
user/parlib/ucq.c
user/parlib/vcore.c
user/pthread/futex.c
user/pthread/pthread.c
user/pthread/semaphore.c
user/vmm/apic.c
user/vmm/biostables.c
user/vmm/coreboot_table.c
user/vmm/decode.c
user/vmm/include/vmm/util.h
user/vmm/initrd.c
user/vmm/io.c
user/vmm/ioapic.c
user/vmm/linuxemu.c
user/vmm/load_elf.c
user/vmm/memory.c
user/vmm/nat.c
user/vmm/pagetables.c
user/vmm/util.c
user/vmm/virtio_blk.c
user/vmm/virtio_mmio.c
user/vmm/virtio_net.c
user/vmm/vmexit.c
user/vmm/vmx.c
user/vmm/vmxmsr.c

index cf678a1..c890dfb 100644 (file)
@@ -25,7 +25,6 @@
 #include <sys/queue.h>
 #include <sys/time.h>
 #include <parlib/alarm.h>
-#include <stdio.h>
 #include <parlib/assert.h>
 #include <parlib/stdio.h>
 #include <stdlib.h>
index cdc9d49..3ea5cf7 100644 (file)
@@ -26,8 +26,8 @@
 #include <parlib/vcore.h>
 #include <parlib/assert.h>
 #include <parlib/spinlock.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
-#include <stdio.h>
 #include <sys/mman.h>
 
 void ceq_init(struct ceq *ceq, uint8_t op, unsigned int nr_events,
index 8cb32ea..acb02cf 100644 (file)
@@ -9,13 +9,13 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <stdint.h>
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <limits.h>
 #include <unistd.h>
 #include <parlib/parlib.h>
 #include <parlib/core_set.h>
+#include <parlib/stdio.h>
 
 static const unsigned int llcores[] = {
        0
index e4d1a32..98b8eb7 100644 (file)
@@ -2,7 +2,6 @@
 #include <parlib/assert.h>
 #include <parlib/stdio.h>
 #include <parlib/parlib.h>
-#include <stdio.h>
 #include <unistd.h>
 #include <parlib/spinlock.h>
 #include <ros/common.h>
index f6c0f9f..0f3bdbf 100644 (file)
@@ -22,7 +22,7 @@
 
 
 #include <stdlib.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <unistd.h>
 
 static int isprint(int c)
index aa4c39c..46b31aa 100644 (file)
@@ -4,7 +4,7 @@
 #include <sys/types.h>
 #include <sys/param.h>
 #include <parlib/arch/atomic.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 
 __BEGIN_DECLS
 
index 1a084ca..6ce6048 100644 (file)
@@ -5,7 +5,7 @@
  * Networking helpers for dealing with the plan 9 interface. */
 
 #include <stdlib.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <string.h>
 #include <unistd.h>
 #include <parlib/assert.h>
index 2c97a17..a75aba2 100644 (file)
@@ -5,7 +5,7 @@
  * Various option parsing utility functions. */
 
 #include <parlib/opts.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <errno.h>
 #include <string.h>
 #include <ctype.h>
index bb51f5d..f0e324d 100644 (file)
@@ -36,7 +36,7 @@
  * SOFTWARE. */
 
 #include <parlib/printf-ext.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <string.h>
 #include <errno.h>
 #include <stdlib.h>
index 3609134..1766daf 100644 (file)
@@ -5,7 +5,7 @@
 #include <stdint.h>
 #include <stdbool.h>
 #include <stdlib.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <errno.h>
 #include <parlib/parlib.h>
 #include <parlib/vcore.h>
index 4fee3fe..2918903 100644 (file)
@@ -27,7 +27,6 @@
 // Needed for sigmask functions...
 #define _GNU_SOURCE
 
-#include <stdio.h>
 #include <parlib/parlib.h>
 #include <parlib/signal.h>
 #include <parlib/uthread.h>
index 385e2bb..d869d82 100644 (file)
@@ -13,7 +13,6 @@
  * Ported directly from the kernel's slab allocator. */
 
 #include <parlib/slab.h>
-#include <stdio.h>
 #include <parlib/assert.h>
 #include <parlib/parlib.h>
 #include <parlib/stdio.h>
index 50ff1dc..9beaac5 100644 (file)
@@ -4,7 +4,7 @@
  *
  * Helper functions to query information about the system. */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
 #include <sys/types.h>
index d58bb8d..a9ed09b 100644 (file)
@@ -2,7 +2,7 @@
 #include <parlib/common.h>
 #include <parlib/timing.h>
 #include <ros/procinfo.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 
 uint64_t udelay(uint64_t usec)
 {
index b439fc0..82bddec 100644 (file)
@@ -13,7 +13,6 @@
 #include <sys/mman.h>
 #include <parlib/assert.h>
 #include <parlib/stdio.h>
-#include <stdio.h>
 #include <stdlib.h>
 #include <parlib/vcore.h>
 #include <parlib/ros_debug.h> /* for printd() */
index 2adf8ef..9b7bf68 100644 (file)
@@ -8,7 +8,6 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/mman.h>
-#include <stdio.h>
 #include <parlib/event.h>
 #include <parlib/uthread.h>
 #include <parlib/ucq.h>
index 300b310..67332fa 100644 (file)
@@ -4,7 +4,7 @@
 #include <parlib/uthread.h>
 #include <parlib/parlib.h>
 #include <parlib/assert.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <errno.h>
 #include <parlib/slab.h>
 #include <parlib/mcs.h>
index 0e635e5..cefb965 100644 (file)
@@ -5,7 +5,6 @@
 #include <stdlib.h>
 #include <string.h>
 #include <parlib/assert.h>
-#include <stdio.h>
 #include <errno.h>
 #include <parlib/parlib.h>
 #include <ros/event.h>
index 96ee4cf..12c2bbb 100644 (file)
@@ -1,7 +1,7 @@
 #include <parlib/uthread.h>
 #include <parlib/assert.h>
 #include <semaphore.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <errno.h>
 
 int sem_init(sem_t *__sem, int __pshared, unsigned int __value)
index 169e1da..78a9930 100644 (file)
@@ -6,7 +6,7 @@
  * See LICENSE for details.
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index 4b3a5c6..009e296 100644 (file)
@@ -3,7 +3,7 @@
  *
  * ACPI setup. */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <sys/fcntl.h>
 #include <sys/mman.h>
index 9b13d6f..044b6f4 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
  * MA 02110-1301 USA
  */
+
 #include <parlib/common.h>
+#include <parlib/stdio.h>
 
-#include <stdio.h>
 #include <stdarg.h>
 #include <string.h>
 #include <vmm/coreboot_tables.h>
index 614e4d9..d0a0dff 100644 (file)
@@ -16,7 +16,7 @@
  * See COPYING for details on the GNU General Public License.
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index 901bd51..7a29c60 100644 (file)
@@ -7,7 +7,7 @@
 #pragma once
 
 #include <vmm/sched.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 
 /* Test for alignment, e.g. 2^6 */
 #define ALIGNED(p, a)  (!(((uintptr_t)(p)) & ((a)-1)))
index 4d4140d..9fce51b 100644 (file)
@@ -3,7 +3,7 @@
  *
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/stat.h>
index 34e9253..d46fe80 100644 (file)
@@ -1,4 +1,4 @@
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index 4f86ea0..9111d0c 100644 (file)
@@ -6,7 +6,7 @@
  * See LICENSE for details.
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index bf703ed..a495835 100644 (file)
@@ -5,7 +5,7 @@
 
 #include <sys/stat.h>
 #include <sys/types.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
index a88b597..b9bc612 100644 (file)
@@ -3,7 +3,7 @@
  *
  * ELF loading. */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <fcntl.h>
 #include <unistd.h>
 #include <libelf.h>
index 25c9c4c..27d9e06 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Memory, paging, e820, bootparams and other helpers */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <sys/mman.h>
 #include <ros/arch/mmu.h>
index f8a1fd1..1a837df 100644 (file)
 #include <parlib/kref.h>
 
 #include <stdlib.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <string.h>
 #include <unistd.h>
 #include <assert.h>
index 7e6707d..5351ece 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Set up paging, using the minphys and maxphys in the vm struct. */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <sys/mman.h>
 #include <ros/arch/mmu.h>
index 4b09033..1a5d565 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Utility functions. */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <string.h>
 #include <stdlib.h>
 #include <unistd.h>
index b031886..b335000 100644 (file)
@@ -1,6 +1,6 @@
 #define _LARGEFILE64_SOURCE /* See feature_test_macros(7) */
 #include <fcntl.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <stdlib.h>
 #include <sys/stat.h>
 #include <sys/types.h>
index 477aac8..6e91816 100644 (file)
@@ -37,7 +37,7 @@
  * TODO: This needs major refactoring/reformatting.
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <string.h>
 #include <unistd.h>
 #include <sys/eventfd.h>
index 96ef5e6..9534f19 100644 (file)
@@ -27,7 +27,7 @@
 
 #include <stdlib.h>
 #include <unistd.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <fcntl.h>
 #include <vmm/virtio.h>
 #include <vmm/virtio_mmio.h>
index 22832f9..0cbff79 100644 (file)
@@ -10,7 +10,7 @@
 #include <vmm/vmm.h>
 #include <parlib/arch/trap.h>
 #include <parlib/bitmask.h>
-#include <stdio.h>
+#include <parlib/stdio.h>
 
 static bool pir_notif_is_set(struct vmm_gpcore_init *gpci)
 {
index 75c602d..7be527d 100644 (file)
@@ -1,4 +1,4 @@
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>
index 9c8e982..67f7032 100644 (file)
@@ -6,7 +6,7 @@
  * See LICENSE for details.
  */
 
-#include <stdio.h>
+#include <parlib/stdio.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <fcntl.h>