diff --git a/_pages/events/isca-2020.md b/_pages/events/isca-2020.md
index 3e12fad..ec2b98b 100644
--- a/_pages/events/isca-2020.md
+++ b/_pages/events/isca-2020.md
@@ -94,97 +94,3 @@
 |1400 -- 1420 | Introduction and gem5-20     | Jason Lowe-Power  |
 |1420 -- 1450 | General gem5 discussion      | Jason Lowe-Power  |
 |1450 --      | Other discussions to be announced soon |  |
-
-### Call for presentations
-
-The gem5 community is excited to announce the 3rd gem5 Users’ workshop held in conjunction with ISCA 2020 in Valencia, Spain. The goal of the workshop is to provide a forum to discuss what is going on in the community, how we can best leverage each other's contributions, and how we can continue to make gem5 a successful community-supported simulation framework. The workshop will be a half day in the afternoon of May 30.
-
-The workshop will follow a half-day ["Learning gem5" tutorial](https://www.gem5.org/events/isca-2020).
-
-The workshop will include a keynote presentation "RE-gem5 and gem5-20: Past, Present, and Future of the gem5 Community Infrastructure."
-
-We invite the gem5 community to submit abstracts (1-2 paragraphs) for short presentations. The scope of this workshop is broadly the gem5 user and development community. Topics of interest include:
-
-* New features added to gem5
-* New models added to gem5
-* Extensions and integrations with other simulators
-* Experience using gem5
-* Validation of gem5 models
-
-We encourage accepted presentations to post a full paper to arXiv or other archival repository in order to give other users a citable source for your contribution. These sources may be cited in future gem5 release notes.
-
-Please submit your abstracts via this [Google Form](https://forms.gle/UnpFXRvpLEFKJBb46). The deadline to submit an abstract is April 10th and we will send notifications by April 14th before the ISCA early registration deadline (April 16th). Due to the close proximity to other deadlines/conferences and the early registration deadline, there will not be any extension.
-
-Form for abstract submission: <https://forms.gle/UnpFXRvpLEFKJBb46>
-
-More information can be found on the gem5 website: <https://www.gem5.org/events/isca-2020>
-Looking forward to seeing you in Valencia!
-
-## COVID-19 Update April 8th
-
-ISCA is going to be taking place virtually due to the COVID-19 pandemic. See <https://iscaconf.org/isca2020/> for more information.
-On the plus side, we believe this will make the gem5 workshop more inclusive! Rather than limiting attendees to those that can travel to Valencia, anyone will be able to participate!
-We are making the following changes to the original call for participation:
-
-1. The deadline for submitting an abstract is now May 1st. You can still use the following link to submit an abstract: <https://forms.gle/UnpFXRvpLEFKJBb46>
-2. For accepted abstracts, you will be able to produce a short video and a blog post for the gem5 blog. In the week leading up to the workshop, we will advertise all of the accepted works.
-3. We will hold a synchronous virtual Q&A session (or sessions) during the week of June 1st (the original time when ISCA was scheduled). During these session(s), we will ask the authors of the accepted works to attend to encourage discussion with the broader gem5 community. Specific times for these will be announced soon. We will work with the community to choose a time that is inclusive to those in different time zones.
-
-## gem5 Workshop and Tutorial with ISCA 2020
-
-In conjunction with [ISCA 2020](https://www.iscaconf.org/isca2020/), we will be holding a [gem5 Tutorial](#learning-gem5-tutorial) and [Workshop](#3rd-gem5-users-workshop-afternoon) on May 30th in Valencia, Spain.
-In the morning, we will be running a Learning gem5 Tutorial, and in the afternoon we will have a gem5 users' workshop.
-The workshop will begin with a keynote detailing the recent changes in gem5 and announcing the first stable version of gem5, gem5-20.
-The workshop will also include a number of community-contributed talks.
-[See below](#call-for-presentations) for details on how to submit an abstract for a talk.
-
-*Note: You are not required to register for ISCA to register for this workshop.*
-~~We hope to see you in Valencia!~~
-
-## Learning gem5 Tutorial
-
-**Postponed due to virtulization of ISCA.**
-We are planning to hold an online class this summer.
-Stay tuned and subscribe to the [gem5-users](https://lists.gem5.org/postorius/lists/gem5-users.gem5.org/) and [gem5-announce](https://lists.gem5.org/postorius/lists/gem5-announce.gem5.org/) mailing list for more information.
-
-This tutorial builds off of [Learning gem5](/documentation/learning_gem5/introduction) and will introduce architecture researchers to the inner workings of gem5.
-The goal of the tutorial is not to introduce attendees to every feature of gem5, but to give them a framework to succeed when using gem5 in their future research.
-
-This tutorial is perfect for beginning graduate students or other computer architecture researchers to get started using one of the architecture communities most popular tool.
-
-### Preparing for the tutorial
-
-To get the most out of this tutorial, you are encouraged to bring a laptop to work along. This will be an interactive tutorial, with many coding examples. Additionally, by bringing a laptop, you will be able to easily participate in the afternoon coding sprint.
-
-While this tutorial is appropriate for you even if you've never used gem5 before, you'll get more out of it if you familiarize yourself with gem5 before coming. Specifically, by downloading gem5 and making sure it builds on your system you will save yourself a lot of time. Reading and completing the [first chapter from Learning gem5](http://www.gem5.org/documentation/learning_gem5/part1/building/) before coming to the tutorial is strongly encouraged.
-
-### Audience
-
-The primary audience is computer architecture researchers that wish to learn how to use gem5, one of the architecture communities most popular and powerful simulators
-This includes junior computer architecture researchers (e.g., first or second year graduate students) who are planning on using gem5 for future architecture research.
-We also invite others who want a high-level idea of how gem5 works and its applicability to architecture research.
-
-## Schedule
-
-### Learning gem5 8:30 – 10:00
-
-* What is gem5 and history
-* Getting started with gem5
-  * Overall (software) architecture of gem5
-  * Compiling gem5
-  * Simple introduction script
-  * First time running gem5
-  * Interpreting gem5's output
-  * Simple assembly example to show debug trace of everything
-* Extending gem5
-  * Structure of C++ code
-  * Writing a simple SimObject
-* BREAK
-  * Discrete event simulation programming
-  * SimObject parameters
-  * gem5 memory system
-  * Overview of simple cache implementation
-* Quick overview of other gem5 topics
-  * Overview of full system simulation
-  * Briefly gem5's other features
-  * gem5 limitations
