| This document provides background reading for memory models and related | 
 | tools.  These documents are aimed at kernel hackers who are interested | 
 | in memory models. | 
 |  | 
 |  | 
 | Hardware manuals and models | 
 | =========================== | 
 |  | 
 | o	SPARC International Inc. (Ed.). 1994. "The SPARC Architecture | 
 | 	Reference Manual Version 9". SPARC International Inc. | 
 |  | 
 | o	Compaq Computer Corporation (Ed.). 2002. "Alpha Architecture | 
 | 	Reference Manual".  Compaq Computer Corporation. | 
 |  | 
 | o	Intel Corporation (Ed.). 2002. "A Formal Specification of Intel | 
 | 	Itanium Processor Family Memory Ordering". Intel Corporation. | 
 |  | 
 | o	Intel Corporation (Ed.). 2002. "Intel 64 and IA-32 Architectures | 
 | 	Software Developer’s Manual". Intel Corporation. | 
 |  | 
 | o	Peter Sewell, Susmit Sarkar, Scott Owens, Francesco Zappa Nardelli, | 
 | 	and Magnus O. Myreen. 2010. "x86-TSO: A Rigorous and Usable | 
 | 	Programmer's Model for x86 Multiprocessors". Commun. ACM 53, 7 | 
 | 	(July, 2010), 89-97. http://doi.acm.org/10.1145/1785414.1785443 | 
 |  | 
 | o	IBM Corporation (Ed.). 2009. "Power ISA Version 2.06". IBM | 
 | 	Corporation. | 
 |  | 
 | o	ARM Ltd. (Ed.). 2009. "ARM Barrier Litmus Tests and Cookbook". | 
 | 	ARM Ltd. | 
 |  | 
 | o	Susmit Sarkar, Peter Sewell, Jade Alglave, Luc Maranget, and | 
 | 	Derek Williams.  2011. "Understanding POWER Multiprocessors". In | 
 | 	Proceedings of the 32Nd ACM SIGPLAN Conference on Programming | 
 | 	Language Design and Implementation (PLDI ’11). ACM, New York, | 
 | 	NY, USA, 175–186. | 
 |  | 
 | o	Susmit Sarkar, Kayvan Memarian, Scott Owens, Mark Batty, | 
 | 	Peter Sewell, Luc Maranget, Jade Alglave, and Derek Williams. | 
 | 	2012. "Synchronising C/C++ and POWER". In Proceedings of the 33rd | 
 | 	ACM SIGPLAN Conference on Programming Language Design and | 
 | 	Implementation (PLDI '12). ACM, New York, NY, USA, 311-322. | 
 |  | 
 | o	ARM Ltd. (Ed.). 2014. "ARM Architecture Reference Manual (ARMv8, | 
 | 	for ARMv8-A architecture profile)". ARM Ltd. | 
 |  | 
 | o	Imagination Technologies, LTD. 2015. "MIPS(R) Architecture | 
 | 	For Programmers, Volume II-A: The MIPS64(R) Instruction, | 
 | 	Set Reference Manual". Imagination Technologies, | 
 | 	LTD. https://imgtec.com/?do-download=4302. | 
 |  | 
 | o	Shaked Flur, Kathryn E. Gray, Christopher Pulte, Susmit | 
 | 	Sarkar, Ali Sezgin, Luc Maranget, Will Deacon, and Peter | 
 | 	Sewell. 2016. "Modelling the ARMv8 Architecture, Operationally: | 
 | 	Concurrency and ISA". In Proceedings of the 43rd Annual ACM | 
 | 	SIGPLAN-SIGACT Symposium on Principles of Programming Languages | 
 | 	(POPL ’16). ACM, New York, NY, USA, 608–621. | 
 |  | 
 | o	Shaked Flur, Susmit Sarkar, Christopher Pulte, Kyndylan Nienhuis, | 
 | 	Luc Maranget, Kathryn E. Gray, Ali Sezgin, Mark Batty, and Peter | 
 | 	Sewell. 2017. "Mixed-size Concurrency: ARM, POWER, C/C++11, | 
 | 	and SC". In Proceedings of the 44th ACM SIGPLAN Symposium on | 
 | 	Principles of Programming Languages (POPL 2017). ACM, New York, | 
 | 	NY, USA, 429–442. | 
 |  | 
 | o	Christopher Pulte, Shaked Flur, Will Deacon, Jon French, | 
 | 	Susmit Sarkar, and Peter Sewell. 2018. "Simplifying ARM concurrency: | 
 | 	multicopy-atomic axiomatic and operational models for ARMv8". In | 
 | 	Proceedings of the ACM on Programming Languages, Volume 2, Issue | 
 | 	POPL, Article No. 19. ACM, New York, NY, USA. | 
 |  | 
 |  | 
 | Linux-kernel memory model | 
 | ========================= | 
 |  | 
 | o	Jade Alglave, Will Deacon, Boqun Feng, David Howells, Daniel | 
 | 	Lustig, Luc Maranget, Paul E. McKenney, Andrea Parri, Nicholas | 
 | 	Piggin, Alan Stern, Akira Yokosawa, and Peter Zijlstra. | 
 | 	2019. "Calibrating your fear of big bad optimizing compilers" | 
 | 	Linux Weekly News.  https://lwn.net/Articles/799218/ | 
 |  | 
 | o	Jade Alglave, Will Deacon, Boqun Feng, David Howells, Daniel | 
 | 	Lustig, Luc Maranget, Paul E. McKenney, Andrea Parri, Nicholas | 
 | 	Piggin, Alan Stern, Akira Yokosawa, and Peter Zijlstra. | 
 | 	2019. "Who's afraid of a big bad optimizing compiler?" | 
 | 	Linux Weekly News.  https://lwn.net/Articles/793253/ | 
 |  | 
 | o	Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and | 
 | 	Alan Stern.  2018. "Frightening small children and disconcerting | 
 | 	grown-ups: Concurrency in the Linux kernel". In Proceedings of | 
 | 	the 23rd International Conference on Architectural Support for | 
 | 	Programming Languages and Operating Systems (ASPLOS 2018). ACM, | 
 | 	New York, NY, USA, 405-418.  Webpage: http://diy.inria.fr/linux/. | 
 |  | 
 | o	Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and | 
 | 	Alan Stern.  2017.  "A formal kernel memory-ordering model (part 1)" | 
 | 	Linux Weekly News.  https://lwn.net/Articles/718628/ | 
 |  | 
 | o	Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and | 
 | 	Alan Stern.  2017.  "A formal kernel memory-ordering model (part 2)" | 
 | 	Linux Weekly News.  https://lwn.net/Articles/720550/ | 
 |  | 
 | o	Jade Alglave, Luc Maranget, Paul E. McKenney, Andrea Parri, and | 
 | 	Alan Stern.  2017-2019.  "A Formal Model of Linux-Kernel Memory | 
 | 	Ordering" (backup material for the LWN articles) | 
 | 	https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/LWNLinuxMM/ | 
 |  | 
 |  | 
 | Memory-model tooling | 
 | ==================== | 
 |  | 
 | o	Daniel Jackson. 2002. "Alloy: A Lightweight Object Modelling | 
 | 	Notation". ACM Trans. Softw. Eng. Methodol. 11, 2 (April 2002), | 
 | 	256–290. http://doi.acm.org/10.1145/505145.505149 | 
 |  | 
 | o	Jade Alglave, Luc Maranget, and Michael Tautschnig. 2014. "Herding | 
 | 	Cats: Modelling, Simulation, Testing, and Data Mining for Weak | 
 | 	Memory". ACM Trans. Program. Lang. Syst. 36, 2, Article 7 (July | 
 | 	2014), 7:1–7:74 pages. | 
 |  | 
 | o	Jade Alglave, Patrick Cousot, and Luc Maranget. 2016. "Syntax and | 
 | 	semantics of the weak consistency model specification language | 
 | 	cat". CoRR abs/1608.07531 (2016). https://arxiv.org/abs/1608.07531 | 
 |  | 
 |  | 
 | Memory-model comparisons | 
 | ======================== | 
 |  | 
 | o	Paul E. McKenney, Ulrich Weigand, Andrea Parri, and Boqun | 
 | 	Feng. 2018. "Linux-Kernel Memory Model". (27 September 2018). | 
 | 	http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0124r6.html. |