Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/um/include/linux/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  time-internal.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright (C) 2012 - 2014 Cisco Systems
 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
 */


#ifndef __TIMER_INTERNAL_H__
#define __TIMER_INTERNAL_H__
#include <linux/list.h>
#include <asm/bug.h>
#include <shared/timetravel.h>

#define TIMER_MULTIPLIER 256
#define TIMER_MIN_DELTA  500

#ifdef CONFIG_UML_TIME_TRAVEL_SUPPORT
struct time_travel_event {
 unsigned long long time;
 void (*fn)(struct time_travel_event *d);
 struct list_head list;
 bool pending, onstack;
};

void time_travel_sleep(void);

static inline void
time_travel_set_event_fn(struct time_travel_event *e,
    void (*fn)(struct time_travel_event *d))
{
 e->fn = fn;
}

void __time_travel_propagate_time(void);

static inline void time_travel_propagate_time(void)
{
 if (time_travel_mode == TT_MODE_EXTERNAL)
  __time_travel_propagate_time();
}

void __time_travel_wait_readable(int fd);

static inline void time_travel_wait_readable(int fd)
{
 if (time_travel_mode == TT_MODE_EXTERNAL)
  __time_travel_wait_readable(fd);
}

void time_travel_add_irq_event(struct time_travel_event *e);
void time_travel_add_event_rel(struct time_travel_event *e,
          unsigned long long delay_ns);
bool time_travel_del_event(struct time_travel_event *e);
#else
struct time_travel_event {
};

static inline void time_travel_sleep(void)
{
}

/* this is a macro so the event/function need not exist */
#define time_travel_set_event_fn(e, fn) do {} while (0)

static inline void time_travel_propagate_time(void)
{
}

static inline void time_travel_wait_readable(int fd)
{
}

static inline void time_travel_add_irq_event(struct time_travel_event *e)
{
 WARN_ON(1);
}

/*
 * not inlines so the data structure need not exist,
 * cause linker failures
 */

extern void time_travel_not_configured(void);
#define time_travel_add_event_rel(...) time_travel_not_configured()
#define time_travel_del_event(...) time_travel_not_configured()
#endif /* CONFIG_UML_TIME_TRAVEL_SUPPORT */

extern unsigned long tt_extra_sched_jiffies;

/*
 * Without CONFIG_UML_TIME_TRAVEL_SUPPORT this is a linker error if used,
 * which is intentional since we really shouldn't link it in that case.
 */

void time_travel_ndelay(unsigned long nsec);
#endif /* __TIMER_INTERNAL_H__ */

Messung V0.5
C=98 H=97 G=97

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.