cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

a-b-bios.c (865B)


      1/*
      2 * S390 guest code used in migration tests
      3 *
      4 * Copyright 2018 Thomas Huth, Red Hat Inc.
      5 *
      6 * This code is free software; you can redistribute it and/or modify it
      7 * under the terms of the GNU General Public License as published by the
      8 * Free Software Foundation; either version 2 of the License, or (at your
      9 * option) any later version.
     10 */
     11
     12#define LOADPARM_LEN 8  /* Needed for sclp.h */
     13
     14#include <libc.h>
     15#include <s390-ccw.h>
     16#include <sclp.h>
     17
     18char stack[0x8000] __attribute__((aligned(4096)));
     19
     20#define START_ADDRESS  (1024 * 1024)
     21#define END_ADDRESS    (100 * 1024 * 1024)
     22
     23void main(void)
     24{
     25    unsigned long addr;
     26
     27    sclp_setup();
     28    sclp_print("A");
     29
     30    while (1) {
     31        for (addr = START_ADDRESS; addr < END_ADDRESS; addr += 4096) {
     32            *(volatile char *)addr += 1;  /* Change pages */
     33        }
     34        sclp_print("B");
     35    }
     36}