Lines Matching full:time

22 #include <linux/time-internal.h>
47 panic("time-travel: time goes backwards %lld -> %lld\n", in time_travel_set_time()
89 panic("time-travel external link is broken\n"); in time_travel_handle_message()
91 panic("invalid time-travel message - %d bytes\n", ret); in time_travel_handle_message()
95 WARN_ONCE(1, "time-travel: unexpected message %lld\n", in time_travel_handle_message()
101 time_travel_set_time(msg->time); in time_travel_handle_message()
105 time_travel_ext_free_until = msg->time; in time_travel_handle_message()
113 static u64 time_travel_ext_req(u32 op, u64 time) in time_travel_ext_req() argument
119 .time = time, in time_travel_ext_req()
133 * current time (for UM_TIMETRAVEL_GET) and getting another in time_travel_ext_req()
134 * ACK without a time would confuse us a lot! in time_travel_ext_req()
146 panic("time-travel: ACK message has different seqno! op=%d, seq=%d != %d time=%lld\n", in time_travel_ext_req()
147 msg.op, msg.seq, mseq, msg.time); in time_travel_ext_req()
150 time_travel_set_time(msg.time); in time_travel_ext_req()
153 return msg.time; in time_travel_ext_req()
173 static void time_travel_ext_update_request(unsigned long long time) in time_travel_ext_update_request() argument
178 /* asked for exactly this time previously */ in time_travel_ext_update_request()
180 time == time_travel_ext_prev_request) in time_travel_ext_update_request()
183 time_travel_ext_prev_request = time; in time_travel_ext_update_request()
185 time_travel_ext_req(UM_TIMETRAVEL_REQUEST, time); in time_travel_ext_update_request()
195 static bool time_travel_ext_request(unsigned long long time) in time_travel_ext_request() argument
203 time < time_travel_ext_free_until) in time_travel_ext_request()
206 time_travel_ext_update_request(time); in time_travel_ext_request()
258 unsigned long long time) in __time_travel_add_event() argument
272 e->time = time; in __time_travel_add_event()
276 * Add the new entry before one with higher time, in __time_travel_add_event()
282 if ((tmp->time > e->time) || in __time_travel_add_event()
283 (tmp->time == e->time && tmp->onstack && e->onstack)) { in __time_travel_add_event()
294 time_travel_ext_update_request(tmp->time); in __time_travel_add_event()
295 time_travel_next_event = tmp->time; in __time_travel_add_event()
299 unsigned long long time) in time_travel_add_event() argument
304 __time_travel_add_event(e, time); in time_travel_add_event()
357 __time_travel_update_time(e->time, idle); in time_travel_update_time()
362 BUG_ON(time_travel_time != e->time); in time_travel_update_time()
368 panic("On-stack event dequeued outside of the stack! time=%lld, event time=%lld, event=%pS\n", in time_travel_update_time()
369 time_travel_time, e->time, e); in time_travel_update_time()
376 time_travel_ext_update_request(e->time); in time_travel_update_time()
396 * same time (again) to run the interrupt... in time_travel_add_irq_event()
425 os_timer_one_shot(time_travel_timer_event.time - next); in time_travel_sleep()
461 panic("time-travel: invalid external ID in string '%s'\n", in time_travel_connect_external()
471 panic("time-travel: failed to connect to external socket %s\n", in time_travel_connect_external()
500 extern u64 time_travel_ext_req(u32 op, u64 time);
503 #define time_travel_add_event(e, time) do { } while (0) argument
512 * In basic time-travel mode we still get real interrupts in timer_handler()
513 * (signals) but since we don't read time from the OS, we in timer_handler()
514 * must update the simulated time here to the expiry when in timer_handler()
621 * stuck in loops that expect time to move more than the in timer_read()
706 timer_clockevent.name = "time-travel-timer-infcpu"; in setup_time_travel()
707 timer_clocksource.name = "time-travel-clock"; in setup_time_travel()
713 timer_clockevent.name = "time-travel-timer-external"; in setup_time_travel()
714 timer_clocksource.name = "time-travel-clock-external"; in setup_time_travel()
720 timer_clockevent.name = "time-travel-timer"; in setup_time_travel()
721 timer_clocksource.name = "time-travel-clock"; in setup_time_travel()
728 __setup("time-travel", setup_time_travel);
730 "time-travel\n"
731 "This option just enables basic time travel mode, in which the clock/timers\n"
733 "waiting for real time to elapse. However, instance CPU speed is limited by\n"
737 "time-travel=inf-cpu\n"
738 "This enables time travel mode with infinite processing power, in which there\n"
744 "time-travel=ext:[ID:]/path/to/socket\n"
745 "This enables time travel mode similar to =inf-cpu, except the system will\n"
747 "have more than one system simultaneously be on simulated time. The virtio\n"
764 __setup("time-travel-start", setup_time_travel_start);
766 "time-travel-start=<seconds>\n"
768 "the host's wall clock at the time of UML boot.\n");