Rev 2071 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2071 | Rev 3844 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | { |
53 | { |
54 | chardev_initialize("xen_out", &xen_console, &xen_ops); |
54 | chardev_initialize("xen_out", &xen_console, &xen_ops); |
55 | stdout = &xen_console; |
55 | stdout = &xen_console; |
56 | } |
56 | } |
57 | 57 | ||
58 | void xen_putchar(chardev_t *d, const char ch) |
58 | void xen_putchar(chardev_t *d, const char ch, bool silent) |
59 | { |
59 | { |
- | 60 | if (!silent) { |
|
60 | if (start_info.console.domU.evtchn != 0) { |
61 | if (start_info.console.domU.evtchn != 0) { |
61 | uint32_t cons = console_page.out_cons; |
62 | uint32_t cons = console_page.out_cons; |
62 | uint32_t prod = console_page.out_prod; |
63 | uint32_t prod = console_page.out_prod; |
63 | 64 | ||
64 | memory_barrier(); |
65 | memory_barrier(); |
Line 76... | Line 77... | ||
76 | 77 | ||
77 | xen_notify_remote(start_info.console.domU.evtchn); |
78 | xen_notify_remote(start_info.console.domU.evtchn); |
78 | } else |
79 | } else |
79 | xen_console_io(CONSOLE_IO_WRITE, 1, &ch); |
80 | xen_console_io(CONSOLE_IO_WRITE, 1, &ch); |
80 | } |
81 | } |
- | 82 | } |
|
81 | 83 | ||
82 | /** @} |
84 | /** @} |
83 | */ |
85 | */ |