aboutsummaryrefslogtreecommitdiffstats
path: root/tests/errors/syntax_err12.v
blob: f9b5d5b0b1fce0336f9c769388f57dec5614ee35 (plain)
1
2
3
4
5
6
7
interface iface;
endinterface

module a (
  iface x = 1'b0
);
endmodule
ring.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 * Precise Delay Loops for i386
 *
 * Copyright (C) 1993 Linus Torvalds
 * Copyright (C) 1997 Martin Mares <mj@atrey.karlin.mff.cuni.cz>
 *
 * The __delay function must _NOT_ be inlined as its execution time
 * depends wildly on alignment on many x86 processors. The additional
 * jump magic is needed to get the timing stable on all the CPU's
 * we have to worry about.
 */

#include <xen/config.h>
#include <xen/delay.h>
#include <xen/time.h>
#include <asm/msr.h>
#include <asm/processor.h>

void __udelay(unsigned long usecs)
{
    unsigned long ticks = usecs * (cpu_khz / 1000);
    unsigned long s, e;

    rdtscl(s);
    do
    {
        rep_nop();
        rdtscl(e);
    } while ((e-s) < ticks);
}